public SupplyResponse Get(int id) { var category = _dbContext.Category.Include(a => a.CategoryItems).ThenInclude(a => a.VirtualItem).SingleOrDefault(p => p.CategoryId == id); if (category == null) { return(SupplyResponse.NotFound("category", id + "")); } var categoryItemResponse = new CategoryItemResponse { Category = category, VirtualItemId = new List <string>() }; if (category.CategoryItems != null) { foreach (var categoryItem in category.CategoryItems) { categoryItemResponse.VirtualItemId.Add(categoryItem.VirtualItem.VirtualItemId); } category.CategoryItems = null; } return(SupplyResponse.Ok(categoryItemResponse)); }
public SupplyResponse Put(int id) { var order = _dbContext.DespatchInstruction.Include(p => p.Request) .ThenInclude(p => p.RequestItem).ThenInclude(p => p.VirtualItem).Include(p => p.Request) .ThenInclude(p => p.Restaurant) .SingleOrDefault(p => p.DespatchInstructionId == id); if (order == null) { return(SupplyResponse.NotFound("Purchase Order", id + "")); } order.Request.RequestStatus = RequestStatus.Delivering; _dbContext.SaveChanges(); order.DespatchInstructionStatus = 1; _dbContext.SaveChanges(); _dbContext.DeliveryNote.Add(new DeliveryNote { CreateTime = DateTime.Now, RequestId = order.RequestId }); _dbContext.SaveChanges(); return(Get(id)); }
public SupplyResponse Put(int id, [FromBody] ICollection <ItemRequest> itemRequest) { var request = _dbContext.Request.Include(p => p.RequestItem).SingleOrDefault(p => p.RequestId == id); if (request == null) { return(SupplyResponse.NotFound("Request", id + "")); } if (itemRequest == null || !itemRequest.Any()) { return(SupplyResponse.BadRequest("Request Item cannot be empty.")); } ICollection <RequestItem> requestItems; if ((requestItems = request.RequestItem) != null) { foreach (var items in requestItems) { _dbContext.Remove(items); } } _dbContext.SaveChanges(); var itemMap = new Dictionary <int, int>(); foreach (var item in itemRequest) { var virtualItem = _dbContext.VirtualItem.SingleOrDefault(p => p.VirtualItemId.Equals(item.VirtualItemId)); if (virtualItem == null) { return(SupplyResponse.NotFound("virtual item", item.VirtualItemId)); } if (itemMap.ContainsKey(virtualItem.Id)) { itemMap[virtualItem.Id] += item.Quantity; } else { itemMap.Add(virtualItem.Id, item.Quantity); } } foreach (var(itemId, qty) in itemMap) { var requestItem = new RequestItem { RequestId = request.RequestId, VirtualItemId = itemId, Quantity = qty }; _dbContext.RequestItem.Add(requestItem); _dbContext.SaveChanges(); } return(Get(request.RequestId)); }
public SupplyResponse Post(string id, [FromBody] IdRequest idRequest) { if (idRequest == null || string.IsNullOrWhiteSpace(idRequest.Id)) { return(SupplyResponse.RequiredFieldEmpty()); } var vItem = _dbContext.VirtualItem.SingleOrDefault(p => p.VirtualItemId == idRequest.Id); var item = _dbContext.Item.SingleOrDefault(p => p.SupplierItemId == id); if (item == null) { return(SupplyResponse.NotFound("item", id)); } if (vItem == null) { return(SupplyResponse.NotFound("virtual item", idRequest.Id)); } if (_dbContext.VirtualIdMap.SingleOrDefault(p => p.ItemId == item.Id && p.VirtualItemId == vItem.Id) != null) { return(SupplyResponse.DuplicateEntry("virtual map", $"{id}<->{idRequest.Id}")); } _dbContext.VirtualIdMap.Add(new VirtualIdMap { ItemId = item.Id, VirtualItemId = vItem.Id }); _dbContext.SaveChanges(); return(SupplyResponse.Ok()); }
public SupplyResponse Put(int id, [FromBody] UserRequest user) { var dbUser = _dbContext.User.SingleOrDefault(p => p.UserId == id); if (dbUser == null) { return(SupplyResponse.NotFound("user", id + "")); } if (string.IsNullOrWhiteSpace(user.UserName)) { return(SupplyResponse.BadRequest("Required Field is Empty")); } dbUser.Name = user.Name; dbUser.UserName = user.UserName; dbUser.UserType = user.UserType; var oldPw = dbUser.Password; user.Password = string.IsNullOrWhiteSpace(user.Password) ? oldPw : HashUtilities.HashPassword(user.Password); _dbContext.SaveChanges(); return(Get(id)); }
public SupplyResponse AddToCategory(int id, [FromBody] IdRequest idRequest) { var category = _dbContext.Category.SingleOrDefault(p => p.CategoryId == id); var vItm = _dbContext.VirtualItem.SingleOrDefault(p => p.VirtualItemId == idRequest.Id); if (category == null) { return(SupplyResponse.NotFound("category", id + "")); } if (vItm == null) { return(SupplyResponse.NotFound("virtual item", idRequest.Id + "")); } var cItem = _dbContext.CategoryItem.SingleOrDefault(p => p.CategoryId == category.CategoryId && p.VirtualItem.VirtualItemId == vItm.VirtualItemId); if (cItem != null) { return(SupplyResponse.DuplicateEntry("category item", $"\"{cItem.VirtualItemId} in {cItem.CategoryId}\"")); } var cateItm = new CategoryItem { CategoryId = category.CategoryId, VirtualItemId = vItm.Id }; _dbContext.CategoryItem.Add(cateItm); _dbContext.SaveChanges(); return(Get(category.CategoryId)); }
public SupplyResponse Delete(int id) { var entity = _dbContext.Restaurant.SingleOrDefault(p => p.RestaurantId == id); if (entity == null) return SupplyResponse.NotFound("restaurant", id + ""); _dbContext.Remove(entity); _dbContext.SaveChanges(); return SupplyResponse.Ok(); }
public SupplyResponse Get(int id) { var order = _dbContext.BlanketRelease.Include(p => p.Agreement).ThenInclude(p => p.Supplier).Include(p => p.Request) .ThenInclude(p => p.RequestItem).Include(p => p.BlanketReleaseLine).ThenInclude(p => p.Item).Include(p => p.Request) .ThenInclude(p => p.Restaurant) .SingleOrDefault(p => p.OrderId == id); return(order == null?SupplyResponse.NotFound("Purchase Order", id + "") : SupplyResponse.Ok(order)); }
public SupplyResponse Get(int id) { var order = _dbContext.DeliveryNote.Include(p => p.Request) .ThenInclude(p => p.RequestItem).ThenInclude(p => p.VirtualItem).Include(p => p.Request) .ThenInclude(p => p.Restaurant) .SingleOrDefault(p => p.RequestId == id); return(order == null?SupplyResponse.NotFound("Delivery Note", id + "") : SupplyResponse.Ok(order)); }
public SupplyResponse Get(string id) { var item = _dbContext.Item.SingleOrDefault(p => p.SupplierItemId.Equals(id)); if (item == null) { return(SupplyResponse.NotFound("item", id)); } return(SupplyResponse.Ok(item)); }
public SupplyResponse Get(int id) { var order = _dbContext.ScheduleRelease.Include(p => p.Agreement) .ThenInclude(p => p.PlannedPurchaseAgreementDetails).Include(p => p.Agreement) .ThenInclude(p => p.Supplier).Include(p => p.Agreement) .ThenInclude(p => p.PlannedPurchaseAgreementLines).ThenInclude(p => p.Item) .SingleOrDefault(p => p.OrderId == id); return(order == null?SupplyResponse.NotFound("Schedule Release", id + "") : SupplyResponse.Ok(order)); }
public SupplyResponse Get(int id) { var item = _dbContext.Category.SingleOrDefault(p => p.CategoryId == id); if (item == null) { return(SupplyResponse.NotFound("categorty", id + "")); } return(SupplyResponse.Ok(item)); }
public SupplyResponse Get(int id) { var supplier = _dbContext.Supplier.SingleOrDefault(p => p.SupplierId == id); if (supplier == null) { return(SupplyResponse.NotFound("supplier", id + "")); } return(SupplyResponse.Ok(supplier)); }
public SupplyResponse Get(int id) { var user = _dbContext.User.SingleOrDefault(p => p.UserId == id); if (user == null) { return(SupplyResponse.NotFound("user", id + "")); } user.Password = null; return(SupplyResponse.Ok(user)); }
public SupplyResponse Delete(int id) { var entity = _dbContext.Category.SingleOrDefault(p => p.CategoryId == id); if (entity == null) { return(SupplyResponse.NotFound("category", id + "")); } _dbContext.Remove(entity); _dbContext.SaveChanges(); return(SupplyResponse.Ok()); }
public SupplyResponse Delete(int id) { var user = _dbContext.User.SingleOrDefault(p => p.UserId == id); if (user == null) { return(SupplyResponse.NotFound("user", id + "")); } _dbContext.Remove(user); _dbContext.SaveChanges(); return(SupplyResponse.Ok()); }
public SupplyResponse Put(int id, [FromBody] BlanketRelease orderStatus) { var order = _dbContext.BlanketRelease.SingleOrDefault(p => p.OrderId == id); if (order == null) { return(SupplyResponse.NotFound("Purchase Order", id + "")); } order.PurchaseOrderStatus = orderStatus.PurchaseOrderStatus; _dbContext.SaveChanges(); return(Get(id)); }
public SupplyResponse Delete(string id, [FromBody] IdRequest idRequest) { var entity = _dbContext.VirtualIdMap.SingleOrDefault(p => p.VirtualItem.VirtualItemId == idRequest.Id && p.Item.SupplierItemId == id); if (entity == null) { return(SupplyResponse.NotFound("virtual map", $"{id}<->{idRequest.Id}")); } _dbContext.Remove(entity); _dbContext.SaveChanges(); return(SupplyResponse.Ok()); }
public SupplyResponse RemoveFromStock(int id, [FromBody] IdRequest idRequest) { var stockItem = _dbContext.StockItem.SingleOrDefault(p => p.StockId == id && p.VirtualItem.VirtualItemId == idRequest.Id); if (stockItem == null) { return(SupplyResponse.NotFound("stock item", $"\"{idRequest.Id} in {id}\"")); } _dbContext.StockItem.Remove(stockItem); _dbContext.SaveChanges(); return(SupplyResponse.Ok()); }
public SupplyResponse Put(int id, [FromBody] Restaurant restaurant) { var entity = _dbContext.Restaurant.AsNoTracking().SingleOrDefault(p => p.RestaurantId == id); if (entity == null) return Post(restaurant); if (string.IsNullOrWhiteSpace(restaurant.RestaurantName) || string.IsNullOrWhiteSpace(restaurant.RestaurantLocation) || restaurant.RestaurantTypeId == 0) return SupplyResponse.RequiredFieldEmpty(); if (_dbContext.RestaurantType.SingleOrDefault(p => p.RestaurantTypeId == restaurant.RestaurantTypeId) == null) return SupplyResponse.NotFound("restaurant type", restaurant.RestaurantTypeId + ""); restaurant.RestaurantId = id; _dbContext.Attach(restaurant); _dbContext.Entry(restaurant).State = EntityState.Modified; _dbContext.SaveChanges(); return Get(id); }
public SupplyResponse Put(int id, [FromBody] Supplier supplier) { var entity = _dbContext.Supplier.AsNoTracking().SingleOrDefault(p => p.SupplierId == id); if (entity == null) { return(SupplyResponse.NotFound("supplier", id + "")); } if (string.IsNullOrWhiteSpace(supplier.SupplierName)) { return(SupplyResponse.BadRequest("Required Field is Empty")); } supplier.SupplierId = id; _dbContext.Attach(supplier); _dbContext.Entry(supplier).State = EntityState.Modified; _dbContext.SaveChanges(); return(Get(id)); }
public SupplyResponse RemoveRestaurantType(int id) { if (id == 0) { return(SupplyResponse.RequiredFieldEmpty()); } var restaurantType = _dbContext.RestaurantType.SingleOrDefault(p => p.RestaurantTypeId == id); if (restaurantType == null) { return(SupplyResponse.NotFound("restaurant type", "" + id)); } _dbContext.RestaurantType.Remove(restaurantType); _dbContext.SaveChanges(); return(SupplyResponse.Ok()); }
public SupplyResponse Post([FromBody] Restaurant restaurant) { if (string.IsNullOrWhiteSpace(restaurant.RestaurantName) || string.IsNullOrWhiteSpace(restaurant.RestaurantLocation) || restaurant.RestaurantTypeId == 0) return SupplyResponse.RequiredFieldEmpty(); if (_dbContext.RestaurantType.SingleOrDefault(p => p.RestaurantTypeId == restaurant.RestaurantTypeId) == null) return SupplyResponse.NotFound("restaurant type", restaurant.RestaurantTypeId + ""); var stock = new Stock(); _dbContext.Stock.Add(stock); _dbContext.SaveChanges(); restaurant.StockId = stock.StockId; _dbContext.Restaurant.Add(restaurant); _dbContext.SaveChanges(); return Get(restaurant.RestaurantId); }
public SupplyResponse RemoveRestaurantManager(int id, [FromBody] IntIdRequest idRequest) { if (id == 0 || idRequest.Id == 0) { return(SupplyResponse.RequiredFieldEmpty()); } var restaurantManager = _dbContext.RestaurantManager.SingleOrDefault(p => p.RestaurantId == id && p.UserId == idRequest.Id); if (restaurantManager == null) { return(SupplyResponse.NotFound("restaurant manager", idRequest.Id + "<->" + id)); } _dbContext.RestaurantManager.Remove(restaurantManager); _dbContext.SaveChanges(); return(SupplyResponse.Ok()); }
public SupplyResponse Delete(int id) { try { var agreement = _dbContext.Agreement.SingleOrDefault(p => p.AgreementId == id); if (agreement == null) { return(SupplyResponse.NotFound("Agreement", id + "")); } _dbContext.Remove(agreement); _dbContext.SaveChanges(); return(SupplyResponse.Ok()); } catch { return(SupplyResponse.Fail("Agreement in use", "This agreement had referenced by orders, you cannot remove it.")); } }
public SupplyResponse Delete(string id) { try { var entity = _dbContext.Item.SingleOrDefault(p => p.SupplierItemId.Equals(id)); if (entity == null) { return(SupplyResponse.NotFound("item", id + "")); } _dbContext.Remove(entity); _dbContext.SaveChanges(); return(SupplyResponse.Ok()); } catch { return(SupplyResponse.Fail("Item in use", "This item referenced by request or order, you cannot remove it.")); } }
public SupplyResponse Put(int id, DeliveryNote deliveryNote) { var order = _dbContext.DeliveryNote.Include(p => p.Request) .ThenInclude(p => p.RequestItem).ThenInclude(p => p.VirtualItem).Include(p => p.Request) .ThenInclude(p => p.Restaurant) .SingleOrDefault(p => p.RequestId == id); if (order == null) { return(SupplyResponse.NotFound("Purchase Order", id + "")); } order.DeliveryStatus = deliveryNote.DeliveryStatus; _dbContext.SaveChanges(); return(Get(id)); }
public SupplyResponse Post([FromBody] Item item) { if (string.IsNullOrWhiteSpace(item.ItemName) || item.SupplierId == 0 || string.IsNullOrWhiteSpace(item.SupplierItemId)) { return(SupplyResponse.RequiredFieldEmpty()); } if (_dbContext.Item.SingleOrDefault(p => p.SupplierItemId == item.SupplierItemId) != null) { return(SupplyResponse.DuplicateEntry("item", item.SupplierItemId)); } if (_dbContext.Supplier.SingleOrDefault(p => p.SupplierId == item.SupplierId) == null) { return(SupplyResponse.NotFound("supplier", item.SupplierId + "")); } item.Id = 0; _dbContext.Item.Add(item); _dbContext.SaveChanges(); return(Get(item.SupplierItemId)); }
public SupplyResponse Get(string id, bool supplieritem) { if (supplieritem) { var item = _dbContext.Item.Include(a => a.VirtualIdMap).ThenInclude(b => b.VirtualItem) .SingleOrDefault(p => p.SupplierItemId.Equals(id)); if (item == null) { return(SupplyResponse.NotFound("item", id)); } var items = new List <string>(); if (item.VirtualIdMap != null) { foreach (var virtualIdMap in item.VirtualIdMap) { items.Add(virtualIdMap.VirtualItem.VirtualItemId); } } return(SupplyResponse.Ok(items)); } else { var item = _dbContext.VirtualItem.Include(a => a.VirtualIdMap).ThenInclude(b => b.Item) .SingleOrDefault(p => p.VirtualItemId.Equals(id)); if (item == null) { return(SupplyResponse.NotFound("virtual item", id)); } var items = new List <string>(); if (item.VirtualIdMap != null) { foreach (var virtualIdMap in item.VirtualIdMap) { items.Add(virtualIdMap.Item.SupplierItemId); } } return(SupplyResponse.Ok(items)); } }
public SupplyResponse AddRestaurantManager(int id, [FromBody] IntIdRequest idRequest) { if (id == 0 || idRequest.Id == 0) { return(SupplyResponse.RequiredFieldEmpty()); } var restaurant = _dbContext.Restaurant.SingleOrDefault(p => id == p.RestaurantId); var user = _dbContext.User.SingleOrDefault(p => p.UserId == idRequest.Id); if (restaurant == null) { return(SupplyResponse.NotFound("restaurant", id + "")); } if (user == null) { return(SupplyResponse.NotFound("user", idRequest.Id + "")); } var restaurantManager = _dbContext.RestaurantManager.Include(p => p.Restaurant) .SingleOrDefault(p => p.UserId == idRequest.Id); if (restaurantManager != null) { return(SupplyResponse.Fail("Already a Manager", "This user is already a manager of restaurant: " + restaurantManager.Restaurant.RestaurantName)); } restaurantManager = new RestaurantManager { RestaurantId = id, UserId = idRequest.Id }; _dbContext.RestaurantManager.Add(restaurantManager); _dbContext.SaveChanges(); return(Get(id)); }