private ActionResult SavePayment(EnumPaymentType paymentType, TPayment paymentVM, FormCollection formCollection, bool isDelete) { string Message = string.Empty; bool Success = true; try { _tPaymentRepository.DbContext.BeginTransaction(); //check first TPayment payment = _tPaymentRepository.Get(formCollection["Id"]); if (!isDelete) { bool isEdit = false; if (payment == null) { isEdit = false; //if payment = new TPayment(); payment.SetAssignedIdTo(Guid.NewGuid().ToString()); payment.CreatedDate = DateTime.Now; payment.CreatedBy = User.Identity.Name; payment.DataStatus = Enums.EnumDataStatus.New.ToString(); } else { isEdit = true; payment.ModifiedDate = DateTime.Now; payment.ModifiedBy = User.Identity.Name; payment.DataStatus = Enums.EnumDataStatus.Updated.ToString(); } payment.PaymentDate = paymentVM.PaymentDate; payment.PaymentDesc = paymentVM.PaymentDesc; payment.PaymentStatus = paymentVM.PaymentStatus; payment.PaymentType = paymentType.ToString(); SavePayment(payment, formCollection, isEdit); } else { //if (tr != null) //{ // //do delete // DeleteTransaction(tr, addStock, calculateStock); //} } _tPaymentRepository.DbContext.CommitTransaction(); TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Success; if (!isDelete) { Message = "Data berhasil disimpan."; } else { Message = "Data berhasil dihapus."; } } catch (Exception ex) { Success = false; if (!isDelete) { Message = "Data gagal disimpan."; } else { Message = "Data gagal dihapus."; } Message += "Error : " + ex.GetBaseException().Message; _tPaymentRepository.DbContext.RollbackTransaction(); TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Failed; } var e = new { Success, Message }; return(Json(e, JsonRequestBehavior.AllowGet)); }