public IActionResult CreateDistribution(CreateDistributionDto createDistribution) { var result = _distributionService.CreateDistribution(createDistribution); if (!result.IsSuccess) { return(BadRequest(result)); } return(Ok(result.Response)); }
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)); }