public ActionResult Index(FilterOrdersModel FOM) { List <Order> ords = new List <Order>(); User u = DB.Users.Where(x => x.UserName == FOM.username).Where(x => x.Admin == true).FirstOrDefault(); TempData["admin"] = u; if (FOM.stockID == null && FOM.fromDate == default(DateTime) && FOM.toDate == default(DateTime) && FOM.UserID == null) { return(View(ords)); } else { bool useradmin = false; if (u != null) { useradmin = true; } User loginuser = DB.Users.Where(x => x.UserName == FOM.username).FirstOrDefault(); int UID = loginuser.ID; //var query = from ord in DB.Orders where ((ord.Date >= FOM.fromDate && ord.Date <= FOM.toDate) || FOM.fromDate == default(DateTime) || FOM.toDate == default(DateTime)) && (ord.StockID == FOM.stockID || FOM.stockID == null) && (ord.UserID == FOM.UserID || FOM.UserID == null || useradmin==true) select ord; var query = from ord in DB.Orders where ((ord.Date >= FOM.fromDate && ord.Date <= FOM.toDate) || FOM.fromDate == default(DateTime) || FOM.toDate == default(DateTime)) && (ord.StockID.ToString() == FOM.stockID || FOM.stockID == null) && (ord.UserID.ToString() == FOM.UserID || (FOM.UserID == null && useradmin == true) || (FOM.UserID == null && ord.UserID == UID)) select ord; ords = query.ToList(); return(View(ords)); } }
public async Task <IActionResult> Orders([FromBody] FilterOrdersModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _orderFilterService.GetOrders(model); return(new JsonResult(result)); }
public async Task <IDataResult <IEnumerable <Orders> > > GetOrders(FilterOrdersModel model) { IDataResult <IEnumerable <Orders> > dataResult = new DataResult <IEnumerable <Orders> >(); Status statusValue; List <Orders> orders = new List <Orders>(); if (model.OxId != null && model.OxId > 0) { Orders order = _orderService.First(s => s.OxId == model.OxId); orders.Add(order); dataResult.Success = true; dataResult.Data = orders; return(dataResult); } else if (model.InvoiceNumber != null && model.InvoiceNumber > 0) { var order = _orderService.First(s => s.InvoiceNumber == model.InvoiceNumber); orders.Add(order); dataResult.Success = true; dataResult.Data = orders; return(dataResult); } orders = await _orderService.FetchAsync(); if (Enum.TryParse <Status>(model.OrderStatus.ToString(), out statusValue)) { orders = orders.Where(s => s.OrderStatus.HasValue && s.OrderStatus.Value == (byte)statusValue).ToList(); } if (model.OrderDatetimeStart != null && model.OrderDatetimeEnd != null) { orders = orders.Where(s => s.OrderDatetime <= model.OrderDatetimeEnd && s.OrderDatetime >= model.OrderDatetimeStart).ToList(); } dataResult.Data = orders; if (orders == null) { dataResult.Message = MessagesDictionary.GetErrorMessag("Empty"); } return(dataResult); }