Project

General

Profile

Feature #290 » 3-CsFile.cs

Junaid M, 02/19/2024 05:46 PM

 
???File Path
==========
***...\Src\Travel\MasterGrouping.cs




???Check the points
==================



// ??? IMPORT:- Add the items top - Duplcation Avoid
using System;
using System.Data;
using System.Collections.Generic;
using Npgsql;
using NpgsqlTypes;

using TAAS.Db;
using TAAS.Models;
using TAAS.Models.Travel;
using TAAS.Helpers;


// ??? CLASS ATTRIBUTES:- The code past top of the class(Attributes) - Duplcation Avoid
public GlobalFunctions insGlobalFunctions = new GlobalFunctions();
DbService insDbService = new();


public List<MdlBaseIntId> FnGetAllMasterGroupingBaseData()
{
List<MdlBaseIntId> lstMdlMasterGroupingBaseIntId = new List<MdlBaseIntId>();

// Get Data from DB
DataSet objDataSet = this.insDbService.FnExcecuteSqlCommand("SELECT * FROM fn_get_all_master_grouping()");
if (objDataSet != null)
{
foreach (DataRow objRecord in objDataSet.Tables[0].Rows)
{
MdlBaseIntId mdlBaseIntId = new MdlBaseIntId();

mdlBaseIntId.binPkId = (DBNull.Value != objRecord["pk_master_grouping_id"]) ? (long)Convert.ToUInt64(objRecord["pk_master_grouping_id"]) : mdlBaseIntId.binPkId;
mdlBaseIntId.strCode = (DBNull.Value != objRecord[""]) ? Convert.ToString(objRecord[""]) : mdlBaseIntId.strCode;
mdlBaseIntId.strName = (DBNull.Value != objRecord["vhr_grouping_name"]) ? Convert.ToString(objRecord["vhr_grouping_name"]) : mdlBaseIntId.strName;
lstMdlMasterGroupingBaseIntId.Add(mdlBaseIntId);
}
}

return lstMdlMasterGroupingBaseIntId;
}


public List<MdlMasterGrouping> FnGetAllMasterGroupingWithActionUser()
{
List<MdlMasterGrouping> lstMdlMasterGrouping = new List<MdlMasterGrouping>();
// Get Data from DB
DataSet objDataSet = this.insDbService.FnExcecuteSqlCommand("SELECT * FROM fn_get_all_master_grouping_with_action_user()");
if (objDataSet != null)
{
foreach (DataRow objRecord in objDataSet.Tables[0].Rows)
{
MdlMasterGrouping mdlMasterGrouping = new MdlMasterGrouping();

mdlMasterGrouping.binMasterGroupingId = (DBNull.Value != objRecord["pk_master_grouping_id"]) ? (long)Convert.ToInt64(objRecord["pk_master_grouping_id"]) : mdlMasterGrouping.binMasterGroupingId;

mdlMasterGrouping.strGroupingName = (DBNull.Value != objRecord["vhr_grouping_name"]) ? Convert.ToString(objRecord["vhr_grouping_name"]) : mdlMasterGrouping.strGroupingName;
mdlMasterGrouping.sinGroupingSysType = (DBNull.Value != objRecord["sin_grouping_sys_type"]) ? (short)Convert.ToInt16(objRecord["sin_grouping_sys_type"]) : mdlMasterGrouping.sinGroupingSysType;
mdlMasterGrouping.sinGroupingGui = (DBNull.Value != objRecord["sin_grouping_gui"]) ? (short)Convert.ToInt16(objRecord["sin_grouping_gui"]) : mdlMasterGrouping.sinGroupingGui;
mdlMasterGrouping.strRemarks = (DBNull.Value != objRecord["txt_remarks"]) ? Convert.ToString(objRecord["txt_remarks"]) : mdlMasterGrouping.strRemarks;

mdlMasterGrouping.sinRecordStatus = (DBNull.Value != objRecord["sin_record_status"]) ? (short)Convert.ToInt16(objRecord["sin_record_status"]) : mdlMasterGrouping.sinRecordStatus;
mdlMasterGrouping.sinOrder = (DBNull.Value != objRecord["sin_order"]) ? (short)Convert.ToInt16(objRecord["sin_order"]) : mdlMasterGrouping.sinOrder;

mdlMasterGrouping.intSysActionId = (DBNull.Value != objRecord["int_sys_action_id"]) ? (int)Convert.ToInt32(objRecord["int_sys_action_id"]) : mdlMasterGrouping.intSysActionId;
mdlMasterGrouping.binCreatedUserId = (DBNull.Value != objRecord["fk_created_user_id"]) ? (long)Convert.ToInt64(objRecord["fk_created_user_id"]) : mdlMasterGrouping.binCreatedUserId;
mdlMasterGrouping.strCreatedUser = this.insDbService.FnGetValue(objRecord["vhr_created_user"], mdlMasterGrouping.strCreatedUser);
mdlMasterGrouping.dtmCreated = (DBNull.Value != objRecord["dtm_created"]) ? (DateTime)Convert.ToDateTime(objRecord["dtm_created"]) : mdlMasterGrouping.dtmCreated;
mdlMasterGrouping.binLastModifiedUserId = (DBNull.Value != objRecord["fk_last_modified_user_id"]) ? (long)Convert.ToInt64(objRecord["fk_last_modified_user_id"]) : mdlMasterGrouping.binLastModifiedUserId;
mdlMasterGrouping.strLastModifiedUser = this.insDbService.FnGetValue(objRecord["vhr_last_modified_user"], mdlMasterGrouping.strLastModifiedUser);
mdlMasterGrouping.dtmLastModified = (DBNull.Value != objRecord["dtm_last_modified"]) ? (DateTime)Convert.ToDateTime(objRecord["dtm_last_modified"]) : mdlMasterGrouping.dtmLastModified;
mdlMasterGrouping.binDeletedUserId = (DBNull.Value != objRecord["fk_deleted_user_id"]) ? (long)Convert.ToInt64(objRecord["fk_deleted_user_id"]) : mdlMasterGrouping.binDeletedUserId;
mdlMasterGrouping.strDeletedUser = this.insDbService.FnGetValue(objRecord["vhr_deleted_user"], mdlMasterGrouping.strDeletedUser);
mdlMasterGrouping.dtmDeleted = (DBNull.Value != objRecord["dtm_deleted"]) ? (DateTime)Convert.ToDateTime(objRecord["dtm_deleted"]) : mdlMasterGrouping.dtmDeleted;

lstMdlMasterGrouping.Add(mdlMasterGrouping);
}
}

return lstMdlMasterGrouping;
}


