/// <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; } }
/// <summary> /// To active or Inactive payers. /// </summary> /// <param name="payerViewModel"></param> public ValidationViewModel ActivateOrDeactivatePayer(PayerViewModel payerViewModel) { ValidationViewModel validationViewModel = new ValidationViewModel(); try { BusinessModel.BusinessModels.Payer payer = new BusinessModel.BusinessModels.Payer(); payer.PayerCode = payerViewModel.PayerCode; _payerRepository.ActivateOrDeactivatePayer(payer); validationViewModel.Success = true; } catch (Exception ex) { _logger.Log(ex, LogLevel.Error, ex.Message); validationViewModel.Success = false; validationViewModel.IsExceptionOccured = true; validationViewModel.ErrorMessages.Add(BusinessConstants.ERROR_SAVE_DETAILS); } return(validationViewModel); }
/// <summary> /// Saves the Payers /// </summary> /// <param name="payers"></param> /// <returns></returns> public ValidationViewModel SavePayers(List <PayerViewModel> payers) { ValidationViewModel validationViewModel = new ValidationViewModel(); try { if (payers != null && payers.Count > 0) { List <BusinessModel.BusinessModels.Payer> payersDTO = new List <BusinessModel.BusinessModels.Payer>(); BusinessModel.BusinessModels.Payer payerDTO; foreach (PayerViewModel payer in payers) { payerDTO = new BusinessModel.BusinessModels.Payer(); payerDTO.PayerCode = payer.PayerCode.Trim(); payerDTO.PayerName = payer.PayerName.Trim(); payerDTO.PayerDescription = payer.PayerDescription.Trim(); payerDTO.RecordStatus = payer.RecordStatus; payerDTO.ID = payer.ID; payersDTO.Add(payerDTO); } _payerRepository.SavePayers(payersDTO); validationViewModel.Success = true; validationViewModel.SuccessMessage = BusinessConstants.SaveSuccess; } else { validationViewModel.Success = false; } } catch (Exception ex) { _logger.Log(ex, LogLevel.Error, ex.Message); validationViewModel.Success = false; validationViewModel.IsExceptionOccured = true; validationViewModel.ErrorMessages.Add(BusinessConstants.ERROR_SAVE_DETAILS); } return(validationViewModel); }
/// <summary> /// To construct payers dto. /// </summary> /// <param name="payers"></param> /// <returns></returns> public List <BusinessModel.BusinessModels.Payer> ConstructPayerDTO(IEnumerable <DomainModel.DomainModels.Payer> payers) { try { List <BusinessModel.BusinessModels.Payer> payersDTO = new List <BusinessModel.BusinessModels.Payer>(); BusinessModel.BusinessModels.Payer payer; foreach (DomainModel.DomainModels.Payer item in payers) { payer = new BusinessModel.BusinessModels.Payer(); payer.PayerCode = item.PayerCode; payer.PayerName = item.PayerName; payer.PayerDescription = item.PayerDescription; payer.RecordStatus = item.RecordStatus; payer.ID = item.PayerId; payersDTO.Add(payer); } return(payersDTO); } catch (Exception ex) { throw ex; } }
/// <summary> /// Get Active & UnAssigned Payers to a client /// </summary> /// <returns></returns> public List <BusinessModel.BusinessModels.Payer> GetActivePayersToAssignForClient(string clientCode) { try { List <BusinessModel.BusinessModels.Payer> payers = new List <BusinessModel.BusinessModels.Payer>(); string ConnectionString = ConfigurationExtensions.GetConnectionString(_Configuration, "M3PactConnection"); using (SqlConnection sqlConn = new SqlConnection(ConnectionString)) { using (SqlCommand sqlCmd = new SqlCommand(DomainConstants.GetActivePayersToAssign, sqlConn)) { sqlCmd.CommandType = CommandType.StoredProcedure; sqlCmd.Parameters.AddWithValue("@ClientCode", clientCode); sqlConn.Open(); SqlDataReader dr = sqlCmd.ExecuteReader(); while (dr.Read()) { BusinessModel.BusinessModels.Payer payer = new BusinessModel.BusinessModels.Payer(); if (dr["PayerName"] != DBNull.Value) { payer.PayerCode = dr["PayerCode"].ToString(); } if (dr["PayerCode"] != DBNull.Value) { payer.PayerName = dr["PayerName"].ToString(); } payers.Add(payer); } } sqlConn.Close(); } return(payers?.OrderBy(p => p.PayerName)?.ToList()); } catch (Exception ex) { throw ex; } }