Example #1
0
        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));
        }