public MdlResMasterGrouping FnInsertOrUpdateMasterGrouping(MdlReqMasterGrouping mdlReqMasterGrouping)
{
// *** Input Validation INSERT and UPDATE Case[not duplicate model validation]
// ??? Duplication Checking in DB FUCTION(Insert and Update) - CODE, NAME [, other unique fields] Already exists
// ??? Count Exced or other checking License related in DB FUCTION(Insert)
// ??? UPDATE Check already update another users in DB FUCTION(Update and Delete)

// Set Create or modified User in DB FUCTION(Insert, Update and Delete)
if (mdlReqMasterGrouping.mdlMasterGrouping.binMasterGroupingId == 0)
{
mdlReqMasterGrouping.mdlMasterGrouping.intSysActionId = 0;
mdlReqMasterGrouping.mdlMasterGrouping.binCreatedUserId = mdlReqMasterGrouping.linLoginUserId;
mdlReqMasterGrouping.mdlMasterGrouping.strCreatedUser = mdlReqMasterGrouping.strLoginUserName;
mdlReqMasterGrouping.mdlMasterGrouping.dtmCreated = mdlReqMasterGrouping.dtmCurrentDateTime;
}
else {
mdlReqMasterGrouping.mdlMasterGrouping.binLastModifiedUserId = mdlReqMasterGrouping.linLoginUserId;
mdlReqMasterGrouping.mdlMasterGrouping.strLastModifiedUser = mdlReqMasterGrouping.strLoginUserName;
mdlReqMasterGrouping.mdlMasterGrouping.dtmLastModified = mdlReqMasterGrouping.dtmCurrentDateTime;
}

// DB Actions
NpgsqlParameter[] lstSqlParameter = {
new NpgsqlParameter("mdlMasterGrouping", NpgsqlDbType.Jsonb) { Value = mdlReqMasterGrouping.mdlMasterGrouping, DataTypeName = "jsnMasterGrouping"},
new NpgsqlParameter("jsnSqlRes", NpgsqlDbType.Json) { DataTypeName = "jsnSqlRes", Direction = ParameterDirection.Output }
};
MdlDbResponse mdlDbResponse = this.insDbService.FnExcecuteOutSqlCommand("CALL sp_insert_or_update_masterGrouping(:mdlMasterGrouping, NULL)", lstSqlParameter);
// DB Error
if (mdlDbResponse.sinSqlCustomStatus != 1)
{
if (mdlDbResponse.strSqlCustomErrorType == "DATABASE_ERROR")
{
throw (new TaasDatabaseException(this.insGlobalFunctions.FnGetExceptionResponseString(mdlDbResponse.strSqlCustomMessage, "MASTERGROUPING.CS#004", mdlDbResponse.strSqlSysMessage)));
}
else if (mdlDbResponse.strSqlCustomErrorType == "DATABASE_VALIDATION_ERROR")
{
throw (new TaasDatabaseValidationException(this.insGlobalFunctions.FnGetExceptionResponseString(mdlDbResponse.strSqlCustomMessage, "MASTERGROUPING.CS#002", mdlDbResponse.strSqlSysMessage)));
}
else if (mdlDbResponse.strSqlCustomErrorType == "DATABASE_SYSTEM_ERROR")
{
throw (new TaasDatabaseException(this.insGlobalFunctions.FnGetExceptionResponseString(mdlDbResponse.strSqlCustomMessage, "MASTERGROUPING.CS#003", mdlDbResponse.strSqlSysMessage)));
}
}

// Saved
MdlResMasterGrouping mdlResMasterGrouping = new MdlResMasterGrouping();
mdlResMasterGrouping.mdlMasterGrouping = mdlMasterGroupingReq.mdlMasterGrouping;
if (mdlReqMasterGrouping.mdlMasterGrouping.binMasterGroupingId == 0)
{
mdlResMasterGrouping.mdlMasterGrouping.binMasterGroupingId = mdlDbResponse.binSqlPk ?? 0;
mdlResMasterGrouping.mdlMasterGrouping.dtmCreated = mdlDbResponse.dtmCurrent;
}
else
{
mdlResMasterGrouping.mdlMasterGrouping.intSysActionId += 1;
mdlResMasterGrouping.mdlMasterGrouping.dtmLastModified = mdlDbResponse.dtmCurrent;
}
mdlResMasterGrouping.sinStatus = 1;
mdlResMasterGrouping.strStatusCode = "SUCCESS";
mdlResMasterGrouping.strMessage = "MASTERGROUPING has been Saved.";
return mdlResMasterGrouping;
}


