public IActionResult SaveDebitVoucher(DebitVoucherViewModel debitVoucherViewModel) { if (!string.IsNullOrEmpty(debitVoucherViewModel.VoucherNumber)) { var tempVoucherHead = _work.TempVoucherHead.Find(x => x.VoucherNumber == debitVoucherViewModel.VoucherNumber).FirstOrDefault(); if (tempVoucherHead != null) { VoucherHead voucherHead = new VoucherHead { VoucherId = tempVoucherHead.VoucherId, VoucherNumber = debitVoucherViewModel.VoucherNumber, EntryDate = Convert.ToDateTime(debitVoucherViewModel.Date), PaidTo = debitVoucherViewModel.PaidTo, PreparedBy = debitVoucherViewModel.PreparedBy, PreparedByUserId = debitVoucherViewModel.PreparedByUserId, ReceivedBy = debitVoucherViewModel.ReceivedBy, VoucherSaveState = VoucherSaveStates.Saved }; _work.VoucherHead.Add(voucherHead); // === voucher number === // VoucherNumber voucherNumber = _work.VoucherNumber.Find(x => x.Number == debitVoucherViewModel.VoucherNumber).FirstOrDefault(); if (voucherNumber.State != VoucherSaveStates.Saved) { voucherNumber.State = VoucherSaveStates.Saved; _work.VoucherNumber.Update(voucherNumber); } // === === === // foreach (var item in debitVoucherViewModel.DebitVoucherItems) { VoucherDetail voucherDetail = new VoucherDetail { VoucherNumber = debitVoucherViewModel.VoucherNumber, Particulars = item.Particulars, VoucherHeadId = voucherHead.Id, AccountSubLedgerId = item.LedgerId == 0 ? (int?)null : item.LedgerId, Ref = item.Ref, DebitAmount = item.DebitAmount, CreditAmount = item.CreditAmount }; if (item.VoucherItemType == "Dr") { voucherDetail.TransactionTypes = TransactionTypes.Debit; } else if (item.VoucherItemType == "Cr") { voucherDetail.TransactionTypes = TransactionTypes.Credit; } _work.VoucherDetail.Add(voucherDetail); } bool isSaved = _work.Save() > 0; _sql.DeleteVoucherHead(debitVoucherViewModel.VoucherNumber); //CHANGE ISDELETED & ISACTIVE VALUE _sql.DeleteVoucherDetail(debitVoucherViewModel.VoucherNumber); //DELETE TEMP VOUCHER DETAILS if (isSaved) { return(Json(true)); } return(Json(false)); } } return(Json(false)); }
public IActionResult DebitVoucher(DebitVoucherViewModel debitVoucherViewModel) { if (!string.IsNullOrEmpty(debitVoucherViewModel.VoucherNumber)) { var tempVoucherHead = _work.TempVoucherHead.GetVoucherNumberWiseVoucher(debitVoucherViewModel.VoucherNumber); if (tempVoucherHead != null) { tempVoucherHead.VoucherNumber = debitVoucherViewModel.VoucherNumber; tempVoucherHead.EntryDate = Convert.ToDateTime(debitVoucherViewModel.Date); tempVoucherHead.PaidTo = debitVoucherViewModel.PaidTo; tempVoucherHead.PreparedBy = debitVoucherViewModel.PreparedBy; tempVoucherHead.PreparedByUserId = debitVoucherViewModel.PreparedByUserId; tempVoucherHead.ReceivedBy = debitVoucherViewModel.ReceivedBy; tempVoucherHead.VoucherSaveState = VoucherSaveStates.Running; _work.TempVoucherHead.Update(tempVoucherHead); // === voucher number === // VoucherNumber voucherNumber = _work.VoucherNumber.Find(x => x.Number == debitVoucherViewModel.VoucherNumber).FirstOrDefault(); if (voucherNumber.State != VoucherSaveStates.Running) { voucherNumber.State = VoucherSaveStates.Running; _work.VoucherNumber.Update(voucherNumber); } // === === === // _sql.DeleteVoucherDetail(debitVoucherViewModel.VoucherNumber); //DELETE PREVIOUS TEMP VOUCHER DETAILS foreach (var item in debitVoucherViewModel.DebitVoucherItems) { TempVoucherDetail tempVoucherDetail = new TempVoucherDetail { VoucherNumber = debitVoucherViewModel.VoucherNumber, Particulars = item.Particulars, TempVoucherHeadId = tempVoucherHead.Id, AccountSubLedgerId = item.LedgerId == 0 ? (int?)null : item.LedgerId, Ref = item.Ref, DebitAmount = item.DebitAmount, CreditAmount = item.CreditAmount }; if (item.VoucherItemType == "Dr") { tempVoucherDetail.TransactionTypes = TransactionTypes.Debit; } else if (item.VoucherItemType == "Cr") { tempVoucherDetail.TransactionTypes = TransactionTypes.Credit; } _work.TempVoucherDetail.Add(tempVoucherDetail); } bool isSaved = _work.Save() > 0; if (isSaved) { return(Json(true)); } return(Json(false)); } } return(Json(false)); }