public IHttpActionResult PutProductStocks(int id, ProductStocks productStocks) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != productStocks.ProductStocksId) { return(BadRequest()); } db.Entry(productStocks).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!ProductStocksExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult AddStocks(JObject jsonBody) { JObject products = (JObject)jsonBody["ProductsInStocks"]; // this variable must be present in the javascript jsonBody.Remove("ProductsInStocks"); ProductStocks productStocks = jsonBody.ToObject <ProductStocks>(); // the job card object\ JEnumerable <JToken> tokens = (JEnumerable <JToken>)products.Children <JToken>(); foreach (JToken token in tokens) { JToken productJson = token.Children().First(); ProductInProductStocks productInstance = productJson.ToObject <ProductInProductStocks>(); // get the product and update it Product product = db.Products.Find(productInstance.ProductId); if (product == null) { return(NotFound()); } product.StocksQuantity = productInstance.QuantityRecieved + product.StocksQuantity; db.Entry(product).State = EntityState.Modified; } db.SaveChanges(); return(StatusCode(HttpStatusCode.Created)); }
public static async Task <DL.Models.Product> GetProduct(Guid productId, DateTimeOffset referenceDate) { DL.Models.Product result = null; if (!ProductStocks.ContainsKey(productId)) { await _loadLock.WaitAsync().ConfigureAwait(false); try { result = await LoadProduct(productId).ConfigureAwait(false); SetProductState(result, referenceDate); return(result); } catch (Exception exception) { // Log exception throw; } finally { _loadLock.Release(); } } return(result); }
internal static DL.Models.Product SetProduct(ProductStock.DL.Models.Product product) { if (!ProductStocks.ContainsKey(product.Id)) { ProductStocks.Add(product.Id, product); var result = new DL.Models.Product(product.Id, product.Number, product.Description); Products.Add(product.Id, result); var priceChanges = ChangeFactory.ToOrderedChangeEvent < DL.Models.Product, ProductStock.DL.Models.ProductPrice, Guid, double, DateTimeOffset>( x => x.Price, 0, product.Prices, x => x.Id, x => x.Price, x => x.RegisterDate). Cast <IEvent <DL.Models.Product, Guid> >().ToList(); var stockAvailableMutations = MutationFactory.ToOrderedMutationEvent < DL.Models.Product, ProductStock.DL.Models.ProductStockMutation, Guid, int, DateTimeOffset>( x => x.Available, product.StockMutations, x => x.Id, x => x.Amount * (x.Type == ProductStock.DL.Enums.MutationType.Purchase ? -1 : 1), x => x.OrderDate).Cast <IEvent <DL.Models.Product, Guid> >().ToList(); var stockInStockMutations = MutationFactory.ToOrderedMutationEvent < DL.Models.Product, ProductStock.DL.Models.ProductStockMutation, Guid, int, DateTimeOffset>( x => x.InStock, product.StockMutations, x => x.Id, x => x.Amount * (x.Type == ProductStock.DL.Enums.MutationType.Purchase ? -1 : 1), x => x.ShipmentDate).Cast <IEvent <DL.Models.Product, Guid> >().ToList(); AddEvents(product.Id, new OrderedEventCollection <DL.Models.Product, Guid, DateTimeOffset>(priceChanges.ToList())); AddEvents(product.Id, new OrderedEventCollection <DL.Models.Product, Guid, DateTimeOffset>(stockAvailableMutations.ToList())); AddEvents(product.Id, new OrderedEventCollection <DL.Models.Product, Guid, DateTimeOffset>(stockInStockMutations.ToList())); return(result); } return(Products[product.Id]); }
private void cmdProductExpanded_Execute() { ProductStocks.Clear(); foreach (var productStock in ContextManager.Context.dProductStocks) { ProductStocks.Add(new wrapProductStock { Stock = productStock }); } }
public ActionResult Guncelle(ProductStocks pr1) { var urnstk = db.ProductStocks.Find(pr1.UrunStokId); urnstk.Piece = pr1.Piece; urnstk.RecordDate = pr1.RecordDate; urnstk.ProductId = pr1.ProductId; db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult yenistk(ProductStocks pr1) { if (!ModelState.IsValid) { return(View("yenistk")); } db.ProductStocks.Add(pr1); db.SaveChanges(); return(View()); }
public IHttpActionResult GetProductStocks(int id) { ProductStocks productStocks = db.Stocks.Find(id); if (productStocks == null) { return(NotFound()); } return(Ok(productStocks)); }
public IHttpActionResult PostProductStocks(ProductStocks productStocks) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Stocks.Add(productStocks); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = productStocks.ProductStocksId }, productStocks)); }
public IHttpActionResult DeleteProductStocks(int id) { ProductStocks productStocks = db.Stocks.Find(id); if (productStocks == null) { return(NotFound()); } db.Stocks.Remove(productStocks); db.SaveChanges(); return(Ok(productStocks)); }
public IHttpActionResult AddStocks(JObject jsonBody) { JObject products = (JObject)jsonBody["ProductsInStocks"]; // this variable must be present in the javascript jsonBody.Remove("ProductsInStocks"); ProductStocks productStocks = jsonBody.ToObject <ProductStocks>(); // the job card object\ productStocks.ApplicationUserId = User.Identity.GetUserId(); db.Stocks.Add(productStocks); db.SaveChanges(); // save it to db, to get the new stock id for further processing int productStocksId = productStocks.ProductStocksId; // the foregin key to be used for the -> proudcts JEnumerable <JToken> tokens = (JEnumerable <JToken>)products.Children <JToken>(); foreach (JToken token in tokens) { JToken productJson = token.Children().First(); ProductInProductStocks productInstance = productJson.ToObject <ProductInProductStocks>(); productInstance.ProductStocksId = productStocksId; // add a products in stock entry. db.ProductsInProductStocks.Add(productInstance); // increase quantity in the products table Product product = db.Products.Find(productInstance.ProductId); product.StocksQuantity = product.StocksQuantity + productInstance.QuantityRecieved; db.Entry(product).State = EntityState.Modified; } db.SaveChanges(); return(StatusCode(HttpStatusCode.Created)); }