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)); }