public bool InsertThanhPhamKey(ThanhPhamKey data) { SqlParameter[] sqlParameters = new SqlParameter[] { new SqlParameter("@TPID", data.TPID), new SqlParameter("@TPDate", data.TPDate), new SqlParameter("@CompanyID", CommonInfo.CompanyInfo.CompanyID), new SqlParameter("@UpdateUser", UserInfo.UserID) }; this.Context.ExecuteDataFromProcedure("ThanhPhamKeyInsert", sqlParameters); return(true); }
} //Không có ID riêng public bool SaveS35MenuDetailSanXuatFinal(ThanhPhamKey thanhpham, List <S35MenuDetailSanXuatFinal> s35menudetailsx, List <S35MenuSanXuatWH> nguyenlieu, List <ItemDetailS35MenuSX> congthucsd, List <S35MenuSanXuat> s35menusx) { using (DbContextTransaction transaction = Context.Database.BeginTransaction()) { try { long tpseq = ThanhPhamKeyDAO.ThanhPhamSEQ(); tpseq++; thanhpham.TPID = GenerateID.ThanhPhamID(tpseq); ThanhPhamKeyDAO.InsertThanhPhamKey(thanhpham); //Insert truy vết MenuSanXuat foreach (S35MenuSanXuat s35MenuSanXuat in s35menusx) { S35MenuSXConnectDT tempData = new S35MenuSXConnectDT { TPID = thanhpham.TPID, S35MenuSXID = s35MenuSanXuat.S35MenuSXID, CompanyID = CommonInfo.CompanyInfo.CompanyID, CreateUser = UserInfo.UserID }; S35MenuSXConnectDTDAO.InsertS35MenuSXConnectDT(tempData); } long s35menudetailsxseq = S35MenuDetailSanXuatFinalDAO.S35MenuDetailSanXuatFinalSEQ(); long nguyenlieuseq = S35MenuSanXuatWHDAO.S35MenuSanXuatWHSEQ(); long congthucsdseq = ItemDetailS35MenuSXDAO.ItemDetailMenuSEQ(); //insert danh sách thành phẩm foreach (S35MenuDetailSanXuatFinal s35MenuDetailSanXuatFinal in s35menudetailsx) { //Chạy từng món switch (s35MenuDetailSanXuatFinal.Status) { // Thêm S35 mới thì sẽ thực hiện thêm Detail mới nếu ListDetail có giá trị case ModifyMode.Insert: s35menudetailsxseq++; s35MenuDetailSanXuatFinal.S35MenuDetailSXFNID = GenerateID.S35MenuDetailSXFNID(s35menudetailsxseq); s35MenuDetailSanXuatFinal.TPID = thanhpham.TPID; this.S35MenuDetailSanXuatFinalDAO.InsertS35MenuDetailSanXuatFinal(s35MenuDetailSanXuatFinal); s35MenuDetailSanXuatFinal.Status = ModifyMode.None; //Sau khi insert S35MenuDetailSanXuatFinal thành công thì insert danh sách nguyên liệu, lưu lại loại công thức, Lưu vết truy xuất liên quan menu List <ItemDetailS35MenuSX> nguyenlieuListmenu = congthucsd.Where(o => o.ItemID == s35MenuDetailSanXuatFinal.ItemID).ToList(); //Insert công thức liên quan của 1 món foreach (ItemDetailS35MenuSX itemDetailS35MenuSX in nguyenlieuListmenu) { congthucsdseq++; itemDetailS35MenuSX.ItemDetailS35MenuSXID = GenerateID.ItemDetailMenuID(congthucsdseq); itemDetailS35MenuSX.S35MenuDetailSXFNID = s35MenuDetailSanXuatFinal.S35MenuDetailSXFNID; ItemDetailS35MenuSXDAO.InsertItemDetailS35MenuSX(itemDetailS35MenuSX); } break; } } //Insert nguyên liệu foreach (S35MenuSanXuatWH nguyenlieuItem in nguyenlieu) { //Chạy từng món switch (nguyenlieuItem.Status) { // Thêm S35 mới thì sẽ thực hiện thêm Detail mới nếu ListDetail có giá trị case ModifyMode.Insert: nguyenlieuseq++; nguyenlieuItem.S35MenuSanXuatWHID = GenerateID.S35MenuSXWHID(nguyenlieuseq); nguyenlieuItem.TPID = thanhpham.TPID; this.S35MenuSanXuatWHDAO.InsertS35MenuSanXuatWH(nguyenlieuItem); nguyenlieuItem.Status = ModifyMode.None; break; } } transaction.Commit(); return(true); } catch (Exception ex) { transaction.Rollback(); BSLog.Logger.Error(ex.Message); return(false); } } }
public bool Insert(ThanhPhamKey thanhpham, List <S35MenuDetailSanXuatFinal> s35menudetailsx, List <S35MenuSanXuatWH> nguyenlieu, List <ItemDetailS35MenuSX> congthucsd, List <S35MenuSanXuat> s35menusx) { return(this.S35MenuDetailSanXuatFinalLogic.SaveS35MenuDetailSanXuatFinal(thanhpham, s35menudetailsx, nguyenlieu, congthucsd, s35menusx)); }