Example #1
0
        /// <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;
            }
        }
Example #2
0
        /// <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;
            }
        }