Пример #1
0
        /// <summary>
        /// to search for items according to model attribute
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public IEnumerable <MaterialLog> Search(MaterialLogSearchViewModel model)
        {
            IEnumerable <MaterialLog> result = GetAll();

            if (model.ID != 0)
            {
                result = result.Where(x => x.ID == model.ID).ToList();
            }

            if (model.FromDate != DateTime.MinValue)
            {
                result = result.Where(x => x.CreatedDate.GetValueOrDefault(DateTime.Now) >= model.FromDate).ToList();
            }

            if (model.ToDate != DateTime.MinValue)
            {
                result = result.Where(x => x.CreatedDate.GetValueOrDefault(DateTime.Now) <= model.ToDate).ToList();
            }

            if (!string.IsNullOrWhiteSpace(model.Description))
            {
                result = result.Where(x => x.Description.Contains(model.Description)).ToList();
            }

            if (model.Inventory != 0)
            {
                result = result.Where(x => x.Inventory.GetValueOrDefault(0) == model.Inventory).ToList();
            }

            if (model.UnitPrice != 0)
            {
                result = result.Where(x => x.UnitPrice.GetValueOrDefault(0) == model.UnitPrice).ToList();
            }

            if (model.Type != -1)
            {
                result = result.Where(x => x.Type.GetValueOrDefault(false) == Convert.ToBoolean(model.Type)).ToList();
            }

            if (model.IsDelete != -1)
            {
                result = result.Where(x => x.IsDelete.GetValueOrDefault(false) == Convert.ToBoolean(model.IsDelete)).ToList();
            }

            return(result);
        }
Пример #2
0
        public JsonResult Search(MaterialLogSearchViewModel model)
        {
            var result = mLogService.Search(model);

            return(Json(mLogService.Flat(result), JsonRequestBehavior.AllowGet));
        }