Example #1
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;
            }
        }
Example #2
0
        /// <summary>
        /// Respository to Business model Mapper
        /// </summary>
        /// <param name="attributes"></param>
        /// <returns></returns>
        private List <AttributesBusinessModel> RepoToBusinessMapper(IEnumerable <DomainModel.DomainModels.Attribute> attributes)
        {
            List <AttributesBusinessModel> attributesBusinessModels = new List <AttributesBusinessModel>();

            foreach (DomainModel.DomainModels.Attribute attr in attributes)
            {
                AttributesBusinessModel attribute = new AttributesBusinessModel();
                attribute.AttributeId          = attr.AttributeId;
                attribute.AttributeCode        = attr.AttributeCode;
                attribute.AttributeName        = attr.AttributeName;
                attribute.AttributeDescription = attr.AttributeDescription;
                attribute.Control        = attr.ControlType.ControlName;
                attribute.RecordStatus   = attr.RecordStatus;
                attribute.AttributeType  = attr.AttributeType;
                attribute.AttributeValue = attr.AdminConfigValues.Where(a => a.AttributeId == attr.AttributeId).Select(a => a.AttributeValue).FirstOrDefault();
                attributesBusinessModels.Add(attribute);
            }
            return(attributesBusinessModels);
        }
Example #3
0
        /// <summary>
        /// To update the projected cash for all clients when attribute value is changed.
        /// </summary>
        /// <param name="attribute"></param>
        private void UpdateProjectedCashForAllClients(AttributesBusinessModel attribute)
        {
            IEnumerable <Client> clientList = _m3pactContext.Client.ToList();

            foreach (Client client in clientList)
            {
                if (client.IsActive == DomainConstants.RecordStatusActive)
                {
                    DepositLogProjectionViewModel depositLogSimpleBusinessDaysViewModel = new DepositLogProjectionViewModel();
                    depositLogSimpleBusinessDaysViewModel = _depositLogRepository.GetProjectedCashForAClient(client.ClientId, Convert.ToInt32(attribute.AttributeValue), DateTime.Today.Month, DateTime.Today.Year);
                    if (depositLogSimpleBusinessDaysViewModel != null)
                    {
                        if (depositLogSimpleBusinessDaysViewModel.Payments != null || depositLogSimpleBusinessDaysViewModel.NumberOfLastWorkingDaysOrWeeks > 0)
                        {
                            _depositLogRepository.SaveProjectedCashOfAClient(client.ClientId, depositLogSimpleBusinessDaysViewModel);
                        }
                    }
                }
            }
        }
 /// <summary>
 /// Business Method to call repository to save the configuration
 /// </summary>
 /// <param name="attribute"></param>
 /// <returns></returns>
 public bool SaveAttributeValue(AttributesViewModel attribute)
 {
     try
     {
         AttributesBusinessModel attributesBusinessModel = new AttributesBusinessModel()
         {
             AttributeCode        = attribute.AttributeCode,
             AttributeDescription = attribute.AttributeDescription,
             AttributeId          = attribute.AttributeId,
             AttributeName        = attribute.AttributeName,
             AttributeType        = attribute.AttributeType,
             AttributeValue       = attribute.AttributeValue,
             Control      = attribute.Control,
             RecordStatus = attribute.RecordStatus,
         };
         _configurationsRepository.SaveAttributeValue(attributesBusinessModel);
         return(true);
     }
     catch (Exception ex)
     {
         _logger.Log(ex, LogLevel.Error, ex.Message);
         return(false);
     }
 }