예제 #1
0
 public bool AddUpdateBankClosureSetup(deposit_bankclosuresetup entity)
 {
     if (entity.BankClosureSetupId > 0)
     {
         var item = _dataContext.deposit_bankclosuresetup.Find(entity.BankClosureSetupId);
         _dataContext.Entry(item).CurrentValues.SetValues(entity);
     }
     else
     {
         _dataContext.deposit_bankclosuresetup.Add(entity);
     }
     return(_dataContext.SaveChanges() > 0);
 }
        public async Task <Deposit_bankClosureSetupRegRespObj> Handle(AddUpdateBankClosureSetupCommand request, CancellationToken cancellationToken)
        {
            try
            {
                deposit_bankclosuresetup currentItem = null;
                if (request.BankClosureSetupId > 0)
                {
                    currentItem = _repo.GetBankClosureSetup(request.BankClosureSetupId);
                    if (currentItem != null)
                    {
                        if (request.ChargeType.Trim().ToLower() == currentItem.ChargeType.Trim().ToLower())
                        {
                            return(new Deposit_bankClosureSetupRegRespObj
                            {
                                Status = new APIResponseStatus
                                {
                                    IsSuccessful = false,
                                    Message = new APIResponseMessage
                                    {
                                        FriendlyMessage = "This item already exists",
                                    }
                                }
                            });
                        }
                    }
                }



                var user = await _serverRequest.UserDataAsync();

                var bankClosureSetup = new deposit_bankclosuresetup
                {
                    BankClosureSetupId      = request.BankClosureSetupId,
                    Structure               = request.Structure,
                    ProductId               = request.ProductId,
                    ClosureChargeApplicable = request.ClosureChargeApplicable,
                    SettlementBalance       = request.SettlementBalance,
                    PresetChart             = request.PresetChart,
                    Active    = true,
                    Deleted   = false,
                    CreatedBy = user.UserName,
                    CreatedOn = DateTime.Now,
                };
                if (request.BankClosureSetupId > 0)
                {
                    bankClosureSetup.UpdatedBy = user.UserName;
                    bankClosureSetup.UpdatedOn = DateTime.Now;
                    bankClosureSetup.CreatedBy = currentItem.CreatedBy;
                    bankClosureSetup.CreatedOn = currentItem.CreatedOn;
                }
                var isDone      = _repo.AddUpdateBankClosureSetup(bankClosureSetup);
                var actionTaken = request.BankClosureSetupId > 0 ? "updated" : "added";
                if (isDone)
                {
                    return(new Deposit_bankClosureSetupRegRespObj
                    {
                        Status = new APIResponseStatus
                        {
                            IsSuccessful = false,
                            Message = new APIResponseMessage
                            {
                                FriendlyMessage = $"Successfully {actionTaken}",
                            }
                        }
                    });
                }
                return(new Deposit_bankClosureSetupRegRespObj
                {
                    Status = new APIResponseStatus
                    {
                        IsSuccessful = false,
                        Message = new APIResponseMessage
                        {
                            FriendlyMessage = "Could not process request",
                        }
                    }
                });
            }
            catch (Exception ex)
            {
                #region Log error to file
                var errorCode = ErrorID.Generate(4);
                _logger.Error($"ErrorID : AddUpdateBankClosureSetupCommandHandler{errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}");
                return(new Deposit_bankClosureSetupRegRespObj
                {
                    Status = new APIResponseStatus
                    {
                        IsSuccessful = false,
                        Message = new APIResponseMessage
                        {
                            FriendlyMessage = "Error occured!! Unable to process item",
                            MessageId = errorCode,
                            TechnicalMessage = $"ErrorID : AddUpdateBankClosureSetupCommandHandler{errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}"
                        }
                    }
                });

                #endregion ;
            }
        }