public ActionResult SearchMappingList(MappingProductSearchFilter searchFilter)
        {
            Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Mapping").ToInputLogString());

            try
            {
                if (ModelState.IsValid)
                {
                    _mappingProductTypeFacade = new MappingProductTypeFacade();

                    MappingProductTypeViewModel mappingVM = new MappingProductTypeViewModel();
                    mappingVM.SearchFilter       = searchFilter;
                    mappingVM.MappingProductList = _mappingProductTypeFacade.GetMappingList(mappingVM.SearchFilter);

                    ViewBag.PageSize = mappingVM.SearchFilter.PageSize;

                    return(PartialView("~/Views/MappingProductType/_MappingProductList.cshtml", mappingVM));
                }

                return(Json(new
                {
                    Valid = false,
                    Error = string.Empty
                }));
            }
            catch (Exception ex)
            {
                Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Mapping").ToFailLogString());
                return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                 this.ControllerContext.RouteData.Values["action"].ToString())));
            }
        }
Esempio n. 2
0
 public IEnumerable <MappingProductTypeItemEntity> GetMappingList(MappingProductSearchFilter searchFilter)
 {
     _mappingProductTypeDataAccess = new MappingProductTypeDataAccess(_context);
     return(_mappingProductTypeDataAccess.GetMappingList(searchFilter));
 }
Esempio n. 3
0
        private static IQueryable <MappingProductTypeItemEntity> SetMappingListSort(IQueryable <MappingProductTypeItemEntity> slaList, MappingProductSearchFilter searchFilter)
        {
            if (string.IsNullOrEmpty(searchFilter.SortOrder))
            {
                searchFilter.SortOrder = "ASC";
            }

            if (string.IsNullOrEmpty(searchFilter.SortField))
            {
                searchFilter.SortField = "ProductGroup";
            }

            if (searchFilter.SortOrder.ToUpper(CultureInfo.InvariantCulture).Equals("ASC"))
            {
                switch (searchFilter.SortField.ToUpper(CultureInfo.InvariantCulture))
                {
                default:
                    return
                        (slaList.OrderBy(a => a.ProductGroupName)
                         .ThenBy(a => a.ProductName)
                         .ThenBy(a => a.CampaignName)
                         .ThenBy(a => a.TypeName)
                         .ThenBy(a => a.AreaName)
                         .ThenBy(a => a.SubAreaName));
                }
            }
            else
            {
                switch (searchFilter.SortField.ToUpper(CultureInfo.InvariantCulture))
                {
                default:
                    return
                        (slaList.OrderByDescending(a => a.ProductGroupName)
                         .ThenByDescending(a => a.ProductName)
                         .ThenByDescending(a => a.CampaignName)
                         .ThenByDescending(a => a.TypeName)
                         .ThenByDescending(a => a.AreaName)
                         .ThenByDescending(a => a.SubAreaName));
                }
            }
        }
