public ActionResult Cancelinvoice(int id) { int accId = User.GetAccountId(); if (id == 0) { var reissueinvoiceModel = new CancelinvoiceModel() { ListNo = ListNoCancel(accId) }; return(View(reissueinvoiceModel)); } else { var lri = _listReleaseInvoice.GetById(id); var reissueinvoiceModel = new CancelinvoiceModel() { Id = id, ListNo = ListNoCancel(accId), Quantity = lri.Quantity, StartNumber = lri.StartNumber, EndNumber = lri.EndNumber, StartUsingDate = lri.StartUsingDate.ToString(), TemplateId = lri.TemplateCode, SerialInvoice = lri.SerialInvoice, No = lri.No }; return(View(reissueinvoiceModel)); } }
public ActionResult Cancelinvoice(CancelinvoiceModel reiinv) { int accId = User.GetAccountId(); var cancelinvoiceModel = new CancelinvoiceModel() { ListNo = ListNoCancel(accId) }; DateTime dateTime = DateTime.Parse(reiinv.StartUsingDate.ToString(), System.Globalization.CultureInfo. GetCultureInfo("vi-VN"). DateTimeFormat); //if (dateTime < DateTime.Now) //{ // ModelState.AddModelError(String.Empty, ReissueinvoiceResource.StartUsingDateEqua.ToString()); // return View(reissueinvoiceModel); //} if (ModelState.IsValid) { using (var scope = new TransactionScope()) { var listReleaseInvoice = new ListReleaseInvoice() { Quantity = reiinv.Quantity, StartNumber = reiinv.StartNumber, EndNumber = reiinv.EndNumber, StartUsingDate = dateTime, AccountId = accId, TemplateCode = reiinv.TemplateId, Status = 0, SerialInvoice = reiinv.SerialInvoice, No = reiinv.No }; //_listReleaseInvoice.CreateListReleaseInvoices(listReleaseInvoice); ListReleaseInvoice list = null; try { list = _listReleaseInvoice.GetById(reiinv.Id); } catch (Exception ex) { ModelState.AddModelError("", "Không tìm thấy thông tin phát hành"); return(View(reiinv)); } if (list == null) { ModelState.AddModelError("", "Không tìm thấy thông tin phát hành"); return(View(reiinv)); } var inUse = _invoiceNumber.GetByReleaseIdAnduseStatus(list.Id, 0); if (inUse == null || inUse.Count() < list.Quantity) { ModelState.AddModelError("", "Đã xuất hóa đơn trên phát hành này. Không thể xóa"); return(View(reiinv)); } foreach (var invoiceNum in inUse) { _invoiceNumber.DeleteInvoiceNumbers(invoiceNum); } _listReleaseInvoice.CancelListReleaseInvoices(list); scope.Complete(); } return(RedirectToAction("Index", new { message = "Hủy phát hành hóa đơn thành công", messageType = "info" })); } else { return(View(cancelinvoiceModel)); } }