コード例 #1
0
        public AdjustmentLanchPage(DataBaseManager database, Models.Inventory item)
        {
            Title     = "Adjustments";
            _item     = item;
            _database = database;

            var btnAdjustIn       = ControlFactory.GetButton("Adjust In");
            var btnAdjustOut      = ControlFactory.GetButton("Adjust Out");
            var btnAdjustTransfer = ControlFactory.GetButton("Transfer");


            btnAdjustIn.Clicked += async(object sender, EventArgs e) =>
            {
                await Navigation.PushAsync(new InventoryAdjustmentPage(Adjustment_Type.Adjust_In, _database, _item));
            };
            btnAdjustOut.Clicked += async(object sender, EventArgs e) =>
            {
                await Navigation.PushAsync(new InventoryAdjustmentPage(Adjustment_Type.Adjust_Out, _database, _item));
            };
            btnAdjustTransfer.Clicked += async(object sender, EventArgs e) =>
            {
                await Navigation.PushAsync(new InventoryAdjustmentPage(Adjustment_Type.Transfer, _database, _item));
            };

            var stack = new StackLayout()
            {
                Padding         = 10,
                Spacing         = 5,
                Orientation     = StackOrientation.Vertical,
                Children        = { btnAdjustIn, btnAdjustOut, btnAdjustTransfer },
                VerticalOptions = LayoutOptions.CenterAndExpand
            };

            Content = stack;
        }
コード例 #2
0
        public async Task <IHttpActionResult> PutInventory(int id, Models.Inventory request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var inventory = db.Inventories.Find(id);

            inventory.Quantity -= request.Quantity;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!InventoryExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #3
0
        public ActionResult ViewRestaurantData_Inventory()
        {
            invlist = new List <Models.Inventory>();
            var o        = db.GetInventory();
            int location = (int)TempData["location"];

            TempData.Keep();

            foreach (var i in o)
            {
                if (i.InvLocation == location)
                {
                    inv           = new Inventory();
                    inv.Dough     = i.DoughQty;
                    inv.Sauce     = i.SauceQty;
                    inv.Cheese    = i.CheeseQty;
                    inv.Pepperoni = i.PepperoniQty;
                    inv.Sausage   = i.SausageQty;
                    inv.Bacon     = i.BaconQty;
                    inv.Pineapple = i.PineappleQty;
                    inv.Mushroom  = i.MushroomQty;
                    inv.Onion     = i.OnionQty;
                    inv.Olive     = i.OliveQty;
                    invlist.Add(inv);
                }
            }
            return(View(invlist));
        }
コード例 #4
0
        public InventoryWhsPage(DataBaseManager database, Models.Inventory item)
        {
            _database = database;
            Title     = "WareHouses";
            var whss = _database.GetInventoryWarehouses(item.Item_ID);

            _InventoryList              = new ListView();
            _InventoryList.ItemsSource  = whss;
            _InventoryList.ItemTemplate = new DataTemplate(typeof(TextCell));
            _InventoryList.ItemTemplate.SetBinding(TextCell.TextProperty, "Warehouse_Name");
            _InventoryList.ItemTemplate.SetBinding(TextCell.DetailProperty, "Quantity");



            //var toolbarItem = new ToolbarItem
            //{
            //    Name = "Add",
            //    Command = new Command(() => Navigation.PushAsync(new InventoryEditPage(this, _database))),

            //};

            //ToolbarItems.Add(toolbarItem);

            Content = _InventoryList;
        }
コード例 #5
0
 public ActionResult DeleteConfirmed(int id)
 {
     Models.Inventory invnetory = db.Inventories.Find(id);
     db.Items.Remove(invnetory);
     db.SaveChanges();
     return(RedirectToAction("Index"));
 }
コード例 #6
0
        public static Models.Inventory GetInventory(int id, int?qty)
        {
            var result = new Models.Inventory();

            using (var ctx = new Data.AMEntDataContext())
            {
                result = ctx.Inventories
                         .Where(x => x.ID == id)
                         .Select(x => new Models.Inventory
                {
                    Id               = x.ID,
                    ItemCode         = x.ItemCode,
                    Description      = x.Remarks.Trim().Length > 0 ? x.Remarks : x.Description,
                    ShortDescription = x.ShortDescription,
                    UOfM             = x.UnitOfMeasure.UOMCode,
                    Quantity         = qty,
                    ListPrice        = x.InventoryPrices != null ?
                                       x.InventoryPrices.FirstOrDefault() != null ?
                                       x.InventoryPrices.FirstOrDefault().InventoryListPrices != null && x.InventoryPrices.FirstOrDefault().InventoryListPrices.Count() > 0 ?
                                       x.InventoryPrices.FirstOrDefault().InventoryListPrices.Max(a => a.ListPrice) : 0
                                : 0
                            : 0,
                    ImagePath = Resource.StaticResource.ImagePath
                }).SingleOrDefault();
            }

            return(result);
        }
コード例 #7
0
        public ActionResult Create(int inventoryId)
        {
            Models.Inventory inventory = db.Inventories.Find(inventoryId);

            return(View(new Item {
                InventoryId = inventoryId, Name = inventory.DefaultName, Category = inventory.DefaultCategory, Type = inventory.DefaultType, InStock = inventory.DefaultInStock, Total = inventory.DefaultTotal, Size = inventory.DefaultSize, Color = inventory.DefaultColor
            }));
        }
コード例 #8
0
 public static Inventory AsStore(this Models.Inventory source) => new Inventory
 {
     Id           = source.InventoryId,
     OwnerId      = source.OwnerId,
     CreatedBy    = source.CreatedBy,
     ModifiedBy   = source.ModifiedBy,
     DateCreated  = source.DateCreated ?? DateTime.UtcNow,
     DateModified = source.DateModified
 };
コード例 #9
0
        private void btnUpdate_Click(object sender, RoutedEventArgs e)
        {
            int Quantity = 0;

            try
            {
                Quantity = Convert.ToInt32(txtProductQuantity.Text);
                if (Quantity <= 0)
                {
                    MessageBox.Show(
                        "Số lượng không hợp lệ",
                        "Cập nhật Tồn kho",
                        MessageBoxButton.OK,
                        MessageBoxImage.Warning);
                    return;
                }
            }
            catch (Exception)
            {
                MessageBox.Show(
                    "Số lượng không hợp lệ",
                    "Cập nhật Tồn kho",
                    MessageBoxButton.OK,
                    MessageBoxImage.Warning);
                return;
            }

            if (MessageBox.Show(
                    "Bạn chắc chắn muốn cập nhật tồn kho, số lượng: " + txtProductQuantity.Text,
                    "Cập nhật Tồn kho",
                    MessageBoxButton.YesNo,
                    MessageBoxImage.Question
                    ) == MessageBoxResult.Yes)
            {
                Models.Inventory inventory = new Models.Inventory();
                inventory.ProductId = _product.Id;
                inventory.AccountId = App.accountController.Account.Id;
                inventory.Detail    = txtProductDetail.Text;
                inventory.Type      = 0;
                inventory.Quantity  = Quantity;

                if (App.inventoryController.Update(inventory))
                {
                    if (MessageBox.Show(
                            "Cập nhật thành công." + '\n'
                            + "Bạn có muốn in sao kê?",
                            "Cập nhật Tồn kho",
                            MessageBoxButton.YesNo,
                            MessageBoxImage.Question) == MessageBoxResult.Yes)
                    {
                        App.inventoryController.Export(inventory.Id);
                    }

                    this.Close();
                }
            }
        }
コード例 #10
0
 public ActionResult Edit([Bind(Include = "Id,NonExclusiveRef,Name,Description,IsWhiteList")] Models.Inventory invnetory)
 {
     if (ModelState.IsValid)
     {
         db.Entry(invnetory).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(invnetory));
 }
コード例 #11
0
 public Entities.Inventory ParseInventory(Models.Inventory inventory)
 {
     return(new Entities.Inventory()
     {
         Quantity = inventory.Quantity,
         Productid = inventory.ProductId,
         Locationid = inventory.LocationId,
         Id = inventory.Id
     });
 }
コード例 #12
0
        public ActionResult Create([Bind(Include = "Id,NonExclusiveRef,Name,Description,IsWhiteList")] Models.Inventory invnetory)
        {
            if (ModelState.IsValid)
            {
                db.Inventories.Add(invnetory);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(invnetory));
        }
コード例 #13
0
        public InventoryPage(InventoryListPage parent, DataBaseManager database, Models.Inventory item)//(Models.Inventory item)
        {
            _parent    = parent;
            _database  = database;
            _item      = item;
            this.Title = _item.Name;

            this.Children.Add(new InventoryEditPage(_parent, _database, _item));
            this.Children.Add(new InventoryWhsPage(_database, _item));
            this.Children.Add(new AdjustmentLanchPage(_database, _item));// ,Icon = "Today.png"});
        }
コード例 #14
0
        public async Task <IHttpActionResult> GetInventory(int id)
        {
            Models.Inventory inventory = await db.Inventories.FindAsync(id);

            if (inventory == null)
            {
                return(NotFound());
            }

            return(Ok(inventory));
        }
コード例 #15
0
        public Models.Inventory GetInventory()
        {
            var inventory = new Models.Inventory()
            {
                Available = _pet.GetAvailablePetsCount(),
                Pending   = _pet.GetPendingPetsCount(),
                Sold      = _pet.GetSoldPetsCount(),
            };

            return(inventory);
        }
コード例 #16
0
        public void AddInventory(int storeId, int productId)
        {
            var inventory = new Models.Inventory();

            inventory.StoreId   = storeId;
            inventory.ProductId = productId;
            inventory.Quantity  = 0;

            _dbContext.Add(Mapping.Map(inventory));
            _dbContext.SaveChanges();
        }
コード例 #17
0
 public IActionResult OnGet(int?id)
 {
     InventoryObj = new Models.Inventory();
     if (id != null)
     {
         InventoryObj = _unitOfWork.Inventory.GetFirstOrDefault(u => u.Id == id);
         if (InventoryObj == null)
         {
             return(NotFound());
         }
     }
     return(Page()); //Refreshes page onGet if there's no id passed in
 }
コード例 #18
0
 // GET: Inventory/Delete/5
 public ActionResult Delete(int?id)
 {
     if (id == null)
     {
         return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
     }
     Models.Inventory invnetory = db.Inventories.Find(id);
     if (invnetory == null)
     {
         return(HttpNotFound());
     }
     return(View(invnetory));
 }
コード例 #19
0
        /// <summary>
        /// Get Item Details
        /// </summary>
        /// <param name="itemName"></param>
        /// <returns></returns>
        public JsonResult GetItemDetails(string itemName)
        {
            using (ELFILOEntities _entites = new ELFILOEntities())
            {
                Models.Inventory inventoryDetails = new Models.Inventory();
                var _result = _entites.Inventory.Where(x => x.itemName == itemName).FirstOrDefault();

                if (_result != null)
                {
                    inventoryDetails = _result;
                }
                return(Json(new { data = inventoryDetails }, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #20
0
ファイル: UnitTest1.cs プロジェクト: Zerq/Omnicatz.Inventory
        public void TestMethod1()
        {
            var boxA = new Models.Inventory()
            {
                Name = "Box A"
            };

            //  var boxB = new Models.Inventory() { Name = "Box B" , Items= new System.Collections.Generic.List<Models.Item>() { boxA } };
            db.Inventories.Add(boxA);
            //  db.Inventories.Add(boxB);
            db.SaveChanges();


            Assert.Fail();
        }
コード例 #21
0
 /// <summary>
 /// Add Item in Inventory
 /// </summary>
 /// <param name="inventory"></param>
 /// <returns></returns>
 public string AddIventoryItem(Models.Inventory inventory)
 {
     //check if its not null
     if (inventory != null)
     {
         using (ELFILOEntities _entiies = new ELFILOEntities())
         {
             //add the passed object.
             _entiies.Inventory.Add(inventory);
             _entiies.SaveChanges();
             return("Customer Successfully Added");
         }
     }
     else
     {
         return("Error While Inserting");
     }
 }
コード例 #22
0
        public IActionResult Inventory(int id)
        {
            var invs = db2.getInventory();

            foreach (var inv in invs)
            {
                x              = new Models.Inventory();
                x.cost_inv     = inv.cost_inv;
                x.FkIngredient = inv.FkIngredient;
                x.invId        = inv.invId;
                x.resfId       = inv.resfId;
                x.stock        = inv.stock;
                if (id == x.resfId)
                {
                    invlist.Add(x);
                }
            }
            return(View(invlist));
        }
コード例 #23
0
 public static Fleets.Line.Models.Inventory GetInventoryItem(XDocument xDocument, string code)
 {
     Fleets.Line.Models.Inventory Inventory = null;
     foreach (XElement xe in xDocument.Descendants("Item"))
     {
         if (xe.Element("Id").Value.ToUpper() == code.ToUpper())
         {
             Inventory = new Models.Inventory()
             {
                 ProductId    = xe.Element("Id").Value,
                 ProductImage = xe.Element("Image").Value,
                 Description  = xe.Element("Description").Value,
                 Currency     = xe.Element("Currency").Value,
                 Price        = Convert.ToDouble(xe.Element("Price").Value)
             };
         }
     }
     return(Inventory);
 }
コード例 #24
0
ファイル: db_Accounts.cs プロジェクト: enisn/TecoRP_GTMP
        public static Inventory GetOfflineUserInventory(string socialClubName)
        {
            if (String.IsNullOrEmpty(socialClubName))
            {
                return(null);
            }
            var path = Path.Combine(INVENTORY_FOLDER, socialClubName);

            if (!File.Exists(path))
            {
                return(null);
            }
            else
            {
                var txt = File.ReadAllText(path);
                Models.Inventory playerObj = API.shared.fromJson(txt).ToObject <Models.Inventory>();
                return(playerObj);
            }
        }
コード例 #25
0
        public ActionResult Detail(Models.Inventory model)
        {
            if (model.from != "shoppingcart")
            {
                model.Quantity = model.Quantity ?? 1;

                foreach (var key in ModelState.Keys)
                {
                    ModelState[key].Errors.Clear();
                }
            }
            else
            {
                model.Quantity = model.Quantity ?? null;
            }

            ViewBag.Title     = "Detail";
            ViewBag.Inventory = Services.InventoryService.GetInventory(model.Id, model.Quantity);

            return(View(ViewBag.Inventory as Models.Inventory));
        }
コード例 #26
0
        public static void AddItemToShoppingCart(Models.Inventory model, bool isBuy = false)
        {
            using (var ctx = new Data.AMEntDataContext())
            {
                var prod = ctx.Inventories.Where(x => x.ID == model.Id).SingleOrDefault();

                if (isBuy)
                {
                    Cart = null;
                    Cart = new List <Models.ShoppingCart>();
                }

                //var qty = new Random().Next(1, 5);
                int?qty      = model.Quantity;
                var lstPrice = prod.InventoryPrices != null?
                               prod.InventoryPrices.FirstOrDefault() != null?
                               prod.InventoryPrices.FirstOrDefault().InventoryListPrices != null && prod.InventoryPrices.FirstOrDefault().InventoryListPrices.Count() > 0 ?
                               prod.InventoryPrices.FirstOrDefault().InventoryListPrices.Max(a => a.ListPrice) : 0
                               : 0
                               : 0;

                var totalPrice = (qty ?? 0) * lstPrice;

                Cart.Add(new Models.ShoppingCart()
                {
                    CartId       = prod.ID,
                    ProductCode  = prod.ItemCode,
                    ProductName  = prod.Description,
                    Size         = Resource.StaticResource.Size[new Random().Next(0, 2)],
                    Color        = Resource.StaticResource.Color[new Random().Next(0, 4)],
                    Quantity     = qty ?? 0,
                    CurrencyName = "USD",
                    ListPrice    = lstPrice,
                    TotalPrice   = totalPrice,
                    ImagePath    = Resource.StaticResource.ImagePath
                });
            }
        }
コード例 #27
0
        public ActionResult AddProduct(Models.Inventory model, string submit)
        {
            if (ModelState.IsValid)
            {
                if (submit != "buy")
                {
                    Services.ShoppingCartService.AddItemToShoppingCart(model);
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    Services.ShoppingCartService.AddItemToShoppingCart(model, true);
                    return(RedirectToAction("Index"));
                }
            }

            return(RedirectToAction("Detail", "Home", new
            {
                id = model.Id,
                quantity = model.Quantity,
                from = "shoppingcart"
            }));
        }
コード例 #28
0
        public IActionResult OnPost()
        {
            //Foreachleri tek seferde yapmaya calis

            if (InventoryReportVM.StartDate == DateTime.MinValue && InventoryReportVM.EndDate == DateTime.MinValue && InventoryReportVM.MenuItemId == null)
            {
                ViewData["Alert"] = "Please select start and end date at the same time or only a menu item! You can choose both three of them!";
                return(Page());
            }

            var startDate = InventoryReportVM.StartDate == DateTime.MinValue ? new DateTime(2000, 1, 1) : InventoryReportVM.StartDate;
            var endDate   = InventoryReportVM.EndDate == DateTime.MinValue ? DateTime.Now.AddYears(10) : InventoryReportVM.EndDate;

            InventoryReportVM.MenuItemList = _unitOfWork.MenuItem.GetMenuItemListForDropdown();

            if (InventoryReportVM.MenuItemId != null)
            {
                var inventoryList = new List <Models.Inventory>();

                foreach (var orderDetail in _unitOfWork.OrderDetail.GetAll(x => x.OrderDate <= endDate && x.OrderDate >= startDate && x.MenuItemId == InventoryReportVM.MenuItemId))
                {
                    foreach (var item in _unitOfWork.MenuItemInventory.GetAll(x => x.MenuItemId == orderDetail.MenuItemId, includeProperties: "Inventory"))
                    {
                        if (inventoryList.Where(x => x.Name == item.Inventory.Name).Count() > 0)
                        {
                            var quantityForSameElement = item.Quantity * orderDetail.Count;
                            inventoryList.FirstOrDefault(x => x.Name == item.Inventory.Name).Quantity += quantityForSameElement;
                        }
                        else
                        {
                            var inventory = new Models.Inventory()
                            {
                                Name     = item.Inventory.Name,
                                Quantity = item.Quantity * orderDetail.Count,
                                UnitType = _unitOfWork.UnitType.GetFirstOrDefault(x => x.Id == item.Inventory.UnitTypeId)
                            };

                            inventoryList.Add(inventory);
                        }
                    }
                }

                InventoryReportVM.InventoryList = inventoryList;
                return(Page());
            }
            else
            {
                var inventoryList = new List <Models.Inventory>();

                foreach (var orderDetail in _unitOfWork.OrderDetail.GetAll(x => x.OrderDate <= InventoryReportVM.EndDate && x.OrderDate >= InventoryReportVM.StartDate))
                {
                    foreach (var item in _unitOfWork.MenuItemInventory.GetAll(x => x.MenuItemId == orderDetail.MenuItemId, includeProperties: "Inventory"))
                    {
                        if (inventoryList.Where(x => x.Name == item.Inventory.Name).Count() > 0)
                        {
                            var quantityForSameElement = item.Quantity * orderDetail.Count;
                            inventoryList.FirstOrDefault(x => x.Name == item.Inventory.Name).Quantity += quantityForSameElement;
                        }
                        else
                        {
                            var inventory = new Models.Inventory()
                            {
                                Name     = item.Inventory.Name,
                                Quantity = item.Quantity * orderDetail.Count,
                                UnitType = _unitOfWork.UnitType.GetFirstOrDefault(x => x.Id == item.Inventory.UnitTypeId)
                            };

                            inventoryList.Add(inventory);
                        }
                    }
                }

                InventoryReportVM.InventoryList = inventoryList;
                return(Page());
            }
        }
コード例 #29
0
        public InventoryAdjustmentPage(Adjustment_Type AdjustType, DataBaseManager database, Models.Inventory item)
        {
            Title     = item.Name + ": " + AdjustType;
            _item     = item;
            _database = database;

            is_AdjustIn  = false;
            is_AdjustOut = false;
            is_Transfer  = false;
            if (AdjustType == Adjustment_Type.Adjust_In)
            {
                is_AdjustIn = true;
            }
            else if (AdjustType == Adjustment_Type.Adjust_Out)
            {
                is_AdjustOut = true;
            }
            else
            {
                is_Transfer = true;
            }

            Entry Name, Qty;
            var   NameStack = ControlFactory.GetLabelEntryStackLayout("Name:", out Name);
            var   QtyStack  = ControlFactory.GetLabelEntryStackLayout("QTY:", out Qty);

            Name.Text = item.Name;
            Qty.Text  = "0";

            Picker FromWarehouse, ToWarehouse;
            var    FromWarehouseStack = ControlFactory.GetLabelPickerStackLayout("From:", out FromWarehouse);
            var    ToWarehouseStack   = ControlFactory.GetLabelPickerStackLayout("To:", out ToWarehouse);

            IEnumerable <Warehouse> warehouses = _database.GetWareHouses();

            foreach (var warehouse in warehouses)
            {
                FromWarehouse.Items.Add(warehouse.Name);
                ToWarehouse.Items.Add(warehouse.Name);
            }

            if (is_AdjustIn)
            {
                FromWarehouseStack.IsVisible = false;
            }
            else if (is_AdjustOut)
            {
                ToWarehouse.IsVisible = false;
            }

            var stack = ControlFactory.GetStacksLayout(NameStack, QtyStack, FromWarehouseStack, ToWarehouseStack);

            var button = ControlFactory.GetButton("Adjust Item");

            button.VerticalOptions = LayoutOptions.EndAndExpand;
            stack.Children.Add(button);

            Content = stack;

            button.Clicked += async(object sender, EventArgs e) =>
            {
                var itemName = Name.Text;
                var itemQty  = Qty.Text;

                string fromWarehouse = "", toWarehouse = "";
                if (is_AdjustIn || is_Transfer)
                {
                    toWarehouse = ToWarehouse.Items[ToWarehouse.SelectedIndex];
                }
                if (is_AdjustOut || is_Transfer)
                {
                    fromWarehouse = FromWarehouse.Items[FromWarehouse.SelectedIndex];
                }

                if (is_AdjustIn)
                {
                    _database.Adjust(itemName, itemQty, toWarehouse);
                    await DisplayAlert("Done", "Adjust In is done", "OK");
                }
                else if (is_AdjustOut)
                {
                    _database.Adjust(itemName, itemQty, "", fromWarehouse);
                    await DisplayAlert("Done", "Adjust Out is done", "OK");
                }
                else
                {
                    _database.Adjust(itemName, itemQty, toWarehouse, fromWarehouse, true);
                    await DisplayAlert("Done", "Transfer is done", "OK");
                }

                this.Navigation.PopToRootAsync();

                Navigation.PushAsync(new InventoryListPage(_database));
            };
        }
コード例 #30
0
        public IActionResult Post([FromBody] InventoryReportDTO inventoryReportDTO)
        {
            if (inventoryReportDTO.StartDate == DateTime.MinValue && inventoryReportDTO.EndDate == DateTime.MinValue && inventoryReportDTO.MenuItemId == 0)
            {
                return(BadRequest(new { message = "Please select start and end date at the same time or only a menu item! You can choose both three of them!" }));
            }

            var startDateProp = inventoryReportDTO.StartDate == DateTime.MinValue ? new DateTime(2000, 1, 1) : inventoryReportDTO.StartDate;
            var endDateProp   = inventoryReportDTO.EndDate == DateTime.MinValue ? DateTime.Now.AddYears(10) : inventoryReportDTO.EndDate;

            if (inventoryReportDTO.MenuItemId != null && inventoryReportDTO.MenuItemId != 0)
            {
                var inventoryList = new List <Models.Inventory>();

                foreach (var orderDetail in _unitOfWork.OrderDetail.GetAll(x => x.OrderDate <= endDateProp && x.OrderDate >= startDateProp && x.MenuItemId == inventoryReportDTO.MenuItemId))
                {
                    foreach (var item in _unitOfWork.MenuItemInventory.GetAll(x => x.MenuItemId == orderDetail.MenuItemId, includeProperties: "Inventory"))
                    {
                        if (inventoryList.Where(x => x.Name == item.Inventory.Name).Count() > 0)
                        {
                            var quantityForSameElement = item.Quantity * orderDetail.Count;
                            inventoryList.FirstOrDefault(x => x.Name == item.Inventory.Name).Quantity += quantityForSameElement;
                        }
                        else
                        {
                            var inventory = new Models.Inventory()
                            {
                                Name     = item.Inventory.Name,
                                Quantity = item.Quantity * orderDetail.Count,
                                UnitType = _unitOfWork.UnitType.GetFirstOrDefault(x => x.Id == item.Inventory.UnitTypeId)
                            };

                            inventoryList.Add(inventory);
                        }
                    }
                }

                return(Ok(inventoryList));
            }
            else
            {
                var inventoryList = new List <Models.Inventory>();

                foreach (var orderDetail in _unitOfWork.OrderDetail.GetAll(x => x.OrderDate <= endDateProp && x.OrderDate >= startDateProp))
                {
                    foreach (var item in _unitOfWork.MenuItemInventory.GetAll(x => x.MenuItemId == orderDetail.MenuItemId, includeProperties: "Inventory"))
                    {
                        if (inventoryList.Where(x => x.Name == item.Inventory.Name).Count() > 0)
                        {
                            var quantityForSameElement = item.Quantity * orderDetail.Count;
                            inventoryList.FirstOrDefault(x => x.Name == item.Inventory.Name).Quantity += quantityForSameElement;
                        }
                        else
                        {
                            var inventory = new Models.Inventory()
                            {
                                Name     = item.Inventory.Name,
                                Quantity = item.Quantity * orderDetail.Count,
                                UnitType = _unitOfWork.UnitType.GetFirstOrDefault(x => x.Id == item.Inventory.UnitTypeId)
                            };

                            inventoryList.Add(inventory);
                        }
                    }
                }

                return(Ok(inventoryList));
            }
        }