Exemplo n.º 1
0
 public async Task AddAsync(People people)
 {
     if (!RunValidation(new PeopleValidation(), people) ||
         !RunValidation(new AddressValidation(), people.Address))
     {
         return;
     }
     if (_peopleRepository.SearchAsync(p => p.Document == people.Document && !p.IsDeleted).Result.Any())
     {
         Notify(DomainError.MessageErrorHasExistPeopleWithDocument);
         return;
     }
     await _peopleRepository.AddAsync(people);
 }
        public async Task <IActionResult> Post([FromBody] NewPersonModel personModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var person = await _peopleRepository.GetByNameAsync(personModel.Name);

            if (person != null)
            {
                return(StatusCode(409, $"{personModel.Name} already exists.")); //BadRequest($"{personModel.Name} already exists.");
            }

            var personResult = await _peopleRepository.AddAsync(new Person()
            {
                Age  = personModel.Age,
                Name = personModel.Name
            });

            return(CreatedAtAction("Get", new { id = personResult.Id }, personResult));
            // For more information on protecting this API from Cross Site Request Forgery (CSRF) attacks, see http://go.microsoft.com/fwlink/?LinkID=717803
        }
Exemplo n.º 3
0
 public async Task <Result <int> > CreatePerson(Person person)
 {
     return(await _peopleRepository.AddAsync(person));
 }
Exemplo n.º 4
0
 private async Task CreatedPeopleIntoDataAsync(Domain.Entities.People entity)
 {
     await _peopleRepository.AddAsync(entity.MapToDto());
 }
Exemplo n.º 5
0
        private async Task CreateRolesAndUser(IServiceProvider serviceProvider, IPeopleRepository peopleRepository)
        {
            //Adding cumtoms roles
            var roleManager = serviceProvider.GetRequiredService <RoleManager <ApplicationRole> >();
            var userManager = serviceProvider.GetRequiredService <UserManager <ApplicationUser> >();

            //Type roles
            List <ApplicationRole> roles = new List <ApplicationRole>();

            roles.Add(new ApplicationRole
            {
                Name        = "Admin",
                Description = "Rol de un Administrador",
                Status      = 1,
            });

            roles.Add(new ApplicationRole
            {
                Name        = "User",
                Description = "Rol de un usuario",
                Status      = 1,
            });

            IdentityResult roleResult;

            foreach (var rol in roles)
            {
                //Creating the roles and saved in database
                var roleExist = await roleManager.RoleExistsAsync(rol.Name);

                if (!roleExist)
                {
                    roleResult = await roleManager.CreateAsync(rol);
                }
            }

            string email         = Configuration.GetSection("SuperUserCredential")["Email"];
            string password      = Configuration.GetSection("SuperUserCredential")["Password"];
            string name          = Configuration.GetSection("SuperUserCredential")["Name"];
            string firstSurname  = Configuration.GetSection("SuperUserCredential")["FirstSurname"];
            string secondSurname = Configuration.GetSection("SuperUserCredential")["SecondSurname"];

            var existingUser = await userManager.FindByEmailAsync(email);

            if (existingUser == null)
            {
                var superUser = new ApplicationUser
                {
                    Email    = email,
                    UserName = email,
                    Status   = 1
                };

                var createdUser = await userManager.CreateAsync(superUser, password);

                if (createdUser.Succeeded)
                {
                    await userManager.AddToRoleAsync(superUser, "Admin");

                    //Save data in people table
                    PeopleDto newPeople = new PeopleDto
                    {
                        UserId        = superUser.Id,
                        Name          = name,
                        FirstSurname  = firstSurname,
                        SecondSurname = secondSurname,
                        Status        = 1,
                        UserCreate    = superUser.Id,
                        DateCreate    = DateTime.Now
                    };

                    await peopleRepository.AddAsync(newPeople);
                }
            }
        }
Exemplo n.º 6
0
        public override async Task <BaseResponse> AddAsync(PersonData request, ServerCallContext context)
        {
            try
            {
                if (request is null)
                {
                    await _peopleRepository.AddAsync(null);
                }

                Person person = new()
                {
                    LastName   = request.LastName,
                    Name       = request.Name,
                    SecondName = request.SecondName,
                    BornedOn   = request.BornedOn.ToDateTime()
                };
                int result = await _peopleRepository.AddAsync(person);

                if (result == 0)
                {
                    throw new Exception("Person data has not been saved");
                }
                BaseResponse response = new()
                {
                    Code         = Code.Success,
                    ErrorMessage = string.Empty,
                    DataId       = person.Id
                };

                LogData logData = new()
                {
                    CallSide         = nameof(PeopleService),
                    CallerMethodName = nameof(AddAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = response
                };

                _logger.AddLog(logData);

                return(response);
            }
            catch (NullReferenceException nrex)
            {
                LogData logData = new()
                {
                    CallSide         = nameof(PeopleService),
                    CallerMethodName = nameof(AddAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = nrex
                };

                _logger.AddErrorLog(logData);
                return(new BaseResponse
                {
                    Code = Code.DataError,
                    ErrorMessage = nrex.Message
                });
            }
            catch (ArgumentException aex)
            {
                LogData logData = new()
                {
                    CallSide         = nameof(PeopleService),
                    CallerMethodName = nameof(AddAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = aex
                };

                _logger.AddErrorLog(logData);
                return(new BaseResponse
                {
                    Code = Code.DataError,
                    ErrorMessage = aex.Message
                });
            }
            catch (DbUpdateException duex)
            {
                LogData logData = new()
                {
                    CallSide         = nameof(PeopleService),
                    CallerMethodName = nameof(AddAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = duex
                };

                _logger.AddErrorLog(logData);
                return(new BaseResponse
                {
                    Code = Code.DbError,
                    ErrorMessage = "An error occured while saving person data"
                });
            }
            catch (Exception ex)
            {
                LogData logData = new()
                {
                    CallSide         = nameof(PeopleService),
                    CallerMethodName = nameof(AddAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = ex
                };

                _logger.AddErrorLog(logData);
                return(new BaseResponse
                {
                    Code = Code.UnknownError,
                    ErrorMessage = ex.Message
                });
            }
        }

        public override async Task <BaseResponse> UpdateAsync(PersonData request, ServerCallContext context)