//function to map SQL parameters to object properties private void MapResourceDOResourceDetails(long?TimeZone, DataTable objDataTable, out List <DOADM_ResourceDetails> lstDOADM_ResourceDetails) { lstDOADM_ResourceDetails = new List <DOADM_ResourceDetails>(); foreach (DataRow dr in objDataTable.Rows) { DOADM_ResourceDetails objDOADM_ResourceDetails = new DOADM_ResourceDetails(); if (dr.Table.Columns.Contains("ADM_ResourceDetailsId")) { if (!DBNull.Value.Equals(dr["ADM_ResourceDetailsId"])) { objDOADM_ResourceDetails.ADM_ResourceDetailsId = (long)dr["ADM_ResourceDetailsId"]; } } if (dr.Table.Columns.Contains("LockedByRef")) { if (!DBNull.Value.Equals(dr["LockedByRef"])) { objDOADM_ResourceDetails.LockedByRef = (long)dr["LockedByRef"]; } } if (dr.Table.Columns.Contains("UTCLockedOn")) { if (!DBNull.Value.Equals(dr["UTCLockedOn"])) { objDOADM_ResourceDetails.UTCLockedOn = ZoneLookupUI.ConvertToTimeZone(dr["UTCLockedOn"].ToDateTime(), TimeZone); } } if (dr.Table.Columns.Contains("ResourceName")) { if (!DBNull.Value.Equals(dr["ResourceName"])) { objDOADM_ResourceDetails.ResourceName = dr["ResourceName"].ToString(); } } if (dr.Table.Columns.Contains("ResourceDescription")) { if (!DBNull.Value.Equals(dr["ResourceDescription"])) { objDOADM_ResourceDetails.ResourceDescription = dr["ResourceDescription"].ToString(); } } if (dr.Table.Columns.Contains("ResourceLinkLocation")) { if (!DBNull.Value.Equals(dr["ResourceLinkLocation"])) { objDOADM_ResourceDetails.ResourceLinkLocation = dr["ResourceLinkLocation"].ToString(); } } if (dr.Table.Columns.Contains("ResourceEffectiveDate")) { if (!DBNull.Value.Equals(dr["ResourceEffectiveDate"])) { objDOADM_ResourceDetails.ResourceEffectiveDate = Convert.ToDateTime(dr["ResourceEffectiveDate"]); } } if (dr.Table.Columns.Contains("ResourceInactivationDate")) { if (!DBNull.Value.Equals(dr["ResourceInactivationDate"])) { objDOADM_ResourceDetails.ResourceInactivationDate = Convert.ToDateTime(dr["ResourceInactivationDate"]); } } if (dr.Table.Columns.Contains("CMN_DepartmentRef")) { if (!DBNull.Value.Equals(dr["CMN_DepartmentRef"])) { objDOADM_ResourceDetails.CMN_DepartmentRef = (long)dr["CMN_DepartmentRef"]; } } if (dr.Table.Columns.Contains("IsActive")) { if (!DBNull.Value.Equals(dr["IsActive"])) { objDOADM_ResourceDetails.IsActive = Convert.ToBoolean(dr["IsActive"]); } } if (dr.Table.Columns.Contains("UTCCreatedOn")) { if (!DBNull.Value.Equals(dr["UTCCreatedOn"])) { objDOADM_ResourceDetails.UTCCreatedOn = ZoneLookupUI.ConvertToTimeZone(dr["UTCCreatedOn"].ToDateTime(), TimeZone); } } if (dr.Table.Columns.Contains("CreatedByRef")) { if (!DBNull.Value.Equals(dr["CreatedByRef"])) { objDOADM_ResourceDetails.CreatedByRef = (long)dr["CreatedByRef"]; } } if (dr.Table.Columns.Contains("UTCLastUpdatedOn")) { if (!DBNull.Value.Equals(dr["UTCLastUpdatedOn"])) { objDOADM_ResourceDetails.UTCLastUpdatedOn = ZoneLookupUI.ConvertToTimeZone(dr["UTCLastUpdatedOn"].ToDateTime(), TimeZone); } } if (dr.Table.Columns.Contains("LastUpdatedByRef")) { if (!DBNull.Value.Equals(dr["LastUpdatedByRef"])) { objDOADM_ResourceDetails.LastUpdatedByRef = (long)dr["LastUpdatedByRef"]; } } //Ref key names if (dr.Table.Columns.Contains("CreatedByName")) { if (!DBNull.Value.Equals(dr["CreatedByName"])) { objDOADM_ResourceDetails.CreatedByName = dr["CreatedByName"].ToString(); } } if (dr.Table.Columns.Contains("CMN_DepartmentValue")) { if (!DBNull.Value.Equals(dr["CMN_DepartmentValue"])) { objDOADM_ResourceDetails.CMN_DepartmentValue = dr["CMN_DepartmentValue"].ToString(); } } if (dr.Table.Columns.Contains("LockedByName")) { if (!DBNull.Value.Equals(dr["LockedByName"])) { objDOADM_ResourceDetails.LockedByName = dr["LockedByName"].ToString(); } } if (dr.Table.Columns.Contains("LastUpdatedByName")) { if (!DBNull.Value.Equals(dr["LastUpdatedByName"])) { objDOADM_ResourceDetails.LastUpdatedByName = dr["LastUpdatedByName"].ToString(); } } lstDOADM_ResourceDetails.Add(objDOADM_ResourceDetails); //sort list by resource names lstDOADM_ResourceDetails = lstDOADM_ResourceDetails.OrderBy(x => x.ResourceName).ToList(); } }
public ActionResult AddWorkQueuesToSession(DOADM_SkillWorkQueuesCorrelation objDOADM_SkillWorkQueuesCorrelation, long lDiscrepancyCatLkup = 0, long lPreviousWorkQueue = 0, int mode = 0) { long?TimeZone = currentUser.ADM_UserPreference.TimezoneLkup != null ? currentUser.ADM_UserPreference.TimezoneLkup : (long)DefaultTimeZone.CentralStandardTime; List <DOADM_SkillWorkQueuesCorrelation> lstDOADM_SkillWorkQueuesCorrelation = new List <DOADM_SkillWorkQueuesCorrelation>(); try { if (Session[ConstantTexts.SkillWorkQueueSessionKey] != null) { lstDOADM_SkillWorkQueuesCorrelation = Session[ConstantTexts.SkillWorkQueueSessionKey] as List <DOADM_SkillWorkQueuesCorrelation>; } switch (mode) { case 0: //Add new WQ to the list if (lstDOADM_SkillWorkQueuesCorrelation.Where(xx => xx.WorkQueuesLkup == objDOADM_SkillWorkQueuesCorrelation.WorkQueuesLkup).Count() == 0) { objDOADM_SkillWorkQueuesCorrelation.IsActive = true; objDOADM_SkillWorkQueuesCorrelation.CreatedByRef = currentUser.ADM_UserMasterId; objDOADM_SkillWorkQueuesCorrelation.CreatedByName = currentUser.FullName; objDOADM_SkillWorkQueuesCorrelation.UTCCreatedOn = ZoneLookupUI.ConvertToTimeZone(DateTime.UtcNow, TimeZone); objDOADM_SkillWorkQueuesCorrelation.LastUpdatedByRef = currentUser.ADM_UserMasterId; objDOADM_SkillWorkQueuesCorrelation.LastUpdatedByName = currentUser.FullName; objDOADM_SkillWorkQueuesCorrelation.UTCLastUpdatedOn = ZoneLookupUI.ConvertToTimeZone(DateTime.UtcNow, TimeZone); lstDOADM_SkillWorkQueuesCorrelation.Add(objDOADM_SkillWorkQueuesCorrelation); } else { objDOADM_SkillWorkQueuesCorrelation = lstDOADM_SkillWorkQueuesCorrelation.Where(xx => xx.WorkQueuesLkup == objDOADM_SkillWorkQueuesCorrelation.WorkQueuesLkup).FirstOrDefault(); objDOADM_SkillWorkQueuesCorrelation.IsActive = true; objDOADM_SkillWorkQueuesCorrelation.LastUpdatedByRef = currentUser.ADM_UserMasterId; objDOADM_SkillWorkQueuesCorrelation.LastUpdatedByName = currentUser.FullName; objDOADM_SkillWorkQueuesCorrelation.UTCLastUpdatedOn = ZoneLookupUI.ConvertToTimeZone(DateTime.UtcNow, TimeZone); } break; case 1: //delete work queue from added list if (lstDOADM_SkillWorkQueuesCorrelation.Where(xx => xx.WorkQueuesLkup == objDOADM_SkillWorkQueuesCorrelation.WorkQueuesLkup).Count() > 0) { objDOADM_SkillWorkQueuesCorrelation = lstDOADM_SkillWorkQueuesCorrelation.Where(xx => xx.WorkQueuesLkup == objDOADM_SkillWorkQueuesCorrelation.WorkQueuesLkup).FirstOrDefault(); objDOADM_SkillWorkQueuesCorrelation.LastUpdatedByRef = currentUser.ADM_UserMasterId; objDOADM_SkillWorkQueuesCorrelation.LastUpdatedByName = currentUser.FullName; objDOADM_SkillWorkQueuesCorrelation.UTCLastUpdatedOn = ZoneLookupUI.ConvertToTimeZone(DateTime.UtcNow, TimeZone); objDOADM_SkillWorkQueuesCorrelation.IsActive = false; } break; case 2: //update existing work Queue long NewWorkQueuesLkup = objDOADM_SkillWorkQueuesCorrelation.WorkQueuesLkup; objDOADM_SkillWorkQueuesCorrelation = lstDOADM_SkillWorkQueuesCorrelation.Where(x => x.WorkQueuesLkup == lPreviousWorkQueue).FirstOrDefault(); if (objDOADM_SkillWorkQueuesCorrelation.ADM_SkillsMasterRef == 0) //updating a queue for new record { objDOADM_SkillWorkQueuesCorrelation.CreatedByName = currentUser.FullName; objDOADM_SkillWorkQueuesCorrelation.CreatedByRef = currentUser.ADM_UserMasterId; } objDOADM_SkillWorkQueuesCorrelation.LastUpdatedByName = currentUser.FullName; objDOADM_SkillWorkQueuesCorrelation.LastUpdatedByRef = currentUser.ADM_UserMasterId; objDOADM_SkillWorkQueuesCorrelation.UTCLastUpdatedOn = ZoneLookupUI.ConvertToTimeZone(DateTime.UtcNow, TimeZone); objDOADM_SkillWorkQueuesCorrelation.IsActive = true; objDOADM_SkillWorkQueuesCorrelation.WorkQueuesLkup = NewWorkQueuesLkup; break; case 3: //removing all queues from session foreach (var item in lstDOADM_SkillWorkQueuesCorrelation) { item.LastUpdatedByName = currentUser.FullName; item.LastUpdatedByRef = currentUser.ADM_UserMasterId; item.UTCLastUpdatedOn = ZoneLookupUI.ConvertToTimeZone(DateTime.UtcNow, TimeZone); item.IsActive = false; } break; } List <DOCMN_LookupMasterCorrelations> lstDOCMN_LookupMaster = CacheUtility.GetAllLookupMasterCorrelationFromCache((long)LookupTypesCorrelation.DiscripancyCategoryVQueue, lDiscrepancyCatLkup); lstDOCMN_LookupMaster = lstDOCMN_LookupMaster.Where(x => x.CMN_LookupMasterParentRef == lDiscrepancyCatLkup).ToList(); ViewBag.WorkQueues = lstDOCMN_LookupMaster; Session[ConstantTexts.SkillWorkQueueSessionKey] = lstDOADM_SkillWorkQueuesCorrelation; return(PartialView("_WorkQueue", lstDOADM_SkillWorkQueuesCorrelation.Where(xx => xx.IsActive == true).ToList())); } catch (Exception ex) { BLCommon.LogError(currentUser.ADM_UserMasterId, MethodBase.GetCurrentMethod().Name, (long)ErrorModuleName.ManageSkills, (long)ExceptionTypes.Uncategorized, ex.ToString(), ex.ToString()); return(RedirectToAction("Maintenance", "Error", routeValues: ex.ToString())); } }