/// <summary> /// Manipulates item Trans based on material nature /// </summary> /// <param name="itemNature"></param> /// <param name="itemTrans"></param> /// <param name="itemTransDef"></param> /// <exception cref="ArgumentOutOfRangeException"></exception> public static void ItemNatureHandler(WarehouseItemNatureEnum itemNature, WarehouseTransaction itemTrans, TransWarehouseDef itemTransDef) { switch (itemNature) { case WarehouseItemNatureEnum.WarehouseItemNatureUndefined: throw new ArgumentOutOfRangeException(); case WarehouseItemNatureEnum.WarehouseItemNatureMaterial: itemTrans.InventoryAction = itemTransDef.MaterialInventoryAction; itemTrans.InventoryValueAction = itemTransDef.MaterialInventoryValueAction; itemTrans.InvoicedVolumeAction = itemTransDef.MaterialInvoicedVolumeAction; itemTrans.InvoicedValueAction = itemTransDef.MaterialInvoicedValueAction; break; case WarehouseItemNatureEnum.WarehouseItemNatureService: itemTrans.InventoryAction = itemTransDef.ServiceInventoryAction; itemTrans.InventoryValueAction = itemTransDef.ServiceInventoryValueAction; itemTrans.InvoicedVolumeAction = itemTransDef.MaterialInvoicedVolumeAction; itemTrans.InvoicedValueAction = itemTransDef.MaterialInvoicedValueAction; break; case WarehouseItemNatureEnum.WarehouseItemNatureExpense: itemTrans.InventoryAction = itemTransDef.ExpenseInventoryAction; itemTrans.InventoryValueAction = itemTransDef.ExpenseInventoryValueAction; itemTrans.InvoicedVolumeAction = itemTransDef.MaterialInvoicedVolumeAction; itemTrans.InvoicedValueAction = itemTransDef.MaterialInvoicedValueAction; break; case WarehouseItemNatureEnum.WarehouseItemNatureIncome: itemTrans.InventoryAction = itemTransDef.IncomeInventoryAction; itemTrans.InventoryValueAction = itemTransDef.IncomeInventoryValueAction; itemTrans.InvoicedVolumeAction = itemTransDef.MaterialInvoicedVolumeAction; itemTrans.InvoicedValueAction = itemTransDef.MaterialInvoicedValueAction; break; case WarehouseItemNatureEnum.WarehouseItemNatureFixedAsset: itemTrans.InventoryAction = itemTransDef.FixedAssetInventoryAction; itemTrans.InventoryValueAction = itemTransDef.FixedAssetInventoryValueAction; itemTrans.InvoicedVolumeAction = itemTransDef.MaterialInvoicedVolumeAction; itemTrans.InvoicedValueAction = itemTransDef.MaterialInvoicedValueAction; break; case WarehouseItemNatureEnum.WarehouseItemNatureRawMaterial: itemTrans.InventoryAction = itemTransDef.RawMaterialInventoryAction; itemTrans.InventoryValueAction = itemTransDef.RawMaterialInventoryValueAction; itemTrans.InvoicedVolumeAction = itemTransDef.MaterialInvoicedVolumeAction; itemTrans.InvoicedValueAction = itemTransDef.MaterialInvoicedValueAction; break; default: throw new ArgumentOutOfRangeException(); } }
// public IList<WarehouseItem> WarehouseItem { get;set; } public async Task <IActionResult> OnGetAsync(string sortOrder, string searchString, string warehouseItemNatureFilter, int?pageIndex, int?pageSize, string sd) { LoadFilters(); PageSize = (int)((pageSize == null || pageSize == 0) ? 20 : pageSize); CurrentPageSize = PageSize; CurrentSort = sortOrder; NameSort = sortOrder == "Name" ? "name_desc" : "Name"; DateSort = sortOrder == "Date" ? "date_desc" : "Date"; if (searchString != null) { pageIndex = 1; } else { searchString = CurrentFilter; } CurrentFilter = searchString; WarehouseItemNatureFilter = warehouseItemNatureFilter; IQueryable <WarehouseItem> fullListIq = from s in _context.WarehouseItems select s; WarehouseItemNatureEnum natureFilterValue = WarehouseItemNatureEnum.WarehouseItemNatureUndefined; if (WarehouseItemNatureFilter is null) { natureFilterValue = 0; } else { int b = Int32.Parse(WarehouseItemNatureFilter); natureFilterValue = (WarehouseItemNatureEnum)b; } if (natureFilterValue != WarehouseItemNatureEnum.WarehouseItemNatureUndefined) { fullListIq = fullListIq.Where(s => s.WarehouseItemNature == natureFilterValue); } if (!String.IsNullOrEmpty(searchString)) { fullListIq = fullListIq.Where(s => s.Name.Contains(searchString)); } switch (sortOrder) { case "Name": fullListIq = fullListIq.OrderBy(p => p.Name); NameSortIcon = "fas fa-sort-alpha-up "; DateSortIcon = "invisible"; break; case "name_desc": fullListIq = fullListIq.OrderByDescending(p => p.Name); NameSortIcon = "fas fa-sort-alpha-down "; DateSortIcon = "invisible"; break; default: fullListIq = fullListIq.OrderBy(p => p.Id); break; } var t = fullListIq.ProjectTo <WarehouseItemListDto>(_mapper.ConfigurationProvider); ListItems = await PagedList <WarehouseItemListDto> .CreateAsync( t, pageIndex ?? 1, PageSize); return(Page()); }