public bool Delete(string Id, ref string msg) { bool result = true; using (NuWebContext cxt = new NuWebContext()) { try { //if (IsCanDelete(Id)) { I_Work_Order itemDelete = (from tb in cxt.I_Work_Order where tb.Id == Id select tb).FirstOrDefault(); if (itemDelete != null) { itemDelete.Status = (int)Commons.EStatus.Deleted; var listWOD = (from wod in cxt.I_Work_Order_Detail where wod.WorkOrderId.Equals(itemDelete.Id) select wod).ToList(); listWOD.ForEach(x => x.Status = (int)Commons.EStatus.Deleted); cxt.SaveChanges(); } } //else //{ // msg = "This Work Order has been in used. Can't Delete"; // result = false; //} } catch (Exception ex) { _logger.Error(ex); result = false; } finally { if (cxt != null) { cxt.Dispose(); } } } return(result); }
public bool Insert(WorkOrderModels model, ref string msg) { bool result = true; using (NuWebContext cxt = new NuWebContext()) { using (var transaction = cxt.Database.BeginTransaction()) { try { I_Work_Order item = new I_Work_Order(); item.Id = Guid.NewGuid().ToString(); item.StoreId = model.StoreId; item.Code = CommonHelper.GetGenNo(Commons.ETableZipCode.WorkOrder, model.StoreId); item.WODate = model.WODate; item.DateCompleted = model.DateCompleted; item.Total = model.Total; item.Status = model.Status; item.Note = model.Note; item.CreatedBy = model.CreatedBy; item.CreatedDate = model.CreatedDate; item.ModifierBy = model.ModifierBy; item.ModifierDate = model.ModifierDate; item.IsActived = model.IsActived; //================= List <I_Work_Order_Detail> ListInsert = new List <I_Work_Order_Detail>(); foreach (var WODetail in model.ListItem) { ListInsert.Add(new I_Work_Order_Detail { Id = Guid.NewGuid().ToString(), WorkOrderId = item.Id, IngredientId = WODetail.IngredientId, Qty = WODetail.Qty, UnitPrice = WODetail.UnitPrice, Amount = WODetail.Qty * WODetail.UnitPrice, ReceiptNoteQty = 0, ReturnReceiptNoteQty = 0, BaseQty = WODetail.Qty * (WODetail.IngReceivingQty == 0 ? 1 : WODetail.IngReceivingQty), Status = (int)Commons.EStatus.Actived }); //lstInventory.Add(new InventoryModels() //{ // StoreId = model.StoreID, // IngredientId = WODetail.IngredientId, // Price = WODetail.UnitPrice, // Quantity = WODetail.Qty * (WODetail.IngReceivingQty == 0 ? 1 : WODetail.IngReceivingQty) //}); } cxt.I_Work_Order.Add(item); cxt.I_Work_Order_Detail.AddRange(ListInsert); cxt.SaveChanges(); transaction.Commit(); //Update inventory //var isUpdateInentoryPO = _inventoryFactory.UpdateInventoryForPO(lstInventory); //_logger.Info(string.Format("UpdateInventoryForPO: [{0}]", isUpdateInentoryPO)); } catch (Exception ex) { _logger.Error(ex); result = false; transaction.Rollback(); } finally { if (cxt != null) { cxt.Dispose(); } } } } return(result); }