Example #1
0
        /// <summary>
        /// Update existing citizen.
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <ResultBase> UpdateAsync(CitizenDto model)
        {
            try
            {
                if (model == null)
                {
                    return(ResultBase.Failure("Model is empty."));
                }

                var citizen = await this.Db.Citizens.SingleOrDefaultAsync(x => x.Id == model.Id);

                if (citizen == null)
                {
                    return(ResultBase.Failure("Citizen not found."));
                }

                citizen.Update(model);
                await this.Db.SaveChangesAsync();

                return(ResultBase.Success());
            }
            catch (ArgumentException argumentException)
            {
                return(ResultBase.Failure(argumentException.Message));
            }
            catch (Exception exception)
            {
                Log.Logger.Error(exception, "Error in Citizen Update method.");
                return(ResultBase.Failure($"Error in Citizen Update method."));
            }
        }
Example #2
0
        /// <summary>
        /// Creates new citizen.
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <Result <int> > CreateAsync(CitizenDto model)
        {
            try
            {
                if (model == null)
                {
                    return(Result <int> .Failure("Model is empty."));
                }

                var citizen = new Citizen(model);
                this.Db.Citizens.Add(citizen);
                await this.Db.SaveChangesAsync();

                return(Result <int> .Success(citizen.Id));
            }
            catch (ArgumentException argumentException)
            {
                return(Result <int> .Failure(argumentException.Message));
            }
            catch (Exception exception)
            {
                Log.Logger.Error(exception, "Error in Citizen Create method.");
                return(Result <int> .Failure($"Error in Citizen Create method."));
            }
        }
Example #3
0
        private void Validate(CitizenDto model)
        {
            if (string.IsNullOrEmpty(model.FirstName) || model.FirstName.Length > 250)
            {
                throw new ArgumentException("First name is required and must be 250 characters or less.");
            }

            if (string.IsNullOrEmpty(model.LastName) || model.LastName.Length > 250)
            {
                throw new ArgumentException("Last name is required and must be 250 characters or less.");
            }

            if (string.IsNullOrEmpty(model.Email) && string.IsNullOrEmpty(model.Phone))
            {
                throw new ArgumentException("Some form of contact info is required. Phone, email, or both.");
            }

            if (!string.IsNullOrWhiteSpace(model.Email) && model.Email.Length > 250)
            {
                throw new ArgumentException("Email must be 250 characters or less.");
            }

            if (!string.IsNullOrWhiteSpace(model.Phone) && model.Phone.Length > 50)
            {
                throw new ArgumentException("Phone must be 50 characters or less.");
            }
        }
Example #4
0
 public void Update(CitizenDto model)
 {
     this.Validate(model);
     this.FirstName = model.FirstName;
     this.LastName  = model.LastName;
     this.Email     = model.Email;
     this.Phone     = model.Phone;
 }
Example #5
0
        public Task <CitizenDto> IfCitizenInDbAsync(CitizenDto citizenDto)
        {
            CitizenDto cDto = (from Citizen c in _context.Citizens
                               where c.CitizenID == citizenDto.CitizenID
                               select _mapper.Map <CitizenDto>(c)).FirstOrDefault();

            return(Task.FromResult(cDto));
        }
Example #6
0
 public HttpResponseMessage Post([FromBody] CitizenDto citizenDto)
 {
     if (!ModelState.IsValid)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Missing values"));
     }
     _citizenService.Add(citizenDto);
     return(Request.CreateResponse(HttpStatusCode.OK, "Citizen added in National Population Register"));
 }
Example #7
0
        public async Task <ResultDto> UpdateAsync(CitizenDto citizen)
        {
            await _repository.UpdateAsync(new[] { CitizenDto.ToEntity(citizen) }).ConfigureAwait(false);

            return(new ResultDto
            {
                IsSuccessed = true,
                Message = "Citizen has been updated",
                Error = null
            });
        }
Example #8
0
        public async Task <CitizenDto> UpdateCitizenToken(CitizenDto citizenDto)
        {
            Citizen citizen = (from Citizen c in _context.Citizens
                               where c.CitizenID == citizenDto.CitizenID
                               select c).SingleOrDefault();

            citizen.TokenFireBase = citizenDto.TokenFireBase;
            await _context.SaveChangesAsync();

            return(citizenDto);
        }
Example #9
0
        public async Task <SearchResultDto> SearchAsync(SearchDto search)
        {
            var entities = await _repository.SearchAsync(SearchDto.ToCriteria(search), search.Skip, search.Take).ConfigureAwait(false);

            return(new SearchResultDto
            {
                Citizens = entities?.Select(a => CitizenDto.FromEntity(a)).ToArray(),
                IsSuccessed = true,
                Message = null,
                Error = null
            });
        }
Example #10
0
        public async Task <GetResultDto> GetAsync(int id)
        {
            var entity = await _repository.GetAsync(id).ConfigureAwait(false);

            return(new GetResultDto
            {
                Citizen = CitizenDto.FromEntity(entity),
                IsSuccessed = true,
                Message = null,
                Error = null
            });
        }
Example #11
0
        public async Task <ActionResult <CitizenDto> > LoginCitizen(CitizenDto citizenDto)
        {
            CitizenDto cDto = await _citizen.IfCitizenInDbAsync(citizenDto);

            if (cDto == null)
            {
                return(NotFound());
            }
            try
            {
                cDto = await _citizen.UpdateCitizenToken(citizenDto);
            }

            catch (DbUpdateException)
            {
                return(BadRequest(new { message = "erreur interne" }));
            }
            return(cDto);
        }
Example #12
0
        public static CitizenModel FromDto(CitizenDto dto)
        {
            if (dto == null)
            {
                return(null);
            }

            return(new CitizenModel
            {
                id = dto.Id,
                cdate = dto.Cdate,
                udate = dto.Udate,
                first_name = dto.FirstName,
                last_name = dto.LastName,
                patronymic = dto.Patronymic,
                inn = dto.Inn,
                snils = dto.Snils,
                birth_date = dto.BirthDate,
                death_date = dto.DeathDate
            });
        }
Example #13
0
 public async Task <IHttpActionResult> Put([FromBody] CitizenDto model)
 {
     return(this.ProcessResult(await this.Service.UpdateAsync(model)));
 }