public IHttpActionResult Post([FromBody] AddNewPositionModel model) { var term = termManager.GetById(model.termId); ClientTermViewModel result = null; var product = productManager.GetById(model.productId); var user = userManager.GetByLogin(model.Login); if (user != null && user.Token == model.Token && product != null && term != null) { var newPosition = new Positions() { Amount = 1, //TODO Description = product.Name, ProductId = product.Id, Price = product.Price, OrderId = term.OrderId, }; positionsManager.AddEntity(newPosition); var newTermPosition = new TermPositions() { TermId = term.Id, Amount = 1, //TODO Positions = newPosition, TermPositionMaterialRsps = new List <TermPositionMaterialRsp>() }; term.TermPositions.Add(newTermPosition); //add linked material to position foreach (var material in product.ProductMaterialRsps.Where(o => !o.DeleteDate.HasValue)) { newTermPosition.TermPositionMaterialRsps.Add(new TermPositionMaterialRsp() { Amount = material.Amount, MaterialId = material.MaterialId, TermPositions = newTermPosition }); } positionsManager.SaveChanges(); if (term != null) { result = TermViewModelHelper.ToModel(term, true, false); } return(Ok(result)); } return(BadRequest()); }
public IHttpActionResult Put(OrdersModel model) { var order = manager.GetById(model.Id); var newOrder = new Orders() { AutoBill = order.AutoBill, City = order.City, Comment = order.Comment, CommunicationPartnerId = order.CommunicationPartnerId, CustomerId = order.CustomerId, Discount = order.Discount, Street = order.Street, Status = (int)OrderStatusTypes.Open, Zip = order.Zip, IsOffer = false, OrderNumber = numberProvider.GetNextOrderNumber(), Positions = new List <Positions>(), CreateDate = DateTime.Now, ChangeDate = DateTime.Now, }; manager.AddEntity(newOrder); foreach (var position in order.Positions.Where(o => o.MaterialId.HasValue && !o.DeleteDate.HasValue).ToList()) { var newPosition = new Positions() { MaterialId = position.MaterialId.Value, IsAlternative = position.IsAlternative, IsMaterialPosition = position.IsMaterialPosition, Amount = position.Amount, Price = position.Price, PaymentType = position.PaymentType, Orders = newOrder }; positionManager.AddEntity(newPosition); newOrder.Positions.Add(newPosition); } manager.SaveChanges(); return(Ok(new { id = newOrder.Id })); }
public IHttpActionResult Post([FromBody] AddNewMaterialModel model) { var term = termManager.GetById(model.termId); ClientTermViewModel result = null; var material = materialManager.GetById(model.materialId); var user = userManager.GetByLogin(model.Login); if (user != null && user.Token == model.Token && material != null && term != null) { var newPosition = new Positions() { Amount = 1, //TODO Description = material.Name, MaterialId = material.Id, Price = material.Price, OrderId = term.OrderId, IsMaterialPosition = true, TermId = term.Id, CreateDate = DateTime.Now, ChangeDate = DateTime.Now, }; positionsManager.AddEntity(newPosition); positionsManager.SaveChanges(); if (term != null) { result = TermViewModelHelper.ToModel(term, false, true); } return(Ok(result)); } return(BadRequest()); }