Exemplo n.º 1
0
        public static SearchRequestParsed FromSearchRequestToSearchRequestParsed(SearchRequest searchRequest)
        {
            var searchRequestParsed = new SearchRequestParsed
            {
                Guid             = searchRequest.Guid,
                Name             = searchRequest.Name,
                Surname          = searchRequest.Surname,
                Patronymic       = searchRequest.Patronymic,
                DateOfBirthStart = searchRequest.DateOfBirthStart,
                DateOfBirthEnd   = searchRequest.DateOfBirthEnd,
                DateOfDeathStart = searchRequest.DateOfDeathStart,
                DateOfDeathEnd   = searchRequest.DateOfDeathEnd,
            };

            if (!string.IsNullOrEmpty(searchRequest.Snils))
            {
                var snilsNumbersString = StringConverter.GetNumbers(searchRequest.Snils);
                searchRequestParsed.Snils = long.Parse(snilsNumbersString);
            }

            if (!string.IsNullOrEmpty(searchRequest.Inn))
            {
                var innNumbersString = StringConverter.GetNumbers(searchRequest.Inn);
                searchRequestParsed.Inn = long.Parse(innNumbersString);
            }

            return(searchRequestParsed);
        }
Exemplo n.º 2
0
        public async Task <List <CitizenSql> > GetCitizens(SearchRequestParsed searchRequestParsed)
        {
            //validate input

            IQueryable <CitizenSql> citizens = Context.Set <CitizenSql>().AsQueryable();

            if (searchRequestParsed.Guid != null && searchRequestParsed.Guid != Guid.Empty)
            {
                citizens = citizens.Where(x => x.Guid == searchRequestParsed.Guid);
            }

            if (searchRequestParsed.Inn != null)
            {
                citizens = citizens.Where(x => x.Inn == searchRequestParsed.Inn);
            }

            if (searchRequestParsed.Snils != null)
            {
                citizens = citizens.Where(x => x.Snils == searchRequestParsed.Snils);
            }

            if (!string.IsNullOrEmpty(searchRequestParsed.Name))
            {
                citizens = citizens.Where(x => x.Name == searchRequestParsed.Name);
            }
            if (!string.IsNullOrEmpty(searchRequestParsed.Patronymic))
            {
                citizens = citizens.Where(x => x.Patronymic == searchRequestParsed.Patronymic);
            }

            if (!string.IsNullOrEmpty(searchRequestParsed.Surname))
            {
                citizens = citizens.Where(x => x.Surname == searchRequestParsed.Surname);
            }

            if (searchRequestParsed.DateOfBirthStart != null && searchRequestParsed.DateOfBirthEnd != null)
            {
                citizens = citizens.Where(x => x.DateOfBirth > searchRequestParsed.DateOfBirthStart && x.DateOfBirth < searchRequestParsed.DateOfBirthEnd);
            }

            if (searchRequestParsed.DateOfDeathStart != null && searchRequestParsed.DateOfDeathEnd != null)
            {
                citizens = citizens.Where(x => x.DateOfBirth > searchRequestParsed.DateOfBirthStart && x.DateOfBirth < searchRequestParsed.DateOfBirthEnd);
            }

            return(await citizens.AsNoTracking().ToListAsync());
        }
Exemplo n.º 3
0
        public async Task <ActionResult <RpGetCitizens> > GetCitizens([FromBody] RqGetCitizens rqGetCitizens)
        {
            try
            {
                if (!string.IsNullOrEmpty(rqGetCitizens.SearchRequest.Inn) && !ValidationsCollection.Validations.IsValidInnForIndividual(rqGetCitizens.SearchRequest.Inn))
                {
                    return(Json(ResponseHelper.ReturnBadRequest("Inn not valid")));
                }

                if (!string.IsNullOrEmpty(rqGetCitizens.SearchRequest.Snils) && !ValidationsCollection.Validations.IsValidSnils(StringConverter.GetNumbers(rqGetCitizens.SearchRequest.Snils)))
                {
                    return(Json(ResponseHelper.ReturnBadRequest("Snils not valid")));
                }

                var searchRequestParsed = new SearchRequestParsed();
                try
                {
                    searchRequestParsed = CitizenConverter.FromSearchRequestToSearchRequestParsed(rqGetCitizens.SearchRequest);
                }
                catch (Exception exception)
                {
                    LoggerStatic.Logger.Warn("Exception: " + exception);
                    return(Json(ResponseHelper.ReturnBadRequest(exception.Message)));
                }

                var rpGetCitizens = new RpGetCitizens
                {
                    Citizens = await _peopleService.GetCitizens(searchRequestParsed)
                };
                //return Json(rpGetCitizens);
                return(ControllersHelper.ReturnContentResult(SerializerJson.SerializeObjectToJsonString(rpGetCitizens)));
            }
            catch (Exception exception)
            {
                LoggerStatic.Logger.Error("Exception: " + exception);
                return(Json(ResponseHelper.ReturnInternalServerError(exception.Message)));
            }
        }
Exemplo n.º 4
0
        public async Task <FileContentResult> ExportCsv([FromBody] RqGetCitizens rqGetCitizens)
        {
            try
            {
                if (!string.IsNullOrEmpty(rqGetCitizens.SearchRequest.Inn) && !ValidationsCollection.Validations.IsValidInnForIndividual(rqGetCitizens.SearchRequest.Inn))
                {
                    return(File(new UTF8Encoding().GetBytes($"Exception: Inn not valid)"), "text/csv", "exception.txt"));
                }

                if (!string.IsNullOrEmpty(rqGetCitizens.SearchRequest.Snils) && !ValidationsCollection.Validations.IsValidSnils(StringConverter.GetNumbers(rqGetCitizens.SearchRequest.Snils)))
                {
                    return(File(new UTF8Encoding().GetBytes($"Exception: Snils not valid)"), "text/csv", "exception.txt"));
                }

                var searchRequestParsed = new SearchRequestParsed();
                try
                {
                    searchRequestParsed = CitizenConverter.FromSearchRequestToSearchRequestParsed(rqGetCitizens.SearchRequest);
                }
                catch (Exception exception)
                {
                    LoggerStatic.Logger.Warn("Exception: " + exception);
                    return(File(new UTF8Encoding().GetBytes($"Exception: {exception})"), "text/csv", "exception.txt"));
                }

                var citizens = await _peopleService.GetCitizens(searchRequestParsed);

                var csvBytes = await _peopleService.GetCsvResult(citizens);

                return(File(csvBytes, "text/csv", $"Citizens-{DateTime.Now:yyyy-MM-dd-H-mm-ss}.csv"));
            }
            catch (Exception exception)
            {
                LoggerStatic.Logger.Error("Exception: " + exception);
                return(File(new System.Text.UTF8Encoding().GetBytes($"Exception: {exception}"), "text/csv", "exception.txt"));
            }
        }