public JsonResult UpdateReciveVoucher(acc_VoucherEntry voucherEntry, IEnumerable <acc_VoucherDetail> VoucherDetails)
 {
     try
     {
         return(Json(new { success = true, successMessage = "Recive Voucher Edited Successfully." }, JsonRequestBehavior.AllowGet));
     }
     catch (Exception exception)
     {
         return(Json(new { success = false, errorMessage = exception.Message }, JsonRequestBehavior.AllowGet));
     }
 }
 public JsonResult UpdateJournalVoucher(acc_VoucherEntry JournalVoucherEntry, IEnumerable <VM_AccVoucher> JournalVoucherDetails)
 {
     try
     {
         UpdateVoucher(JournalVoucherEntry, JournalVoucherDetails);
         return(Json(new { success = true, successMessage = "Journal Voucher Edited Successfully." }, JsonRequestBehavior.AllowGet));
     }
     catch (Exception exception)
     {
         return(Json(new { success = false, errorMessage = exception.Message }, JsonRequestBehavior.AllowGet));
     }
 }
        private void UpdateVoucher(acc_VoucherEntry voucherEntry, IEnumerable <VM_AccVoucher> voucherDetails)
        {
            using (TransactionScope scope = new TransactionScope())
            {
                acc_VoucherEntry aVoucherEntry = unitOfWork.AccVoucherEntryRepository.GetByID(voucherEntry.VoucherID);
                aVoucherEntry.Narration      = voucherEntry.Narration;
                aVoucherEntry.EditedBy       = SessionManger.LoggedInUser(Session);
                aVoucherEntry.EditedDateTime = DateTime.Now;
                unitOfWork.Save();

                var vd =
                    unitOfWork.AccVoucherDetailsRepository.Get().Where(a => a.VoucherID == voucherEntry.VoucherID);
                foreach (var detail in vd)
                {
                    unitOfWork.AccVoucherDetailsRepository.Delete(detail.VoucherDetailID);
                }


                foreach (VM_AccVoucher voucherDetail in voucherDetails)
                {
                    acc_VoucherDetail accVoucherDetail = new acc_VoucherDetail();

                    accVoucherDetail.VoucherDetailID = Guid.NewGuid();
                    accVoucherDetail.VoucherID       = aVoucherEntry.VoucherID;
                    accVoucherDetail.LedgerID        = Guid.Parse(voucherDetail.LedgerID);
                    accVoucherDetail.Debit           = (decimal?)voucherDetail.Debit;
                    accVoucherDetail.Credit          = (decimal?)voucherDetail.Credit;
                    accVoucherDetail.ChequeNumber    = voucherDetail.ChequeNumber;
                    accVoucherDetail.TransactionDate = aVoucherEntry.TransactionDate;
                    accVoucherDetail.VTypeID         = aVoucherEntry.VTypeID;
                    accVoucherDetail.OCode           = 1;

                    if (voucherDetail.CreatedBy == "" || voucherDetail.CreatedBy == null)
                    {
                        accVoucherDetail.RestaurantId    = Int32.Parse(SessionManger.RestaurantOfLoggedInUser(Session).ToString());
                        accVoucherDetail.CreatedBy       = SessionManger.LoggedInUser(Session);
                        accVoucherDetail.CreatedDateTime = DateTime.Now;
                    }
                    else
                    {
                        accVoucherDetail.RestaurantId    = aVoucherEntry.RestaurantId;
                        accVoucherDetail.CreatedBy       = aVoucherEntry.CreatedBy;
                        accVoucherDetail.CreatedDateTime = Convert.ToDateTime(aVoucherEntry.CreatedDateTime);
                    }
                    accVoucherDetail.EditedBy       = SessionManger.LoggedInUser(Session);
                    accVoucherDetail.EditedDateTime = DateTime.Now;
                    unitOfWork.AccVoucherDetailsRepository.Insert(accVoucherDetail);
                    unitOfWork.Save();
                }
                scope.Complete();
            }
        }
        private void SaveVoucher(string VNumber, string Narration, string VoucherName, int?VTypeID, IEnumerable <VM_AccVoucher> VoucherDetails)
        {
            using (TransactionScope scope = new TransactionScope())
            {
                acc_VoucherEntry voucherEntry = new acc_VoucherEntry();
                voucherEntry.VoucherName     = VoucherName;
                voucherEntry.TransactionDate = System.DateTime.Now;
                voucherEntry.Narration       = Narration;
                voucherEntry.VTypeID         = VTypeID;
                voucherEntry.VNumber         = VNumber;
                voucherEntry.OCode           = 1;
                voucherEntry.RestaurantId    = Int32.Parse(SessionManger.RestaurantOfLoggedInUser(Session).ToString());
                voucherEntry.CreatedBy       = SessionManger.LoggedInUser(Session);
                voucherEntry.CreatedDateTime = DateTime.Now;
                voucherEntry.EditedBy        = null;
                voucherEntry.EditedDateTime  = null;
                unitOfWork.AccVoucherEntryRepository.Insert(voucherEntry);
                unitOfWork.Save();

                foreach (VM_AccVoucher voucherDetail in VoucherDetails)
                {
                    acc_VoucherDetail accVoucherDetail = new acc_VoucherDetail();
                    accVoucherDetail.VoucherDetailID = Guid.NewGuid();
                    accVoucherDetail.VoucherID       = voucherEntry.VoucherID;
                    accVoucherDetail.LedgerID        = Guid.Parse(voucherDetail.LedgerID);
                    accVoucherDetail.Debit           = (decimal?)voucherDetail.Debit;
                    accVoucherDetail.Credit          = (decimal?)voucherDetail.Credit;
                    accVoucherDetail.ChequeNumber    = voucherDetail.ChequeNumber;
                    accVoucherDetail.TransactionDate = System.DateTime.Now;
                    accVoucherDetail.VTypeID         = VTypeID;
                    accVoucherDetail.OCode           = 1;
                    accVoucherDetail.RestaurantId    = Int32.Parse(SessionManger.RestaurantOfLoggedInUser(Session).ToString());
                    accVoucherDetail.CreatedBy       = SessionManger.LoggedInUser(Session);
                    accVoucherDetail.CreatedDateTime = DateTime.Now;
                    accVoucherDetail.EditedBy        = null;
                    accVoucherDetail.EditedDateTime  = null;
                    unitOfWork.AccVoucherDetailsRepository.Insert(accVoucherDetail);
                    unitOfWork.Save();
                }
                scope.Complete();
            }
        }
 public void UpdateVoucher(acc_VoucherEntry voucherEntry, IEnumerable <acc_VoucherDetail> VoucherDetails)
 {
 }