コード例 #1
0
        public ServiceResult <DestinyBaseDto> Delete(Guid destinyId)
        {
            var destiny = _context.Destinies.FirstOrDefault(x => x.Id == destinyId);

            if (destiny == null)
            {
                return(new ServiceResult <DestinyBaseDto>(null));
            }

            var destinies_solitation = _context.Destinies
                                       .Where(x => x.SolicitationSubsidyId == destiny.SolicitationSubsidyId)
                                       .ToList();

            if (destinies_solitation.Count() == 1)
            {
                ServiceResult <DestinyBaseDto> result = new ServiceResult <DestinyBaseDto>();
                result
                .AddNotification(NotificationType.Error, "Una solicitud de viático debe contener al menos 1 destino");
                return(result);
            }

            _context.Destinies.Remove(destiny);
            _context.SaveChanges();


            return(new ServiceResult <DestinyBaseDto>(new DestinyBaseDto()));
        }
コード例 #2
0
        public ServiceResult <CreateDistributionDto> CreateDistribution(CreateDistributionDto distribution)
        {
            ServiceResult <CreateDistributionDto> result = new ServiceResult <CreateDistributionDto>();
            NotificationType msg = 0;
            var validation       = _fluentValidatorDistribution.Validate(distribution);

            if (!validation.IsValid)
            {
                return(_mapper.Map <ServiceResult <CreateDistributionDto> >(validation.ToServiceResult <CreateDistributionDto>(null)));
            }

            Distribution newDistribution = new Distribution()
            {
                Id          = new Guid(),
                Name        = distribution.Name,
                Description = distribution.Description,
                OrganismId  = distribution.OrganismId
            };

            _distributionContext.Add(newDistribution);
            _distributionContext.SaveChanges();

            var         newOrganism = _distributionContext.Organisms.FirstOrDefault(x => x.Id == newDistribution.Id);
            List <User> listUsers   = _distributionContext.Users.Where(x => x.DistributionId == newDistribution.Id).ToList();

            if (newOrganism == null)
            {
                msg = NotificationType.Info;
                result.AddNotification(msg, "No hay organismos para esta distribución");
            }

            if (listUsers.Count == 0)
            {
                msg = NotificationType.Info;
                result.AddNotification(msg, "No hay usuarios para esta distribución");
            }

            newDistribution.Organism = newOrganism;
            newDistribution.Users    = listUsers;

            return(new ServiceResult <CreateDistributionDto>(distribution));
        }
コード例 #3
0
        public virtual async Task <Boolean> CommitAsync(ServiceResult serviceResult)
        {
            if (serviceResult.Invalid)
            {
                return(false);
            }
            if ((await _unitOfWork.CommitAsync()))
            {
                return(true);
            }

            serviceResult.AddNotification("Commit", "Houve um problema ao salvar os dados!");
            return(false);
        }
コード例 #4
0
        public async Task <ServiceResult <UserDto> > Authenticate(LoginDto p_LoginDto)
        {
            var firstValidation = _fluentValidatorLogin.Validate(p_LoginDto);

            if (!firstValidation.IsValid)
            {
                return(firstValidation.ToServiceResult <UserDto>(null));
            }

            ServiceResult <UserDto> result = new ServiceResult <UserDto>();

            var user = await _userManager.Users.SingleOrDefaultAsync(x => x.UserName == p_LoginDto.Usuario);

            var passwordResult = await _userManager.CheckPasswordAsync(user, p_LoginDto.Password);

            if (user == null || !passwordResult || user.IsDeleted == true)
            {
                const NotificationType notificationType = NotificationType.Error;
                result.AddNotification(notificationType, "Usuario y/o Contraseña Incorrecto");
                return(result);
            }


            UserDto userDto = new UserDto();

            var token    = GenerateJwtTokenHandlerAsync(user.Email, user);
            var filePath = _fileService.GetByIdFile(user.Id);

            userDto.Id          = user.Id;
            userDto.Dni         = user.Dni;
            userDto.FirstName   = user.FirstName;
            userDto.LastName    = user.LastName;
            userDto.UserName    = user.UserName;
            userDto.PhoneNumber = user.PhoneNumber;
            userDto.Token       = await token;
            userDto.Path        = filePath.Response.Paths;
            userDto.CategoryId  = user.CategoryId;
            userDto.Roles       = _rolesService.FindByIdRoles(user.Id).Result.Response;
            userDto.RolesNames  = _rolesService.RolesNames(user.Id).Response;
            result.Response     = userDto;
            return(result);
        }