예제 #1
0
        public IActionResult Edit(Int64 Id, SettlementRuleViewModel rule)
        {
            SettlementRuleViewModel viewModel = new SettlementRuleViewModel();

            using (var transaction = _unitOfWork.MTDBContext.Database.BeginTransaction())
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        if (rule.Frequency <= 0)
                        {
                            viewModel.MessageText = Notification.Show("Frequency must be grater than 0", "Info", type: ToastType.Info);
                            viewModel             = InitializeData(viewModel);
                            return(View(viewModel));
                        }
                        SettlementRule oldRule = _unitOfWork.SettlementRuleRepo.GetById(Id);
                        oldRule.MerchantId       = rule.MerchantId;
                        oldRule.TerminalId       = rule.TerminalId;
                        oldRule.Description      = rule.Description;
                        oldRule.SettlementType   = rule.SettlementType;
                        oldRule.Frequency        = rule.Frequency;
                        oldRule.CommissionEnable = rule.CommissionEnable;
                        oldRule.Commission       = rule.CommissionEnable ? rule.Commission : null;
                        oldRule.VATEnable        = rule.VATEnable;
                        oldRule.VATPercentage    = rule.VATEnable ? rule.VATPercentage : null;
                        oldRule.UpdatedBy        = 1;
                        oldRule.UpdatedDate      = Convert.ToDateTime(DateTime.Now);
                        _unitOfWork.SettlementRuleRepo.Edit(oldRule);
                        _unitOfWork.Save();
                        transaction.Commit();
                        viewModel.MessageText = Notification.Show(CustomMessage.UpdateMessage("Settlement Rule"), "Success", type: ToastType.Success);
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        viewModel.MessageText = Notification.Show(CustomMessage.UpdateErrorMessage("Settlement Rule"), "Failed", type: ToastType.Error);
                    }
                }
            }
            viewModel = InitializeData(viewModel);
            return(View(viewModel));
        }