Beispiel #1
0
        /// <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;
            }
        }
Beispiel #2
0
        /// <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;
            }
        }
Beispiel #3
0
        /// <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());
            }
        }
Beispiel #4
0
        /// <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);
        }