public ServiceResult <DtoItem> Add(DtoItem item) { //Repository.DbContext.Set<> var categoryExists = Repository.DbContext.Categories.Any(x => x.Id == item.CategoryId); if (!categoryExists) { return new ServiceResult <DtoItem> { Success = false, ErrorMessage = "2404" } } ; var newItem = new Item { Id = 0, Name = item.Name, CategoryId = item.CategoryId }; var result = Repository.Create(newItem); return(new ServiceResult <DtoItem>() { Item = new DtoItem(result) }); }
public ServiceResult <DtoItem> Add(DtoItem item) { var categoryExists = DbContext .Categories .Any(c => c.Id == item.CategoryId); if (!categoryExists) { return(new ServiceResult <DtoItem> { Success = false, ErrorMessage = "3404" }); } var newItem = new Item { Id = 0, Name = item.Name, Availability = item.Availability, CategoryId = item.CategoryId, Contents = item.Contents, Description = item.Description, Price = item.Price }; var result = Repository.Create(newItem); return(new ServiceResult <DtoItem>() { Success = true, Item = new DtoItem(result) }); }
public ServiceResult <DtoItem> Edit(DtoItem type) { try { var categoryExist = Repository.DbContext.Categories.Any(i => i.Id == type.CategoryId); if (categoryExist) { var itemOne = Repository.GetById(type.Id); itemOne.Name = type.Name; itemOne.Price = type.Price; itemOne.Description = type.Description; itemOne.Availability = type.Availability; itemOne.Contents = type.Contents; itemOne.CategoryId = type.CategoryId; Repository.Update(itemOne); } return(new ServiceResult <DtoItem>() { Success = true }); } catch (Exception ex) { return(new ServiceResult <DtoItem>() { Success = false, ErrorMessage = "Cannot insert the item!", }); } }
public ServiceResult <DtoItem> Add(DtoItem item) { var categoryExist = Repository.DbContext.Categories.Any(i => i.Id == item.CategoryId); if (categoryExist) { var result = Repository.Create(new Item() { Id = 0, Name = item.Name, Availability = item.Availability, Price = item.Price, Contents = item.Contents, Description = item.Description, CategoryId = item.CategoryId, }); return(new ServiceResult <DtoItem>() { Item = new DtoItem(result), Success = true }); } else { return(new ServiceResult <DtoItem>() { Success = false, ErrorMessage = "Cannot insert the item!", }); } }
public ServiceResult <DtoItem> Remove(DtoItem item) { try { Repository.Delete(new Item() { CategoryID = item.CategoryID, ItemPrice = item.ItemPrice, ItemName = item.ItemName, ItemDescription = item.ItemDescription, ItemContent = item.ItemContent, Availability = item.Availability, ItemID = item.ItemID }); return(new ServiceResult <DtoItem>() { Success = true }); } catch (Exception ex) { //Log Exception return(new ServiceResult <DtoItem>() { Success = false, Exception = ex, ErrorMessage = ex.Message }); } }
public IHttpActionResult PostItem(DtoItem dtoItem) { //Validate supplied DTO if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (dtoItem == null) { return(BadRequest("Must supply item in body of request.")); } if (dtoItem.Key == null) { return(BadRequest("Must supply key when creating item.")); } //Get parent item Item potentialParent = null; if (dtoItem.Parent != null) { potentialParent = db.Items.Find(dtoItem.Parent); if (potentialParent == null) { return(BadRequest("Can't find parent with specified Id")); } if (potentialParent is Leaf) { throw new System.InvalidOperationException("Parent cannot be Leaf"); } } //Create item and assign it to its parent as a child Item item; try { item = dtoItem.ToDomainObject((Node)potentialParent); if (potentialParent != null) { ((Node)potentialParent).Children.Add(item); } } catch (InvalidDataException exception) { return(BadRequest(exception.Message)); } item.Created(); db.Items.Add(item); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = item.Id }, item.ToDto())); }
public ActionResult Create(DtoItem item) { ServiceResult <DtoItem> result = _service.Add(item); if (result.Success) { return(Json(result.Item)); } return(new HttpStatusCodeResult(400, result.ErrorMessage)); }
public void AddItem_ValidInput_ExpectTwoItems() { var item1 = new DtoItem() { Availability = true, CategoryID = 3, ItemContent = "Something awesome", ItemDescription = "Yummy", ItemName = "Food", ItemPrice = 200 }; var item2 = new DtoItem() { Availability = true, CategoryID = 2, ItemContent = "Something awesome", ItemDescription = "Yummy", ItemName = "Drink", ItemPrice = 100 }; var item3 = new DtoItem() { Availability = true, CategoryID = 5, ItemContent = "Something awesome", ItemDescription = "Yummy", ItemName = "NjamNjam", ItemPrice = 200 }; var service = new ItemService(); var result1 = service.Add(item1); var result2 = service.Add(item2); var result3 = service.Add(item3); var resultCategories = service.LoadAll(); Assert.IsNotNull(result1); Assert.IsTrue(result1.Success); Assert.IsNotNull(result2); Assert.IsTrue(result2.Success); Assert.IsNotNull(result3); Assert.IsFalse(result3.Success); Assert.IsNotNull(resultCategories); Assert.IsTrue(resultCategories.Success); }
public ServiceResult <DtoItem> Add(DtoItem item) { try { using (var service = new CategoryService()) { if (!service.LoadAll().Items.Any(m => m.CategoryID == item.CategoryID)) { return new ServiceResult <DtoItem> { Success = false, ErrorMessage = "Category id does not exist in this context" } } ; } // Treba da se napravi proverka dali postoi MenuID var result = Repository.Create(new Item() { CategoryID = item.CategoryID, ItemPrice = item.ItemPrice, ItemName = item.ItemName, ItemDescription = item.ItemDescription, ItemContent = item.ItemContent, Availability = item.Availability }); return(new ServiceResult <DtoItem>() { Item = new DtoItem(result), Success = true }); } catch (Exception ex) { //Log Exception return(new ServiceResult <DtoItem>() { Success = false, Exception = ex, ErrorMessage = ex.Message }); } }
public ServiceResult <DtoItem> Add(DtoItem item) { try { if (Context.Categories.Any(c => c.CategoryId == item.CategoryId)) { var result = Repository.Create(new Item() { ItemName = item.ItemName, ItemPrice = item.ItemPrice, ItemDescription = item.ItemDescription, ItemContents = item.ItemContents, ItemAvailability = item.ItemAvailability, CategoryId = item.CategoryId }); return(new ServiceResult <DtoItem>() { Item = new DtoItem(result), Success = true }); } else { return(new ServiceResult <DtoItem>() { Success = false, ErrorMessage = "There is no category with the specified category ID." }); } } catch (Exception ex) { //Log exception return(new ServiceResult <DtoItem>() { Success = false, Exception = ex, ErrorMessage = ex.Message }); } }
public ServiceResult <DtoItem> Load(DtoItem item) { try { var result = Repository.Get(item.ItemID); return(new ServiceResult <DtoItem>() { Item = new DtoItem(result), Success = true }); } catch (Exception ex) { //Log Exception return(new ServiceResult <DtoItem>() { Success = false, Exception = ex, ErrorMessage = ex.Message }); } }
// GET: Items/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ItemDetailViewModel vm = new ItemDetailViewModel(); DtoItem item = (from i in db.Item where i.Ite_Id == id select new DtoItem() { Ite_Id = i.Ite_Id, Ite_Name = i.Ite_Name, Ite_Type = i.Ite_Type, Ite_Collection = i.Ite_Collection, Ite_Edition = i.Ite_Edition, Ite_Editor = i.Ite_Editor, Ite_ISBN = i.Ite_ISBN, Ite_ProdDate = i.Ite_ProdDate, Makers = (from m in i.Maker select new DtoPerson() { Per_FirstName = m.Per_FirstName, Per_LastName = m.Per_LastName }).ToList() }).Single(); if (item == null) { return(HttpNotFound()); } vm.item = item; return(View(vm)); }
public void AddItem_ValidInput_ExpectTwoItems() { //Act //add categories first if none exist in the database!!! //DtoCategory category1 = new DtoCategory() //{ // MenuId = 1, // CategoryName = "Salads" //}; //DtoCategory category2 = new DtoCategory() //{ // MenuId = 2, // CategoryName = "Sodas" //}; //DtoCategory category3 = new DtoCategory() //{ // MenuId = 3, // CategoryName = "Sandwiches" //}; DtoItem item1 = new DtoItem() { ItemName = "Sandwich", ItemPrice = 120, ItemDescription = "Tuna sandwich", ItemContents = "Bread, tuna, sesame, mayonnaise", ItemAvailability = true, CategoryId = 3 }; DtoItem item2 = new DtoItem() { ItemName = "Caesar salad", ItemPrice = 140, ItemDescription = "Caesar salad", ItemContents = "Chicken meat, iceberg salad, carrots, cheese, sauce", ItemAvailability = true, CategoryId = 1 }; DtoItem item3 = new DtoItem() { ItemName = "Coca-Cola", ItemPrice = 40, ItemDescription = "Coca-Cola", ItemContents = "Coca-Cola soda drink", ItemAvailability = true, CategoryId = 2 }; //Arrange var itemService = new ItemService(); var result1 = itemService.Add(item1); // will add them to the database each time the test is run, and the entries are repeated var result2 = itemService.Add(item2); var result3 = itemService.Add(item3); var resultItems = itemService.LoadAll(); //Assert Assert.IsNotNull(result1); Assert.IsTrue(result1.Success); Assert.IsNotNull(result2); Assert.IsTrue(result2.Success); Assert.IsNotNull(result3); Assert.IsTrue(result3.Success); Assert.IsNotNull(resultItems); Assert.IsTrue(resultItems.Success); Assert.IsNotNull(resultItems.ListItems); //Assert.AreEqual(2, resultItems.ListItems.Count); Assert.IsTrue(resultItems.ListItems.Count >= 3); // since test method adds the same entries to the database, here we check if there are at least 2 created }
public ServiceResult <DtoItem> Remove(DtoItem item) { throw new NotImplementedException(); }
public IHttpActionResult PutItem(int id, DtoItem dtoItem) { //Check dto received is valid if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //Check id matches if (dtoItem == null) { return(BadRequest("Must supply item in body of request.")); } if (id != dtoItem.Id) { return(BadRequest("Id in url must match id in request body.")); } //Get the itemfrom the db Item item = db.Items.Find(id); if (item == null) { return(StatusCode(HttpStatusCode.NotFound)); } //Get the item's parent Item potentialParent = null; if (dtoItem.Parent != null) { potentialParent = db.Items.Find(dtoItem.Parent); if (potentialParent == null) { return(BadRequest("Can't find parent with specified Id")); } if (potentialParent is Leaf) { throw new System.InvalidOperationException("Parent cannot be Leaf"); } } //Convert parent to domain object //Update the item's key to match the parent, and value if the item is a leaf try { Item new_item = dtoItem.ToDomainObject((Node)potentialParent); item.Key = new_item.Key; if (dtoItem is DtoLeaf) { if (!(item is Leaf)) { throw new System.InvalidOperationException("Item type must match."); } ((Leaf)item).Value = ((Leaf)new_item).Value; ((Leaf)item).Stale = ((Leaf)new_item).Stale; } } catch (InvalidDataException exception) { return(BadRequest(exception.Message)); } item.Updated(); db.SaveChanges(); return(Ok(item.ToDto())); }