/// <summary> /// جستجوی لیست فاکتور های کاربر /// </summary> /// <param name="model">مدل حاوی اطلاعات جستجو</param> /// <returns>نتیجه جستجوی کاربر</returns> public JsonResult List(SearchInvoiceViewModel options) { try { var currentUser = GetAuthenticatedUser(); var query = _context.Invoice.Where(x => x.InvoiceStatusId != InvoiceStatus.Deleted.Id && x.UserId == currentUser.id); if (!string.IsNullOrEmpty(options.word)) { var word = options.word.ToStandardPersian(); query = query.Where(x => //x.DetailList.Any(y => y.Product.Title.Contains(word)) || x.DetailList.Any(y => y.Product.Code.Contains(word)) || x.InvoiceNo.Contains(word) || x.User.FirstName.Contains(word) || x.User.LastName.Contains(word) || x.User.MobileNumber.Contains(word) || x.User.Email.Contains(word) ); } if (options.statusList != null && options.statusList.Count(x => x > 0) > 0) { query = query.Where(x => options.statusList.Any(y => y == x.InvoiceStatusId)); } var count = query.Count(); var data = query.OrderByDescending(x => x.Id) .Skip(options.page * options.count) .Take(options.count) .Select(x => new ResponseUserSearchInvoiceViewModel() { id = x.Id, invoiceNo = x.InvoiceNo, invoiceStatusId = x.InvoiceStatusId, invoiceStatusTitle = x.InvoiceStatus.PersianTitle, price = x.Price, unpaidPrice = x.UnpaidPrice, date = x.CreateDate }).ToList(); data.ForEach(x => x.PersianDate = DateUtility.GetPersianDateTime(x.date)); return(SuccessSearch(data, options.page + 1, options.count, count)); } catch (Exception ex) { return(ServerError(ex)); } }
public ActionResult Create(SearchInvoiceViewModel model) { try { invoicesService.Add(User.Identity.GetUserId(), model.Number); return(View("Create")); } catch (Exception ex) { deliveryMessage.Title = "Відправлення"; deliveryMessage.Body = ex.Message; return(View("DeliveryMessage", deliveryMessage)); } }