Esempio n. 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;
            }
        }
Esempio n. 2
0
 /// <summary>
 /// To activate or inactivate payer and clientpayer
 /// </summary>
 /// <param name="payer"></param>
 public void ActivateOrDeactivatePayer(BusinessModel.BusinessModels.Payer payer)
 {
     try
     {
         UserContext userContext = UserHelper.getUserContext();
         DomainModel.DomainModels.Payer payerModel = (from p in _m3pactContext.Payer
                                                      where p.PayerCode == payer.PayerCode
                                                      select p
                                                      ).ToList().FirstOrDefault();
         if (payerModel != null)
         {
             if (payerModel.RecordStatus == DomainConstants.RecordStatusActive)
             {
                 List <ClientPayer> clientPayers = _m3pactContext.ClientPayer.Where(cp => cp.PayerId == payerModel.PayerId && cp.RecordStatus == DomainConstants.RecordStatusActive)?.ToList();
                 foreach (ClientPayer cp in clientPayers)
                 {
                     cp.RecordStatus = DomainConstants.RecordStatusInactive;
                     cp.EndDate      = DateTime.Now.Date;
                 }
                 payerModel.RecordStatus = DomainConstants.RecordStatusInactive;
                 payerModel.EndDate      = DateTime.Now.Date;
                 payerModel.ModifiedDate = DateTime.Now;
                 payerModel.ModifiedBy   = userContext.UserId;
                 _m3pactContext.Update(payerModel);
                 _m3pactContext.UpdateRange(clientPayers);
             }
             else
             {
                 payerModel.RecordStatus = DomainConstants.RecordStatusActive;
                 payerModel.EndDate      = DateTime.MaxValue.Date;
                 payerModel.ModifiedDate = DateTime.Now;
                 payerModel.ModifiedBy   = userContext.UserId;
                 _m3pactContext.Update(payerModel);
             }
             _m3pactContext.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }