public ActionResult MissingItemList() { using (LibraryEntities db = new LibraryEntities()) { try { ItemStatusViewModel AccountItemsCheckout = new ItemStatusViewModel(); List <Item> ItemList = db.Items.ToList(); List <Item> NewItemList = new List <Item>(); foreach (var item in ItemList) { Item listItem = ItemList.Where(x => x.ItemId == item.ItemId).Last(); byte lastStatus = listItem.ItemStatusLogs.Select(f => f.ItemStatusTypeId).Last(); if (lastStatus == 3) { NewItemList.Add(listItem); } } AccountItemsCheckout.MissingItemList = NewItemList; AccountItemsCheckout.ItemStatusText = db.ItemStatusTypes.Where(x => x.ItemStatusTypeId == 3).Select(x => x.ItemStatusName).FirstOrDefault(); return(View("MissingItemList", AccountItemsCheckout)); } catch { return(null); } } }
public ActionResult CheckoutItem() { using (LibraryEntities db = new LibraryEntities()) { try { //TODO: get the last item status and not all of the item status ItemStatusViewModel AccountItemsCheckout = new ItemStatusViewModel(); List <Item> ItemList = db.ItemStatusLogs.Select(f => f.Item).ToList(); List <Item> NewItemList = new List <Item>(); foreach (var item in ItemList) { Item listItem = ItemList.Where(x => x.ItemId == item.ItemId).Last(); byte lastStatus = listItem.ItemStatusLogs.Select(f => f.ItemStatusTypeId).Last(); if (lastStatus == 1) { NewItemList.Add(listItem); } } List <Account> AccountList = db.Accounts.Where(x => x.IsLibrarian == false).ToList(); AccountItemsCheckout.ItemList = NewItemList; AccountItemsCheckout.AccountList = AccountList; AccountItemsCheckout.ItemID = -1; AccountItemsCheckout.AccountID = -1; return(View(AccountItemsCheckout)); } catch { return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError)); } } }
public ItemStatusViewModel GetItemStatusByItemId(int itemId, DateTime date, int fiscalYearId) { ItemStatusViewModel model = new ItemStatusViewModel(); string data = reportService.GetRemainingItemDetailByDate(itemId, date, fiscalYearId); var item = itemRepository.GetById(itemId); if (item != null) { model.Id = item.Id; model.Code = item.Code; model.Name = item.Name; model.ItemGroupId = (int)item.ItemGroupId; model.ItemGroupName = item.ItemGroup.Name; model.ItemUnitId = (int)item.ItemUnitId; model.UnitName = item.ItemUnit.Name; if (!string.IsNullOrEmpty(data)) { string[] value = data.Split('-');//zero index :- Remaining Quantity model.InStockQuantity = Convert.ToInt32(value[0]); } } return(model); }
public ActionResult UpdateItemStatus(ItemStatusViewModel itemstatusviewmodel) { using (LibraryEntities db = new LibraryEntities()) { try { if (itemstatusviewmodel.itemStatusTypeID == 2) { var currentStatus = db.ItemStatusLogs .Where(x => x.ItemId == itemstatusviewmodel.ItemID) .OrderByDescending(x => x.LogDateTime) .Select(x => x.ItemStatusTypeId) .FirstOrDefault(); if (currentStatus == 2) { return(null); } } Item item = db.Items.Find(itemstatusviewmodel.ItemID); Account account = db.Accounts.Find(itemstatusviewmodel.AccountID); ItemStatusType itemStatusType = db.ItemStatusTypes.Find(itemstatusviewmodel.itemStatusTypeID); ItemStatusLog itemStatusLog = new ItemStatusLog { Item = item, ItemId = item.ItemId, Account = account, AccountId = account.AccountId, ItemStatusTypeId = itemStatusType.ItemStatusTypeId, LogDateTime = DateTime.Now }; if (itemStatusLog.ItemStatusTypeId == 4) { DateTime Now = DateTime.Now; DateTime Duedate = Now.AddDays(3); itemStatusLog.ReturnItemDueDate = Duedate; db.ItemStatusLogs.Add(itemStatusLog); db.SaveChanges(); return(notification.CheckoutSuccess(Duedate)); } if (itemStatusLog.ItemStatusTypeId == 2) { DateTime Now = DateTime.Now; DateTime HoldDate = Now.AddDays(1); itemStatusLog.ReturnItemDueDate = HoldDate; db.ItemStatusLogs.Add(itemStatusLog); db.SaveChanges(); return(notification.ReserveItemSuccess(HoldDate)); } else { db.ItemStatusLogs.Add(itemStatusLog); db.SaveChanges(); return(notification.UpdateItemSuccess()); } } catch { return(notification.UpdateItemFailure()); } } }
public ActionResult UpdateItemStatus(int id) { using (LibraryEntities db = new LibraryEntities()) { if (id == 1) { ItemStatusViewModel AccountItemsCheckout = new ItemStatusViewModel(); List <Item> ItemList = db.ItemStatusLogs.Select(f => f.Item).ToList(); List <Item> NewItemList = new List <Item>(); foreach (var item in ItemList) { Item listItem = ItemList.Where(x => x.ItemId == item.ItemId).Last(); byte lastStatus = listItem.ItemStatusLogs.Select(f => f.ItemStatusTypeId).Last(); if (lastStatus != 1) { NewItemList.Add(listItem); } } var activeAccount = (AccountAdapter)System.Web.HttpContext.Current.Session["activeAccount"]; AccountItemsCheckout.ItemList = NewItemList; AccountItemsCheckout.ItemID = -1; AccountItemsCheckout.AccountID = activeAccount.AccountNumber; return(View("CheckInItem", AccountItemsCheckout)); } if (id == 2) { ItemStatusViewModel AccountItemsCheckout = new ItemStatusViewModel(); List <Item> ItemList = db.ItemStatusLogs.Select(f => f.Item).ToList(); List <Item> NewItemList = new List <Item>(); foreach (var item in ItemList) { Item listItem = ItemList.Where(x => x.ItemId == item.ItemId).Last(); byte lastStatus = listItem.ItemStatusLogs.Select(f => f.ItemStatusTypeId).Last(); if (lastStatus == 1) { NewItemList.Add(listItem); } } var activeAccount = (AccountAdapter)System.Web.HttpContext.Current.Session["activeAccount"]; AccountItemsCheckout.ItemList = NewItemList; AccountItemsCheckout.ItemID = -1; AccountItemsCheckout.AccountID = activeAccount.AccountNumber; return(View("ReserveItem", AccountItemsCheckout)); } if (id == 3) { ItemStatusViewModel AccountItemsCheckout = new ItemStatusViewModel(); var activeAccount = (AccountAdapter)System.Web.HttpContext.Current.Session["activeAccount"]; List <Item> accountItems = db.ItemStatusLogs.Where(x => x.AccountId == activeAccount.AccountNumber).Select(f => f.Item).ToList(); List <Item> NewItemList = new List <Item>(); foreach (var item in accountItems) { Item listItem = accountItems.Where(x => x.ItemId == item.ItemId).Last(); byte lastStatus = listItem.ItemStatusLogs.Select(f => f.ItemStatusTypeId).Last(); if (lastStatus == 4) { NewItemList.Add(listItem); } } AccountItemsCheckout.ItemList = accountItems; AccountItemsCheckout.ItemID = -1; AccountItemsCheckout.AccountID = activeAccount.AccountNumber; return(View("MissingItem", AccountItemsCheckout)); } return(View()); } }