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); }
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()); }
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))); } }
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")); } }