public void ValidateListAsync(ProcessFilterTO filterTO)
        {
            var errors = new List <ErrorsTO>();

            if (filterTO.PerPage > 50)
            {
                errors.Add(new ErrorsTO
                {
                    Field      = "PerPage",
                    Validation = Messaging.ExceededMaximumValue
                });
            }

            if (errors.Count > 0)
            {
                throw new ErrorsException(errors);
            }
        }
        public async Task <IList <ProcessResponseTO> > ListAsync(ProcessFilterTO filterTO)
        {
            var processSpecification = new BaseSpecification <ProcessEntity>();

            processSpecification.AddCriteria(filterTO.UnifiedProcessNumber, process => process.UnifiedProcessNumber.Replace("-", string.Empty).Replace(".", string.Empty) == filterTO.UnifiedProcessNumber.Replace("-", string.Empty).Replace(".", string.Empty));
            processSpecification.AddCriteria(filterTO.DistributionDateStart, process => process.DistributionDate >= filterTO.DistributionDateStart);
            processSpecification.AddCriteria(filterTO.DistributionDateEnd, process => process.DistributionDate <= filterTO.DistributionDateEnd);
            processSpecification.AddCriteria(filterTO.JusticeSecret, process => process.JusticeSecret == filterTO.JusticeSecret);
            processSpecification.AddCriteria(filterTO.ClientPhysicalFolder, process => process.ClientPhysicalFolder.Trim().ToUpper().Contains(filterTO.ClientPhysicalFolder.Trim().ToUpper()));
            processSpecification.AddCriteria(filterTO.SituationId, process => process.SituationId == filterTO.SituationId);
            processSpecification.AddCriteria(filterTO.ResponsibleName, process => process.ProcessResponsible.Any(processResponsible => processResponsible.Responsible != null && !string.IsNullOrEmpty(processResponsible.Responsible.Name) && processResponsible.Responsible.Name.Trim().ToUpper().Contains(filterTO.ResponsibleName.Trim().ToUpper())));

            processSpecification.ApplyOrderByDescending(responsible => responsible.UnifiedProcessNumber);
            processSpecification.ApplyPaging(filterTO.Page.GetValueOrDefault(), filterTO.PerPage.GetValueOrDefault());

            var listProcess = await _processRepository.ListAsync(processSpecification);

            return(listProcess.ToList().ToListProcessResponseTO());
        }
Esempio n. 3
0
        public async Task <IActionResult> ListAsync([FromQuery] ProcessFilterTO filterTO)
        {
            IList <ProcessResponseTO> listResponseTO = null;

            try
            {
                listResponseTO = await _processFacade.ListAsync(filterTO);
            }
            catch (ErrorsException ex)
            {
                return(BadRequest(ex.ErrorResponse));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "AddAsync", new object[] { filterTO });
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex));
            }

            return(Ok(listResponseTO));
        }
Esempio n. 4
0
 public async Task <IList <ProcessResponseTO> > ListAsync(ProcessFilterTO filterTO)
 {
     _processService.ValidateListAsync(filterTO);
     return(await _processService.ListAsync(filterTO));
 }