public ActionResult ThemPhieuNhap(PhieuNhapViewModel pnViewModel, string TenNXB) { if (ModelState.IsValid) { var nxb = nhaXuatBanService.GetSingleByName(TenNXB); if (nxb == null) { ModelState.AddModelError("", "Thông tin nhà xuất bản không tồn tại."); } else { pnViewModel.IdNXB = nxb.Id; pnViewModel.NhaXuatBan = Mapper.Map <NhaXuatBan, NhaXuatBanViewModel>(nxb); pnViewModel.TongTien = 0; pnViewModel.TongSoLuong = 0; Session["PhieuNhap"] = pnViewModel; // Open current session to save the Import data info Session["dsCtPhieuNhap"] = new List <CtPhieuNhapViewModel>(); return(Redirect("them-chi-tiet/")); } } return(View(pnViewModel)); }
public ActionResult TaoBaoCao(ThanhToanViewModel thanhToanVm, string TenNXB) { if (Request.Form["analyze"] != null) { if (ModelState.IsValid) { var nxb = nxbService.GetSingleByName(TenNXB); if (nxb == null) { ModelState.AddModelError("", "Thông tin nhà xuất bản không tồn tại."); } else { thanhToanVm.IdNXB = nxb.Id; var ngayBatDau = thanhToanService.GetStartDateToCreateReport(nxb.Id); if (ngayBatDau != null) { if (ngayBatDau <= thanhToanVm.NgayKetThuc) { thanhToanVm.NgayBatDau = ngayBatDau.Value; } else { ModelState.AddModelError("", "Thời gian báo cáo không hợp lệ."); return(View(thanhToanVm)); } } else { var ngayBatDauTaoPhieuXuat = phieuNhapService.GetFirstDateToCreateReport(nxb.Id).Value; if (ngayBatDauTaoPhieuXuat != null) { if (ngayBatDauTaoPhieuXuat <= thanhToanVm.NgayKetThuc) { thanhToanVm.NgayBatDau = ngayBatDauTaoPhieuXuat; } else { ModelState.AddModelError("", "Thời gian báo cáo không hợp lệ."); return(View(thanhToanVm)); } } else { ModelState.AddModelError("", "Chưa nhập sách từ NXB này, không thể lập báo cáo."); return(View(thanhToanVm)); } } var listThongKe = thanhToanService.GetListAnalysisReport(thanhToanVm.IdNXB, thanhToanVm.NgayBatDau, thanhToanVm.NgayKetThuc); if (listThongKe.Count == 0) { ModelState.AddModelError("", "Chưa nhập hàng từ nhà xuất bản này."); } else if (thanhToanService.CheckReportIsCreated(thanhToanVm.IdNXB, thanhToanVm.NgayBatDau)) { ModelState.AddModelError("", "Khoảng thời gian đã được lập báo cáo rồi."); } else { // Clear at the second click Session["ThanhToan"] = null; // Add new value for session thanhToanVm.NhaXuatBan = Mapper.Map <NhaXuatBan, NhaXuatBanViewModel>(nxb); thanhToanVm.dsThongKeNXB = listThongKe; foreach (var ct in listThongKe) { thanhToanVm.TongTienConNo += ct.TongTienNo; if (ct.TongTienXuat != null) { thanhToanVm.TongTienSachBan += (double)ct.TongTienXuat; } } Session["ThanhToan"] = thanhToanVm; } } } } else if (Request.Form["create"] != null) { var tt = (ThanhToanViewModel)Session["ThanhToan"]; var newThanhToan = new ThanhToan(); newThanhToan.UpdateThanhToan(tt); newThanhToan.TongTienConNo += tt.TienNoThangTruoc; newThanhToan.IdTinhTrang = CommonConstant.DA_BAO_CAO; newThanhToan.NgayXacNhan = newThanhToan.ThoiGianLapPhieu; thanhToanService.Add(newThanhToan); thanhToanService.Save(); foreach (var ct in tt.dsThongKeNXB) { if (ct.SoLuongXuat == null) { ct.TongTienXuat = 0; ct.SoLuongXuat = 0; } var ctThanhToan = new CtThanhToan { IdSach = ct.Id, IdThanhToan = newThanhToan.Id, SoLuongNhap = ct.SoLuongNhap, SoLuongTonDotTruoc = ct.SoLuongTonDotTruoc, TongTienNhap = ct.TongTienNhap, SoLuongXuat = ct.SoLuongXuat, TongTienXuat = ct.TongTienXuat, SoLuongCon = (ct.SoLuongNhap + ct.SoLuongTonDotTruoc) - ct.SoLuongXuat, TienNo = ct.TongTienNo, DonGiaNhap = ct.DonGiaNhap }; ctThanhToanService.Add(ctThanhToan); } thanhToanService.Save(); Session["ThanhToan"] = null; TempData["Success"] = "Đã thêm thành công một báo cáo NXB."; Session.RemoveAll(); return(Redirect("/bao-cao/nxb/")); } return(View(thanhToanVm)); }