Exemplo n.º 1
0
        public ActionResult Search(int page = 1)
        {
            // Create service instance
            AdminServiceClient sc = new AdminServiceClient();

            // Create model
            StaffAttributesSearchVM model = new StaffAttributesSearchVM();

            try
            {
                StaffAttributesSearchVMDC response = sc.SearchStaffAttributes(CurrentUser, CurrentUser, appID, "", null, page, PageSize, true);

                // Close service communication
                sc.Close();

                //Map response back to view model
                model.MatchList = Mapper.Map <IEnumerable <StaffAttributesSearchMatchDC>, List <StaffAttributesSearchMatchModel> >(response.MatchList);

                // Set paging values
                model.TotalRows  = response.RecordCount;
                model.PageSize   = SessionManager.PageSize;
                model.PageNumber = page;

                // Store the page number we were on
                SessionManager.StaffAttributesPageNumber = model.PageNumber;

                return(View(model));
            }
            catch (Exception e)
            {
                // Handle the exception
                string message = ExceptionManager.HandleException(e, sc);
                model.Message = message;

                return(View(model));
            }
        }
Exemplo n.º 2
0
 		/// <summary>
         /// Search for StaffAttributes items
         /// </summary>
         /// <param name="currentUser"></param>
         /// <param name="user"></param>
         /// <param name="appID"></param>
         /// <param name="overrideID"></param>
         /// <param name="searchCriteria"></param>
         /// <param name="page"></param>
         /// <param name="pageSize"></param>
         /// <param name="includeInActive"></param>
 		/// <param name="specification"></param>
         /// <param name="dataRepository"></param>
         /// <param name="uow"></param>
         /// <returns></returns>
 		public StaffAttributesSearchVMDC SearchStaffAttributes(string currentUser, string user, string appID, string overrideID, StaffAttributesSearchCriteriaDC searchCriteria, int page, int pageSize, bool includeInActive,
 		ISpecification<StaffAttributes> specification, ISpecification<StaffAttributes> isActiveSpecification, IRepository<StaffAttributes> dataRepository, IUnitOfWork uow,IExceptionManager exceptionManager, IMappingService mappingService)
         {
 		    try
             {
 				#region Parameter validation
 
 				// Validate parameters
 				if (string.IsNullOrEmpty(currentUser)) throw new ArgumentOutOfRangeException("currentUser");
 				if (string.IsNullOrEmpty(user)) throw new ArgumentOutOfRangeException("user");
 				if (string.IsNullOrEmpty(appID)) throw new ArgumentOutOfRangeException("appID");
 				if (null == dataRepository) throw new ArgumentOutOfRangeException("dataRepository");
 				if (null == specification) throw new ArgumentOutOfRangeException("specification");
 				if (null == uow) throw new ArgumentOutOfRangeException("uow");
 				if (null == exceptionManager) throw new ArgumentOutOfRangeException("exceptionManager");
 				if (null == mappingService) throw new ArgumentOutOfRangeException("mappingService");
 				
 				#endregion
 
                 using (uow)
                 {
 		    // Evaluate search criteria if supplied
                     if (null != searchCriteria)
                     {
                         EvaluateStaffAttributesSearchCriteria(searchCriteria, ref specification);
                     }
 
                     if (!includeInActive)
                     {
                         specification = specification.And(isActiveSpecification);
                     }
 
 					// Set default sort expression
 					System.Linq.Expressions.Expression<Func<StaffAttributes, Object>> sortExpression = x => new { x.LookupValue };
 					
 				    // Find all items that satisfy the specification created above.
                     IEnumerable<StaffAttributes> dataEntities = dataRepository.Find(specification, sortExpression, page, pageSize);
 					
 					// Get total count of items for search critera
 					int itemCount = dataRepository.Count(specification);
 
 					StaffAttributesSearchVMDC results = new StaffAttributesSearchVMDC();
 
 					// Convert to data contracts
                     List<StaffAttributesSearchMatchDC> destinations = mappingService.Map<IEnumerable<StaffAttributes>, List<StaffAttributesSearchMatchDC>>(dataEntities);
 
 					results.MatchList = destinations;
 					results.SearchCriteria = searchCriteria;
 					results.RecordCount = itemCount;
 
                     return results;
                 }
             }
             catch (Exception e)
             {
                 //Prevent exception from propogating across the service interface
                 exceptionManager.ShieldException(e);
 
                 return null;
             }
 		}