public RawMaterials Create(EnsolStockMovement rawMaterials, string orderType, string orderNumber) { if (rawMaterials == null) { throw new ArgumentNullException("role"); } RawMaterials db = new RawMaterials(); db.IdCompany = rawMaterials.IdCompany; db.ProcessOrder = rawMaterials.ProcessOrder; db.Code = rawMaterials.Code; db.Description = rawMaterials.Description; db.Batch = rawMaterials.Batch; db.Quantity = rawMaterials.Quantity; db.ECAStorageCode = rawMaterials.ECAStorageCode; db.ICAStorageCode = rawMaterials.ICAStorageCode; db.Message = rawMaterials.Message; db.ECA = rawMaterials.ECA; db.OrderType = orderType; db.OrderNumber = orderNumber; db.Stamp = DateTime.Now; //TODO: buscar forma correcta de vincular errores en la capa de datos hacia la capa de distribución. if (Exists(db.ProcessOrder.Value)) { return null; } context.RawMaterials.Add(db); context.SaveChanges(); return db; }
public FinishedProduct Create(EnsolStockMovement finishedProduct, string ica, string orderType, string orderNumber) { if (finishedProduct == null) { throw new ArgumentNullException("role"); } FinishedProduct db = new FinishedProduct(); db.IdCompany = finishedProduct.IdCompany; db.ProcessOrder = finishedProduct.ProcessOrder; db.Code = finishedProduct.Code; db.Description = finishedProduct.Description; db.Batch = finishedProduct.Batch; db.Quantity = finishedProduct.Quantity; db.ECAStorageCode = finishedProduct.ECAStorageCode; db.ICAStorageCode = finishedProduct.ICAStorageCode; db.Message = finishedProduct.Message; db.ICA = ica; db.OrderType = orderType; db.OrderNumber = orderNumber; db.Stamp = DateTime.Now; //TODO: buscar forma correcta de vincular errores en la capa de datos hacia la capa de distribución. if (Exists(db.ProcessOrder.Value)) { return(null); } context.FinishedProduct.Add(db); context.SaveChanges(); return(db); }
public Order ConsumeOrder(int IdCompany, EnsolStockMovement finishedProduct, List <EnsolStockMovement> rawMaterials) { List <Order> ot = new List <Order>(); if (finishedProductDal.Exists(finishedProduct.ProcessOrder)) { Order order = new Order(); FinishedProduct prod = finishedProductDal.Get(finishedProduct.ProcessOrder).First(); order.FinishedProduct = finishedProduct; order.Type = prod.OrderType; order.Number = prod.OrderNumber; ot.Add(order); } else { ot = orderDal.SPECreaOT((CompanyEnum)IdCompany, finishedProduct.Code, finishedProduct.Quantity, finishedProduct.ICAStorageCode, "usuario", -1, "terminal"); ot.First().FinishedProduct = orderDal.SPECreaICA((CompanyEnum)IdCompany, ot.First().Type, ot.First().Number, finishedProduct.Batch, finishedProduct.ProcessOrder, finishedProduct.Code, finishedProduct.Description, finishedProduct.Quantity, finishedProduct.ICAStorageCode, "usuario", -1, "terminal").First(); finishedProductDal.Create(finishedProduct, ot.First().FinishedProduct.ECA, ot.First().Type, ot.First().Number); } ot.First().RawMaterials = orderDal.SPECreaECA((CompanyEnum)IdCompany, ot.First().Type, ot.First().Number, rawMaterials, "usuario", -1, "terminal"); foreach (EnsolStockMovement item in ot.First().RawMaterials) { if (!string.IsNullOrEmpty(item.ECA)) { rawMaterialsDal.Create(item, ot.First().Type, ot.First().Number); } } if (!ot.First().RawMaterials.Where(w => string.IsNullOrEmpty(w.ECA)).Any()) { orderDal.SPECierreOT((CompanyEnum)IdCompany, ot.First().Type, ot.First().Number, "usuario", -1, "terminal"); } return(ot.First()); }
public Order SetStockConsumptionForOrder(int IdCompany, EnsolStockMovement FinishedProduct, List <EnsolStockMovement> RawMaterials) { return(stockService.ConsumeOrder(IdCompany, FinishedProduct, RawMaterials)); //return true; }
public bool StockSetStockConsumptionForOrder(EnsolStockMovement FinishedProduct, List <EnsolStockMovement> RawMaterials) { SetStockConsumptionForOrder(EnsolFood_IdCompany, FinishedProduct, RawMaterials); return(true); }