Esempio n. 4
0
        public IEnumerable <MappingProductTypeItemEntity> GetMappingList(MappingProductSearchFilter searchFilter)
        {
            bool isActiveHasNotValueOrAll = false;
            bool mappingIsActive          = true;

            if (string.IsNullOrEmpty(searchFilter.IsActive) || searchFilter.IsActive == "all")
            {
                isActiveHasNotValueOrAll = true;
            }
            else
            {
                if (searchFilter.IsActive == "false")
                {
                    mappingIsActive = false;
                }
            }

            bool isVerifyHasNotValueOrAll = false;
            bool mappingIsVerify          = true;

            if (string.IsNullOrEmpty(searchFilter.IsVerify) || searchFilter.IsVerify == "all")
            {
                isVerifyHasNotValueOrAll = true;
            }
            else
            {
                if (searchFilter.IsVerify == "false")
                {
                    mappingIsVerify = false;
                }
            }

            var resultQuery =
                (from mapping in _context.TB_M_MAP_PRODUCT
                 from product in _context.TB_R_PRODUCT.Where(x => x.PRODUCT_ID == mapping.PRODUCT_ID).DefaultIfEmpty()
                 from productGroup in _context.TB_R_PRODUCTGROUP.Where(x => x.PRODUCTGROUP_ID == product.PRODUCTGROUP_ID).DefaultIfEmpty()
                 from campaignService in _context.TB_R_CAMPAIGNSERVICE.Where(x => x.CAMPAIGNSERVICE_ID == mapping.CAMPAIGNSERVICE_ID).DefaultIfEmpty()
                 from area in _context.TB_M_AREA.Where(x => x.AREA_ID == mapping.AREA_ID).DefaultIfEmpty()
                 from subArea in _context.TB_M_SUBAREA.Where(x => x.SUBAREA_ID == mapping.SUBAREA_ID).DefaultIfEmpty()
                 from type in _context.TB_M_TYPE.Where(x => x.TYPE_ID == mapping.TYPE_ID).DefaultIfEmpty()
                 from updateUser in _context.TB_R_USER.Where(x => x.USER_ID == mapping.UPDATE_USER).DefaultIfEmpty()
                 from ownerUser in _context.TB_R_USER.Where(x => x.USER_ID == mapping.DEFAULT_OWNER_USER_ID).DefaultIfEmpty()
                 where ((!searchFilter.ProductGroupId.HasValue || product.PRODUCTGROUP_ID == searchFilter.ProductGroupId.Value) &&
                        (!searchFilter.ProductId.HasValue || mapping.PRODUCT_ID == searchFilter.ProductId.Value) &&
                        (!searchFilter.CampaignId.HasValue || mapping.CAMPAIGNSERVICE_ID == searchFilter.CampaignId.Value) &&
                        (!searchFilter.TypeId.HasValue || mapping.TYPE_ID == searchFilter.TypeId) &&
                        (!searchFilter.AreaId.HasValue || mapping.AREA_ID == searchFilter.AreaId) &&
                        (!searchFilter.SubAreaId.HasValue || mapping.SUBAREA_ID == searchFilter.SubAreaId) &&
                        (!searchFilter.OwnerId.HasValue || ownerUser.USER_ID == searchFilter.OwnerId) &&
                        (isActiveHasNotValueOrAll || mapping.MAP_PRODUCT_IS_ACTIVE == mappingIsActive) &&
                        (isVerifyHasNotValueOrAll || mapping.MAP_PRODUCT_IS_VERIFY == mappingIsVerify))
                 select new MappingProductTypeItemEntity
            {
                MapProductId = mapping.MAP_PRODUCT_ID,
                ProductGroupName = productGroup.PRODUCTGROUP_NAME,
                ProductName = product.PRODUCT_NAME,
                CampaignName = campaignService.CAMPAIGNSERVICE_NAME,
                AreaName = area.AREA_NAME,
                SubAreaName = subArea.SUBAREA_NAME,
                TypeName = type.TYPE_NAME,
                Verify = mapping.MAP_PRODUCT_IS_VERIFY ? "Yes" : "No",
                QuestionGroupNameList = mapping.TB_M_MAP_PRODUCT_QUESTIONGROUP.Select(grp => grp.TB_M_QUESTIONGROUP.QUESTIONGROUP_NAME).ToList(),
                OwnerUser = (ownerUser != null
                         ? new UserEntity()
                {
                    PositionCode = ownerUser.POSITION_CODE,
                    Firstname = ownerUser.FIRST_NAME,
                    Lastname = ownerUser.LAST_NAME
                } : null),
                Active = mapping.MAP_PRODUCT_IS_ACTIVE ? "Active" : "Inactive",
                UpdateUser = (updateUser != null
                         ? new UserEntity()
                {
                    PositionCode = updateUser.POSITION_CODE,
                    Firstname = updateUser.FIRST_NAME,
                    Lastname = updateUser.LAST_NAME
                }
                         : null),
                UpdateDate = mapping.UPDATE_DATE
            });

            int startPageIndex = (searchFilter.PageNo - 1) * searchFilter.PageSize;

            searchFilter.TotalRecords = resultQuery.Count();

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

            resultQuery = SetMappingListSort(resultQuery, searchFilter);

            return(resultQuery.Skip(startPageIndex).Take(searchFilter.PageSize).ToList());
        }