public ActionResult xk_TaoMoiPhieuXuat(FormCollection f, phieuXuatKho phieu) { if (xulyChung.duocCapNhat(idOfPage, "7")) { string ndThongBao = ""; int kqLuu = 0; qlCaPheEntities db = new qlCaPheEntities(); try { this.layDuLieuTrenView(phieu, f); db.phieuXuatKhoes.Add(phieu); kqLuu = db.SaveChanges(); if (kqLuu > 0) { //----------Thêm chi tiết phiếu xuất kho this.insertCtXuatKhoAndUpdateTonKho(phieu.maPhieu, db); ndThongBao = createHTML.taoNoiDungThongBao("Phiếu xuất kho", phieu.maPhieu.ToString(), "xk_TableXuatKho"); this.taoDuLieuChoCbbKhoHang(db); this.resetSession(); xulyChung.ghiNhatKyDtb(2, "Phiếu xuất kho \" " + phieu.maPhieu.ToString() + " \""); } } catch (Exception ex) { ndThongBao = ex.Message; xulyFile.ghiLoi("Class: XuatKhoController - Function: xk_TaoMoiPhieuXuat_Post", ex.Message); this.doDuLieuLenView(phieu, db); } ViewBag.ThongBao = createHTML.taoThongBaoLuu(ndThongBao); } return(View()); }
/// <summary> /// Hàm thực hiện lấy dữ liệu từ giao diện thêm vào các thuộc tính của phieuXuatKho /// </summary> /// <param name="phieu"></param> private void layDuLieuTrenView(phieuXuatKho phieu, FormCollection f) { string loi = ""; phieu.maKho = xulyDuLieu.doiChuoiSangInteger(f["cbbKhoHang"]); if (phieu.maKho <= 0) { loi += "Vui lòng chọn kho hàng nhận hàng <br/>"; } phieu.ngayXuat = DateTime.Now; phieu.tongTien = xulyDuLieu.doiChuoiSangInteger(f["txtTongTien"]); phieu.nguoiLapPhieu = ((taiKhoan)Session["login"]).tenDangNhap; phieu.ghiChu = xulyDuLieu.xulyKyTuHTML(f["txtGhiChu"]); if (loi.Length > 0) { throw new Exception(loi); } }
/// <summary> /// Hàm thêm mới 1 phiếu xuất kho trong CSDL /// </summary> /// <param name="maBan">Mã bàn để ghi chú cho phiếu xuất kho.</param> /// <param name="db"></param> private void insertNewPhieuXuatKho(int maBan, qlCaPheEntities db) { try { phieuXuatKho phieuXuatAdd = new phieuXuatKho(); phieuXuatAdd.maKho = db.khoHangs.First().maKhoHang; //-------Lấy thông tin kho hàng phieuXuatAdd.ngayXuat = DateTime.Now; phieuXuatAdd.nguoiLapPhieu = xulyChung.layTenDangNhap(); phieuXuatAdd.ghiChu = "XUẤT NGUYÊN LIỆU PHA CHẾ CHO BÀN CÓ MÃ: " + maBan.ToString(); db.phieuXuatKhoes.Add(phieuXuatAdd); db.SaveChanges(); //--------Gán lại mã phiếu vào session để xác định phiếu cần thêm nguyên liệu xuất Session["urlAction"] = "page=pc_ThucHienPhaCheTheoBan|request?maBan=" + maBan.ToString() + "&maPhieu=" + phieuXuatAdd.maPhieu.ToString();; } catch (Exception ex) { xulyFile.ghiLoi("Class: PhaCheController - Function: insertNewPhieuXuatKho", ex.Message); } }
/// <summary> /// Hàm đổ dữ liệu của phiếu xuất kho lên giao diện /// </summary> /// <param name="phieu"></param> /// <param name="db"></param> private void doDuLieuLenView(phieuXuatKho phieu, qlCaPheEntities db) { string htmlCbb = ""; foreach (khoHang kh in db.khoHangs.ToList().OrderBy(s => s.tenKhoHang)) { if (kh.maKhoHang == phieu.maKho) { htmlCbb += "<option selected ";// value=\"" + kh.maKhoHang.ToString() + "\">" + xulyDuLieu.traVeKyTuGoc(kh.tenKhoHang) + "</option>"; } else { htmlCbb += "<option "; } htmlCbb += "value=\"" + kh.maKhoHang.ToString() + "\">" + "<b>" + xulyDuLieu.traVeKyTuGoc(kh.tenKhoHang) + "</b>" + " - " + xulyDuLieu.traVeKyTuGoc(kh.diaChi) + "</option>"; } ViewBag.cbbKhoHang = htmlCbb; ViewBag.txtMaPhieu = phieu.maPhieu.ToString(); ViewBag.txtNgayNhap = string.Format("{0:yyyy-MM-dd}", phieu.ngayXuat); ViewBag.txtTongTien = phieu.tongTien.ToString(); ViewBag.txtNguoiLapPhieu = xulyDuLieu.traVeKyTuGoc(phieu.nguoiLapPhieu); ViewBag.txtGhiChu = xulyDuLieu.traVeKyTuGoc(phieu.ghiChu); }
/// <summary> /// hàm xóa 1 phiếu xuất kho hàng khỏi CSDL /// </summary> /// <param name="maPhieu"></param> public void AjaxXoaPhieuXuat(int maPhieu) { try { int kqLuu = 0; qlCaPheEntities db = new qlCaPheEntities(); phieuXuatKho phieuXoa = db.phieuXuatKhoes.SingleOrDefault(p => p.maPhieu == maPhieu); if (phieuXoa != null) { this.xoaChiTietTrongDatabase(phieuXoa.maKho, db); //--Xóa tất cả dữ liệu trong chi tiết trước. db.phieuXuatKhoes.Remove(phieuXoa); kqLuu = db.SaveChanges(); if (kqLuu > 0) { xulyChung.ghiNhatKyDtb(3, "Phiếu xuất kho có mã \"" + phieuXoa.maPhieu.ToString() + " \""); } } } catch (Exception ex) { xulyFile.ghiLoi("Class: NhapKhoController - Function: AjaxXoaPhieuNhap", ex.Message); } }
/// <summary> /// Hàm tạo html bảng danh sách chi tiết phiếu và nhúng vào Modal khi người dùng click vào mã phiếu để xem /// </summary> /// <param name="maPhieu"></param> /// <returns>html modal chi tiết</returns> public string AjaxLayChiTietPhieu(int maPhieu) { string kq = ""; if (xulyChung.duocTruyCap(idOfPage)) { qlCaPheEntities db = new qlCaPheEntities(); phieuXuatKho phieu = db.phieuXuatKhoes.SingleOrDefault(p => p.maPhieu == maPhieu); if (phieu != null) { kq += "<div class=\"modal-header\">"; kq += " <button type=\"button\" class=\"close\" data-dismiss=\"modal\">×</button>"; kq += " <h3 class=\"modal-title\" id=\"largeModalLabel\">CHI TIẾT PHIẾU XUẤT " + phieu.maPhieu.ToString() + "</h3>"; kq += "</div>"; kq += "<div class=\"modal-body\">"; kq += " <div class=\"row\">"; kq += " <div class=\"col-md-12 col-lg-12\">"; kq += " <div class=\"card\">"; kq += " <div class=\"header bg-cyan\">"; kq += " <h2> Danh mục nguyên liệu trong phiếu nhập</h2>"; kq += " </div>"; kq += " <div class=\"body table-responsive\">"; kq += " <!--Nội dung-->"; kq += " <table class=\"table table-hover\">"; kq += " <thead>"; kq += " <tr>"; kq += " <th>Tên nguyên liệu</th>"; kq += " <th>Số lượng xuất</th>"; kq += " <th>Đơn giá xuất</th>"; kq += " <th>Ghi chú</th>"; kq += " </tr>"; kq += " </thead>"; kq += " <tbody>"; foreach (ctPhieuXuatKho ct in phieu.ctPhieuXuatKhoes.ToList()) { kq += " <tr>"; kq += " <td>"; kq += " <img width=\"50px;\" height=\"50px;\" src=\"" + xulyDuLieu.chuyenByteHinhThanhSrcImage(ct.nguyenLieu.hinhAnh) + "\" />"; kq += " <b>" + xulyDuLieu.traVeKyTuGoc(ct.nguyenLieu.tenNguyenLieu) + "</b>"; kq += " </td>"; kq += " <td>" + ct.soLuongXuat.ToString() + " " + ct.nguyenLieu.donViPhaChe + "</td>"; kq += " <td>" + xulyDuLieu.doiVND(ct.donGiaXuat) + "</td>"; kq += " <td>" + xulyDuLieu.traVeKyTuGoc(ct.ghiChu) + "</td>"; kq += " </tr>"; } kq += " </tbody>"; kq += " </table>"; kq += " </div>"; kq += " </div>"; kq += " </div>"; kq += "</div>"; kq += "<div class=\"modal-footer\">"; kq += " <div class=\"col-md-9\">"; kq += " <div class=\"pull-left\">"; kq += " <label class=\"font-18 pull-left col-red bold\">Tổng tiền: " + xulyDuLieu.doiVND(phieu.tongTien) + "</label><br />"; kq += " <label class=\"pull-left col-blue-grey\"><i>* Ghi chú: </i>" + xulyDuLieu.traVeKyTuGoc(phieu.ghiChu) + "</label>"; kq += " </div>"; kq += " </div>"; kq += " <div class=\"col-md-3\">"; kq += " <button type=\"button\" class=\"btn btn-default waves-effect\" data-dismiss=\"modal\"><i class=\"material-icons\">exit_to_app</i>Đóng lại</button>"; kq += " </div>"; kq += "</div>"; xulyChung.ghiNhatKyDtb(5, "Chi tiết phiếu xuất kho có mã \"" + phieu.maPhieu.ToString() + " \""); } } return(kq); }