/// <summary> /// To activate or inactivate client payer /// </summary> /// <param name="clientPayer"></param> public void ActivateOrDeactivateClientPayer(BusinessModel.BusinessModels.ClientPayer clientPayerDTO) { try { UserContext userContext = UserHelper.getUserContext(); ClientPayer clientPayer = _m3pactContext.ClientPayer.FirstOrDefault(x => x.ClientPayerId == clientPayerDTO.ID); if (clientPayer != null) { if (clientPayer.RecordStatus == DomainConstants.RecordStatusActive && clientPayerDTO.RecordStatus == DomainConstants.RecordStatusInactive) { clientPayer.EndDate = DateTime.Now.Date; } else if (clientPayer.RecordStatus == DomainConstants.RecordStatusInactive && clientPayerDTO.RecordStatus == DomainConstants.RecordStatusActive) { clientPayer.EndDate = DateTime.MaxValue.Date; } clientPayer.RecordStatus = clientPayerDTO.RecordStatus; clientPayer.ModifiedDate = DateTime.Now; clientPayer.ModifiedBy = userContext.UserId; _m3pactContext.ClientPayer.Update(clientPayer); _m3pactContext.SaveChanges(); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Save(Insert/Update) Client Payer(s) /// </summary> /// <param name="clientPayersDTO"></param> /// <returns></returns> public bool SaveClientPayers(List <BusinessModel.BusinessModels.ClientPayer> clientPayersDTO) { try { List <ClientPayer> clientPayers = new List <ClientPayer>(); List <ClientPayer> clientPayersUpdated = new List <ClientPayer>(); ClientPayer clientPayerModel; UserContext userContext = UserHelper.getUserContext(); foreach (BusinessModel.BusinessModels.ClientPayer clientPayerDTO in clientPayersDTO) { ClientPayer clientPayer = _m3pactContext.ClientPayer.FirstOrDefault(x => x.ClientPayerId == clientPayerDTO.ID); if (clientPayer != null) { clientPayerModel = clientPayer; if (clientPayerDTO.RecordStatus != DomainConstants.RecordStatusDelete || (clientPayerDTO.RecordStatus == DomainConstants.RecordStatusDelete && _m3pactContext.DepositLog.Where(d => d.ClientPayerId == clientPayer.ClientPayerId).Count() == 0)) { clientPayersUpdated.Add(clientPayerModel); } } else { clientPayerModel = new ClientPayer(); clientPayerModel.StartDate = DomainConstants.MinDate; clientPayerModel.EndDate = DateTime.MaxValue.Date; clientPayerModel.CreatedBy = userContext.UserId; clientPayerModel.CreatedDate = DateTime.Now; clientPayerModel.ClientId = _m3pactContext.Client.Where(c => c.ClientCode == clientPayerDTO.ClientCode).FirstOrDefault().ClientId; clientPayers.Add(clientPayerModel); } clientPayerModel.IsM3feeExempt = clientPayerDTO.IsM3feeExempt; clientPayerModel.PayerId = _m3pactContext.Payer.Where(c => c.PayerCode == clientPayerDTO.Payer.PayerCode).FirstOrDefault().PayerId; clientPayerModel.RecordStatus = clientPayerDTO.RecordStatus; clientPayerModel.ModifiedBy = userContext.UserId; clientPayerModel.ModifiedDate = DateTime.Now; } if (clientPayersUpdated.Count > 0) { _m3pactContext.UpdateRange(clientPayersUpdated); } if (clientPayers.Count > 0) { _m3pactContext.ClientPayer.AddRange(clientPayers); } if (clientPayersUpdated.Count > 0 || clientPayers.Count > 0) { _m3pactContext.SaveChanges(); } return(true); } catch (Exception ex) { throw ex; } }
/// <summary> /// To Save Deposite logs into Database /// </summary> /// <param name="clientDepositLog"></param> public ValidationViewModel SaveClientDepositLogData(DepositLogClientDataViewModel clientDepositLog) { ValidationViewModel response = new ValidationViewModel(); BusinessResponse businessResponse = new BusinessResponse(); try { List <BusinessModel.BusinessModels.ClientPayer> clientPayers = new List <ClientPayer>(); BusinessModel.BusinessModels.DepositLog depositLogDTO = new BusinessModel.BusinessModels.DepositLog(); foreach (PayerDataViewModel payer in clientDepositLog.Payers) { BusinessModel.BusinessModels.ClientPayer clientPayer = new ClientPayer(); clientPayer.Payer = new BusinessModel.BusinessModels.Payer(); clientPayer.Payer.PayerCode = payer.PayerCode; clientPayer.Payer.PayerName = payer.PayerName; clientPayer.DepositLog = new List <BusinessModel.BusinessModels.DepositLog>(); clientPayer.DepositLog.Add(new BusinessModel.BusinessModels.DepositLog { DepositDate = clientDepositLog.Date, Amount = payer.Amount }); clientPayers.Add(clientPayer); } businessResponse.IsSuccess = _depositLogResposiotory.SaveDepositLogs(clientPayers, clientDepositLog.ClientCode, clientDepositLog.SavedLastNumberOfBusinessDays); if (businessResponse.IsSuccess) { businessResponse.Messages.Add(new MessageDTO() { Message = BusinessConstants.DEPOSIT_LOG_SAVE_SUCCESS, MessageType = Infrastructure.Enums.MessageType.Info }); } else { businessResponse.Messages.Add(new MessageDTO() { Message = BusinessConstants.DEPOSIT_LOG_SAVE_FAIL, MessageType = Infrastructure.Enums.MessageType.Error }); } return(businessResponse.ToValidationViewModel()); } catch (Exception ex) { _logger.Log(ex, LogLevel.Error, ex.Message); businessResponse.IsSuccess = false; businessResponse.IsExceptionOccured = true; businessResponse.Messages.Add(new MessageDTO() { Message = BusinessConstants.DEPOSIT_LOG_SAVE_FAIL, MessageType = Infrastructure.Enums.MessageType.Error }); return(businessResponse.ToValidationViewModel()); } }
/// <summary> /// To activate or inactivate Client payer /// </summary> /// <param name="clientPayer"></param> public ValidationViewModel ActivateOrDeactivateClientPayer(ClientPayerViewModel clientPayer) { ValidationViewModel validationViewModel = new ValidationViewModel(); try { ClientPayer clientPayerDTO = new ClientPayer() { ID = clientPayer.ID, RecordStatus = clientPayer.RecordStatus }; _payerRepository.ActivateOrDeactivateClientPayer(clientPayerDTO); 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); }