/// <summary> /// Saves the BusinessDays /// </summary> /// <param name="businessDaysDTO"></param> /// <returns></returns> public bool SaveBusinessDays(List <BusinessModel.BusinessModels.BusinessDays> businessDaysDTO) { try { List <BusinessDays> businessDays = new List <DomainModel.DomainModels.BusinessDays>(); List <BusinessDays> businessDaysUpdated = new List <DomainModel.DomainModels.BusinessDays>(); foreach (BusinessModel.BusinessModels.BusinessDays businessDayDTO in businessDaysDTO) { BusinessDays businessDay = _m3pactContext.BusinessDays.FirstOrDefault(x => x.MonthId == businessDayDTO.MonthID && x.Year == businessDayDTO.Year); BusinessDays businessDayModel; if (businessDay != null) { businessDayModel = businessDay; businessDaysUpdated.Add(businessDayModel); } else { businessDayModel = new BusinessDays(); businessDayModel.CreatedDate = DateTime.UtcNow; businessDayModel.CreatedBy = userContext.UserId; businessDays.Add(businessDayModel); } businessDayModel.BusinessDays1 = businessDayDTO.NumberOfBusinessDays; businessDayModel.Year = businessDayDTO.Year; businessDayModel.MonthId = businessDayDTO.MonthID; businessDayModel.RecordStatus = businessDayDTO.RecordStatus; businessDayModel.ModifiedBy = userContext.UserId; businessDayModel.ModifiedDate = DateTime.UtcNow;; } if (businessDaysUpdated.Count > 0) { _m3pactContext.BusinessDays.UpdateRange(businessDaysUpdated); } if (businessDays.Count > 0) { _m3pactContext.AddRange(businessDays); } if (businessDaysUpdated.Count > 0 || businessDays.Count > 0) { _m3pactContext.SaveChanges(); } return(true); } catch (Exception ex) { throw ex; } }
/// <summary> /// To save the configuration in Database /// </summary> /// <param name="attribute"></param> /// <returns></returns> public bool SaveAttributeValue(AttributesBusinessModel attribute) { try { AdminConfigValues adminConfig = _m3pactContext.AdminConfigValues.Where(a => a.AttributeId == attribute.AttributeId && a.RecordStatus == DomainConstants.RecordStatusActive).FirstOrDefault(); adminConfig.AttributeValue = attribute.AttributeValue; adminConfig.ModifiedBy = userContext.UserId; adminConfig.ModifiedDate = DateTime.Now; _m3pactContext.Update(adminConfig); List <ClientConfig> clientConfigs = _m3pactContext.ClientConfig.Where(cc => cc.AttributeId == attribute.AttributeId && cc.RecordStatus == DomainConstants.RecordStatusActive).ToList(); clientConfigs.ForEach(cc => cc.RecordStatus = DomainConstants.RecordStatusInactive); _m3pactContext.UpdateRange(clientConfigs); if (clientConfigs.Count > 0) { List <int> clients = _m3pactContext.Client.Select(c => c.ClientId).ToList(); List <ClientConfig> newClientConfigs = new List <ClientConfig>(); foreach (int client in clients) { ClientConfig clientConfig = new ClientConfig(); clientConfig.AttributeId = attribute.AttributeId; clientConfig.AttributeValue = attribute.AttributeValue; clientConfig.ClientId = client; clientConfig.RecordStatus = DomainConstants.RecordStatusActive; clientConfig.CreatedBy = userContext.UserId; clientConfig.CreatedDate = DateTime.Now; clientConfig.ModifiedDate = DateTime.Now; clientConfig.ModifiedBy = userContext.UserId; newClientConfigs.Add(clientConfig); } _m3pactContext.AddRange(newClientConfigs); } int attributeId = _m3pactContext.Attribute.Where(a => a.AttributeCode == DomainConstants.LastEnteredBusinessDays).Select(a => a.AttributeId).FirstOrDefault(); if (attributeId == attribute.AttributeId) { UpdateProjectedCashForAllClients(attribute); } _m3pactContext.SaveChanges(); return(true); } catch (Exception ex) { throw ex; } }