public async Task <IActionResult> PostFeeding([FromRoute] int id, [FromBody] PostFeedingsDTO feedingDTO) { var result = await feedingsService.CreateFeeding(feedingDTO, id); if (result == null) { return(NotFound()); } return(CreatedAtAction("GetFeeding", new { id = result.Id }, feedingDTO)); }
public async Task <Feeding> CreateFeeding(PostFeedingsDTO feedingDTO, int babyId) { if (feedingDTO == null) { throw new ArgumentNullException(nameof(feedingDTO)); } var babies = unitOfWork.Babies.GetAll(); var baby = babies.FirstOrDefault( baby => baby.Id == babyId); var devices = unitOfWork.Devices.GetAll(); var device = devices.FirstOrDefault( device => device.Id == feedingDTO.DeviceId); var feeding = new Feeding() { Name = feedingDTO.Name, CountMilk = feedingDTO.CountMilk, TimeMilk = feedingDTO.TimeMilk }; if (baby != null && device != null) { feeding.DeviceId = feedingDTO.DeviceId; feeding.Device = device; feeding.BabyId = babyId; feeding.Baby = baby; unitOfWork.Feedings.Create(feeding); await unitOfWork.SaveChangesAsync(); return(feeding); } return(null); }