public IActionResult Create([FromBody] OrderObject item) { if (item == null) { return(BadRequest()); } _context.OrderObject.Add(item); _context.SaveChanges(); return(CreatedAtRoute("GetObj", new { id = item.ObjectId }, item)); }
public async Task <bool> AddItem(DocumentAddItemModel model) { try { //Это "немножко" плохой код; ввиду реализации всей инфраструктуры я потратил достаточное количество времени(для тестового задания). //Реализация методов обновления остатков должна быть заложена в репозиторий, что я не успеваю сделать :) //Тем не менее требуемый функционал реализован. var ctx = new StoreHouseContext(); var entityFrom = ctx.Stocks.SingleOrDefault(x => x.ProductId == model.Product.Id && x.WarehouseId == model.WarehouseFrom.Id); entityFrom.Value -= model.Value; ctx.Stocks.Update(entityFrom); var entityTo = ctx.Stocks.SingleOrDefault(x => x.ProductId == model.Product.Id && x.WarehouseId == model.WarehouseTo.Id); entityTo.Value += model.Value; ctx.Stocks.Update(entityTo); //плохой код закончен var warehouseFromItem = await _warehouseRepo.GetItemByid(model.WarehouseFrom.Id); //var warehouseFromStock = warehouseFromItem.Stocks.SingleOrDefault(x => x.ProductId == model.Product.Id); //warehouseFromStock.Value -= model.Value; //var warehouseToItem = await _warehouseRepo.GetItemByid(model.WarehouseTo.Id); //var warehouseToStock = warehouseFromItem.Stocks.SingleOrDefault(x => x.ProductId == model.Product.Id); //warehouseToStock.Value += model.Value; _documentsRepo.Add(new Documents { StockId = model.Product.Id, WarehouseFrom = model.WarehouseFrom.Id, WarehouseTo = model.WarehouseTo.Id, Value = model.Value }); ctx.SaveChanges();//сохранение контекста, вызванное плохим кодом выше _documentsRepo.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }
public void SaveChanges() { _dbContext.SaveChanges(); }
public IActionResult Create(string id) { string s = "ee723a5c-4f3d-4c96-8fc9-19961257d1af"; int co = s.Length; char[] UsIdCH = new char[co]; for (int i = 0; i < co; i++) { UsIdCH[i] = id[i]; } string UsId = new string(UsIdCH); char[] GoodIdStrCH = new char[id.Length - co];; for (int i = co; i < id.Length; i++) { GoodIdStrCH[i - co] = id[i]; } string GoodIdStr = new string(GoodIdStrCH); int GoodId = Int32.Parse(GoodIdStr); //Order Norder = new Order(); //Norder.Date = DateTime.Today; //Norder.SoldOut = false; //Norder.UserId = UsId; //_context.Order.Add(Norder); //_context.SaveChanges(); //return new NoContentResult(); _context.Order.Load(); foreach (Order od in _context.Order.Include(obj => obj.OrderLine)) { if (od.UserId == UsId) { if (!od.SoldOut) { foreach (OrderLine line in od.OrderLine) { if (line.ObjectId == GoodId) { var NLiine = _context.OrderLine.FirstOrDefault(t => t.LineId == line.LineId); double price = NLiine.Price / NLiine.Amount; NLiine.Amount++; NLiine.Price += price; _context.OrderLine.Update(NLiine); _context.SaveChanges(); return(new NoContentResult()); } } var good = _context.OrderObject.FirstOrDefault(t => t.ObjectId == GoodId); OrderLine Nline = new OrderLine(); Nline.Amount = 1; Nline.ObjectId = GoodId; Nline.OrderId = od.OrderId; Nline.Price = good.Price; _context.OrderLine.Add(Nline); _context.SaveChanges(); return(new NoContentResult()); } } } Order Norder = new Order(); Norder.Date = DateTime.Today; Norder.SoldOut = false; Norder.UserId = UsId; _context.Order.Add(Norder); _context.SaveChanges(); _context.Order.Load(); foreach (Order od in _context.Order.Include(obj => obj.OrderLine)) { if (od.UserId == UsId) { if (!od.SoldOut) { foreach (OrderLine line in od.OrderLine) { if (line.ObjectId == GoodId) { var NLiine = _context.OrderLine.FirstOrDefault(t => t.LineId == line.LineId); double price = NLiine.Price / NLiine.Amount; NLiine.Amount++; NLiine.Price += price; _context.OrderLine.Update(NLiine); _context.SaveChanges(); return(new NoContentResult()); } } var good = _context.OrderObject.FirstOrDefault(t => t.ObjectId == GoodId); OrderLine Nline = new OrderLine(); Nline.Amount = 1; Nline.ObjectId = GoodId; Nline.OrderId = od.OrderId; Nline.Price = good.Price; _context.OrderLine.Add(Nline); _context.SaveChanges(); return(new NoContentResult()); } } } return(new NoContentResult()); }