Beispiel #1
0
        public ActionResult SearchTypeList(TypeSearchFilter searchFilter)
        {
            Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Type").ToInputLogString());

            try
            {
                if (ModelState.IsValid)
                {
                    _typeFacade = new TypeFacade();
                    TypeViewModel typeVm = new TypeViewModel();
                    typeVm.SearchFilter = searchFilter;

                    typeVm.TypeList  = _typeFacade.GetTypeList(typeVm.SearchFilter);
                    ViewBag.PageSize = typeVm.SearchFilter.PageSize;

                    return(PartialView("~/Views/Type/_TypeList.cshtml", typeVm));
                }

                return(Json(new
                {
                    Valid = false,
                    Error = string.Empty
                }));
            }
            catch (Exception ex)
            {
                Logger.Error("Exception occur:\n", ex);
                Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Type").Add("Error Message", ex.Message).ToFailLogString());
                return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                 this.ControllerContext.RouteData.Values["action"].ToString())));
            }
        }
Beispiel #2
0
        public IEnumerable <TypeItemEntity> GetTypeList(TypeSearchFilter searchFilter)
        {
            var typeStatus  = searchFilter.Status == "all" ? null : searchFilter.Status.ToNullable <bool>();
            var resultQuery = (from type in _context.TB_M_TYPE
                               from createUser in _context.TB_R_USER.Where(x => x.USER_ID == type.CREATE_USER).DefaultIfEmpty()
                               from updateUser in _context.TB_R_USER.Where(x => x.USER_ID == type.UPDATE_USER).DefaultIfEmpty()
                               where ((searchFilter.TypeName == null || type.TYPE_NAME.Contains(searchFilter.TypeName)) &&
                                      (!typeStatus.HasValue || type.TYPE_IS_ACTIVE == typeStatus) &&
                                      (searchFilter.TypeCode == null || SqlFunctions.StringConvert(type.TYPE_CODE).Contains(searchFilter.TypeCode)))
                               select new TypeItemEntity
            {
                TypeId = type.TYPE_ID,
                TypeName = type.TYPE_NAME,
                TypeCode = SqlFunctions.StringConvert(type.TYPE_CODE),
                Status = type.TYPE_IS_ACTIVE,
                UpdateUserName = (updateUser != null ? new UserEntity
                {
                    PositionCode = updateUser.POSITION_CODE,
                    Firstname = updateUser.FIRST_NAME,
                    Lastname = updateUser.LAST_NAME
                } : null),
                CreateUserName = (createUser != null ? new UserEntity
                {
                    PositionCode = createUser.POSITION_CODE,
                    Firstname = createUser.FIRST_NAME,
                    Lastname = createUser.LAST_NAME
                } : null),
                UpdateDate = type.UPDATE_DATE.HasValue ? type.UPDATE_DATE : type.CREATE_DATE,
            });
            int startPageIndex = (searchFilter.PageNo - 1) * searchFilter.PageSize;

            searchFilter.TotalRecords = resultQuery.Count();

            if (startPageIndex >= searchFilter.TotalRecords)
            {
                startPageIndex      = 0;
                searchFilter.PageNo = 1;
            }

            resultQuery = SetTypeListSort(resultQuery, searchFilter);
            return(resultQuery.Skip(startPageIndex).Take(searchFilter.PageSize).ToList());
        }
Beispiel #3
0
 public IEnumerable <TypeItemEntity> GetTypeList(TypeSearchFilter searchFilter)
 {
     _typeDataAccess = new TypeDataAccess(_context);
     return(_typeDataAccess.GetTypeList(searchFilter));
 }
Beispiel #4
0
        private static IQueryable <TypeItemEntity> SetTypeListSort(IQueryable <TypeItemEntity> areaList, TypeSearchFilter searchFilter)
        {
            if (searchFilter.SortOrder.ToUpper(CultureInfo.InvariantCulture).Equals("ASC"))
            {
                switch (searchFilter.SortField.ToUpper(CultureInfo.InvariantCulture))
                {
                case "TypeName":
                    return(areaList.OrderBy(a => a.TypeName));

                default:
                    return(areaList.OrderBy(a => a.TypeName));
                }
            }
            else
            {
                switch (searchFilter.SortField.ToUpper(CultureInfo.InvariantCulture))
                {
                case "TypeName":
                    return(areaList.OrderByDescending(a => a.TypeName));

                default:
                    return(areaList.OrderByDescending(a => a.TypeName));
                }
            }
        }