public MdlResBaseIntId FnDeleteMasterGrouping(MdlReqBaseIntId mdlReqMasterGroupingBaseIntId)
{
// *** Input Validation DELETE Case[not duplicate model validation]
// ??? FOREIGN KEY REFERENCES Ching in DB FUCTION(Delete)
// ??? UPDATE Check already update another users in DB FUCTION(Update and Delete)
// ??? Set Create or modified User in DB FUCTION(Insert, Update and Delete)

// DB Actions
NpgsqlParameter[] lstSqlParameter = {
new NpgsqlParameter("binMasterGroupingId", NpgsqlDbType.Bigint) { Value = mdlReqMasterGroupingBaseIntId.mdlBaseIntId.binPkId, DataTypeName = "binMasterGroupingId"},
new NpgsqlParameter("intSysActionId", NpgsqlDbType.Integer) { Value = mdlReqMasterGroupingBaseIntId.mdlBaseIntId.binCustomValue, DataTypeName = "intSysActionId"},
new NpgsqlParameter("binDeletedUserId", NpgsqlDbType.Bigint) { Value = mdlReqMasterGroupingBaseIntId.linLoginUserId, DataTypeName = "binDeletedUserId"},
new NpgsqlParameter("jsnSqlRes", NpgsqlDbType.Json) { DataTypeName = "jsnSqlRes", Direction = ParameterDirection.Output }
};
MdlDbResponse mdlDbResponse = this.insDbService.FnExcecuteOutSqlCommand("CALL sp_delete_masterGrouping(:binMasterGroupingId, :intSysActionId, :binDeletedUserId, NULL)", lstSqlParameter);
// DB Error
if (mdlDbResponse.sinSqlCustomStatus != 1)
{
if (mdlDbResponse.strSqlCustomErrorType == "DATABASE_ERROR")
{
throw (new TaasDatabaseException(this.insGlobalFunctions.FnGetExceptionResponseString(mdlDbResponse.strSqlCustomMessage, "MASTERGROUPING.CS#004", mdlDbResponse.strSqlSysMessage)));
}
else if (mdlDbResponse.strSqlCustomErrorType == "DATABASE_VALIDATION_ERROR")
{
throw (new TaasDatabaseValidationException(this.insGlobalFunctions.FnGetExceptionResponseString(mdlDbResponse.strSqlCustomMessage, "MASTERGROUPING.CS#005", mdlDbResponse.strSqlSysMessage)));
}
else if (mdlDbResponse.strSqlCustomErrorType == "DATABASE_SYSTEM_ERROR")
{
throw (new TaasDatabaseException(this.insGlobalFunctions.FnGetExceptionResponseString(mdlDbResponse.strSqlCustomMessage, "MASTERGROUPING.CS#006", mdlDbResponse.strSqlSysMessage)));
}
}

// Deleted
MdlResBaseIntId mdlResMasterGroupingIntId = new MdlResBaseIntId();

mdlResMasterGroupingIntId.mdlBaseIntId = mdlReqMasterGroupingBaseIntId.mdlBaseIntId;
mdlResMasterGroupingIntId.sinStatus = 1;
mdlResMasterGroupingIntId.strStatusCode = "SUCCESS";
mdlResMasterGroupingIntId.strMessage = "MASTERGROUPING has been deleted.";

return mdlResMasterGroupingIntId;
}

(3-3/10)