public List <string> AddDIN4Divide(string DIN) { if (DINInList.Contains(DIN)) { throw new Exception("Mã túi máu này đã có."); } Donation d = DonationBLL.Get(DIN); if (d == null) { throw new Exception("Không có mã túi máu này."); } //Can be produce positive product for research //if (d.TestResultStatus == Donation.TestResultStatusX.Positive) //{ // throw new Exception("Xét nghiệm sàng lọc: Dương tính."); //} RedBloodDataContext db = new RedBloodDataContext(); int count = db.Packs.Where(r => ProductCodeInList.Contains(r.ProductCode) && r.DIN == DIN).Count(); if (count == 0) { throw new Exception("Mã túi máu này không có sản phẩm đầu vào."); } DINInList.Add(DIN); return(DINInList); }
public List <string> AddProductCodeOut(string productCode) { if (ProductCodeInList.Contains(productCode)) { throw new Exception("Sản phẩm đầu ra đã có trong danh sách đầu vào."); } if (ProductCodeOutList.Contains(productCode)) { throw new Exception("Sản phẩm đầu ra đã có trong danh sách đầu ra."); } List <string> tempList = ProductCodeOutList.ToList(); tempList.Add(productCode); ReceiptBLL.ValidateOnTherapyReceipt(ProductCodeInList, tempList); RedBloodDataContext db = new RedBloodDataContext(); int count = db.Packs.Where(r => r.ProductCode == productCode && DINInList.Contains(r.DIN)).Count(); if (count > 0) { throw new Exception("Sản phẩm đầu ra đã sản xuất."); } ProductCodeOutList.Add(productCode); return(ProductCodeOutList); }
public List <string> AddProductCodeIn4Divide(string productCode) { if (ProductCodeInList.Contains(productCode)) { throw new Exception("Sản phẩm đầu vào đã có trong danh sách đầu vào."); } if (ProductCodeInList.Count == 1) { throw new Exception("Sản phẩm đầu vào chỉ được 1 loại."); } RedBloodDataContext db = new RedBloodDataContext(); int count = db.Packs.Where(r => r.ProductCode == productCode && DINInList.Contains(r.DIN)).Count(); if (count < DINInList.Count) { throw new Exception("Sản phẩm đầu vào không có túi máu."); } if (count > DINInList.Count) { throw new Exception("Sản phẩm đầu vào có túi máu bị trùng dữ liệu."); } ProductCodeInList.Add(productCode); return(ProductCodeInList); }
public Guid InsertOrUpdate(Guid ID, Func <Receipt, Receipt> loadFromGUI) { RedBloodDataContext db = new RedBloodDataContext(); Receipt r; if (ID == Guid.Empty) { r = new Receipt(); db.Receipts.InsertOnSubmit(r); } else { r = ReceiptBLL.Get(ID, db); } loadFromGUI(r); //Product In IEnumerable <ReceiptProduct> existingProductCodeInList = r.ReceiptProducts.Where(r1 => r1.Type == ReceiptProduct.TypeX.In); db.ReceiptProducts.DeleteAllOnSubmit( existingProductCodeInList.Where(r1 => !ProductCodeInList.Contains(r1.ProductCode)) ); r.ReceiptProducts.AddRange( ProductCodeInList .Except(existingProductCodeInList.Select(r1 => r1.ProductCode)) .Select(r1 => new ReceiptProduct() { ProductCode = r1, Type = ReceiptProduct.TypeX.In }) ); //Product Out IEnumerable <ReceiptProduct> existingProductCodeOutList = r.ReceiptProducts.Where(r1 => r1.Type == ReceiptProduct.TypeX.Out); db.ReceiptProducts.DeleteAllOnSubmit( existingProductCodeOutList.Where(r1 => !ProductCodeOutList.Contains(r1.ProductCode)) ); r.ReceiptProducts.AddRange( ProductCodeOutList .Except(existingProductCodeOutList.Select(r1 => r1.ProductCode)) .Select(r1 => new ReceiptProduct() { Product = ProductBLL.Get(db, r1), Type = ReceiptProduct.TypeX.Out }) ); db.SubmitChanges(); return(r.ID); }
public List <string> AddProductCodeOut(string productCode) { if (ProductCodeInList.Contains(productCode)) { throw new Exception("Sản phẩm đầu ra đã có trong danh sách đầu vào."); } if (ProductCodeOutList.Contains(productCode)) { throw new Exception("Sản phẩm đầu ra đã có trong danh sách đầu ra."); } ProductCodeOutList.Add(productCode); return(ProductCodeOutList); }
public List <string> AddProductCodeIn(string productCode) { if (ProductCodeInList.Contains(productCode)) { throw new Exception("Sản phẩm đầu vào đã có trong danh sách đầu vào."); } if (ProductCodeOutList.Contains(productCode)) { throw new Exception("Sản phẩm đầu vào đã có trong danh sách đầu ra."); } if (ProductCodeInList.Count == 1) { throw new Exception("Sản phẩm đầu vào chỉ được 1 loại."); } List <string> tempList = ProductCodeInList.ToList(); tempList.Add(productCode); ReceiptBLL.ValidateOnTherapyReceipt(tempList, ProductCodeOutList); RedBloodDataContext db = new RedBloodDataContext(); int count = db.Packs.Where(r => r.ProductCode == productCode && DINInList.Contains(r.DIN)).Count(); if (count < DINInList.Count) { throw new Exception("Sản phẩm đầu vào không có túi máu."); } if (count > DINInList.Count) { throw new Exception("Sản phẩm đầu vào có túi máu bị trùng dữ liệu."); } ProductCodeInList.Add(productCode); return(ProductCodeInList); }
protected void LinqDataSourceProductIn_Selecting(object sender, LinqDataSourceSelectEventArgs e) { RedBloodDataContext db = new RedBloodDataContext(); e.Result = db.Products.Where(r => ProductCodeInList.Contains(r.Code)); }