Esempio n. 1
0
        public IActionResult CreateDistribution(CreateDistributionDto createDistribution)
        {
            var result = _distributionService.CreateDistribution(createDistribution);

            if (!result.IsSuccess)
            {
                return(BadRequest(result));
            }

            return(Ok(result.Response));
        }
Esempio n. 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));
        }