Пример #1
0
        /// <summary>
        /// Saves the Payers
        /// </summary>
        /// <param name="payersDTO"></param>
        /// <returns></returns>
        public bool SavePayers(List <BusinessModel.BusinessModels.Payer> payersDTO)
        {
            try
            {
                List <DomainModel.DomainModels.Payer> payers        = new List <DomainModel.DomainModels.Payer>();
                List <DomainModel.DomainModels.Payer> payersUpdated = new List <DomainModel.DomainModels.Payer>();
                foreach (BusinessModel.BusinessModels.Payer payerDTO in payersDTO)
                {
                    DomainModel.DomainModels.Payer payerModel;
                    DomainModel.DomainModels.Payer payer = _m3pactContext.Payer.FirstOrDefault(x => x.PayerId == payerDTO.ID);
                    if (payer != null)
                    {
                        payerModel = payer;
                        payersUpdated.Add(payerModel);
                    }
                    else
                    {
                        payerModel             = new DomainModel.DomainModels.Payer();
                        payerModel.StartDate   = DomainConstants.MinDate;
                        payerModel.EndDate     = DateTime.MaxValue.Date;
                        payerModel.CreatedBy   = userContext.UserId;
                        payerModel.CreatedDate = DateTime.UtcNow;;
                        payers.Add(payerModel);
                    }
                    payerModel.PayerCode        = payerDTO.PayerCode;
                    payerModel.PayerName        = payerDTO.PayerName;
                    payerModel.PayerDescription = payerDTO.PayerDescription;
                    payerModel.RecordStatus     = payerDTO.RecordStatus;
                    payerModel.ModifiedBy       = userContext.UserId;
                    payerModel.ModifiedDate     = DateTime.UtcNow;
                }
                if (payersUpdated.Count > 0)
                {
                    _m3pactContext.UpdateRange(payersUpdated);
                }
                if (payers.Count > 0)
                {
                    _m3pactContext.Payer.AddRange(payers);
                }

                if (payersUpdated.Count > 0 || payers.Count > 0)
                {
                    _m3pactContext.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #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;
            }
        }
Пример #3
0
        /// <summary>
        /// To activate or inactivate sites
        /// </summary>
        /// <param name="site"></param>
        /// <returns></returns>
        public bool ActivateOrInactivateSites(BusinessModel.BusinessModels.Site site)
        {
            try
            {
                DomainModel.DomainModels.Site repoSite = _m3pactContext.Site.Where(s => s.SiteId == site.SiteId).ToList().FirstOrDefault();

                if (repoSite != null)
                {
                    if (repoSite.RecordStatus == DomainConstants.RecordStatusActive)
                    {
                        repoSite.RecordStatus = DomainConstants.RecordStatusInactive;

                        List <Client> clients = _m3pactContext.Client.Where(c => c.SiteId == repoSite.SiteId && c.IsActive == DomainConstants.RecordStatusActive)?.ToList();
                        if (clients != null && clients.Count > 0)
                        {
                            foreach (Client c in clients)
                            {
                                c.RecordStatus = DomainConstants.RecordStatusInactive;
                                c.IsActive     = DomainConstants.RecordStatusInactive;
                            }
                            _m3pactContext.UpdateRange(clients);
                        }
                    }
                    else
                    {
                        repoSite.RecordStatus = DomainConstants.RecordStatusActive;
                    }

                    _m3pactContext.Update(repoSite);
                    _m3pactContext.SaveChanges();

                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #4
0
        /// <summary>
        /// Activating or InActivating systems
        /// </summary>
        /// <param name="system"></param>
        /// <returns></returns>
        public bool ActivateOrInactivateSystems(BusinessModel.Admin.System system)
        {
            try
            {
                DomainModel.DomainModels.System systemDTO = _m3pactContext.System.FirstOrDefault(s => s.SystemCode == system.SystemCode);

                if (systemDTO != null)
                {
                    if (systemDTO.RecordStatus == DomainConstants.RecordStatusActive)
                    {
                        systemDTO.RecordStatus = DomainConstants.RecordStatusInactive;

                        List <Client> clients = _m3pactContext.Client.Where(c => c.SystemId == systemDTO.SystemId && c.IsActive == DomainConstants.RecordStatusActive).ToList();

                        if (clients != null && clients.Count > 0)
                        {
                            foreach (Client c in clients)
                            {
                                c.RecordStatus = DomainConstants.RecordStatusInactive;
                                c.IsActive     = DomainConstants.RecordStatusInactive;
                            }
                            _m3pactContext.UpdateRange(clients);
                        }
                        _m3pactContext.Update(systemDTO);
                    }
                    else
                    {
                        systemDTO.RecordStatus = DomainConstants.RecordStatusActive;
                        _m3pactContext.Update(systemDTO);
                    }

                    _m3pactContext.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }