public async Task <IngridientDto> GetIngridientAsync(int id, string userId) { var ingridient = await _repositoryIngridient .GetEntityWithoutTrackingAsync(ingridient => ingridient.Id == id && ingridient.UserId == userId); if (ingridient is null) { throw new ArgumentNullException(nameof(ingridient)); } var ingridientDto = new IngridientDto { Id = ingridient.Id, UserId = ingridient.UserId, Name = ingridient.Name, Category = ingridient.Category, IsVeggie = ingridient.IsVeggie, Description = ingridient.Description, Colories = ingridient.Colories, IsRecomended = ingridient.IsRecomended, ReactionType = ingridient.ReactionType, Date = ingridient.Date }; return(ingridientDto); }
public async Task <IActionResult> Create(IngridientActionViewModel model) { model = model ?? throw new ArgumentNullException(nameof(model)); if (ModelState.IsValid) { var userId = await _accountManager.GetUserIdByNameAsync(User.Identity.Name); var ingridientDto = new IngridientDto { UserId = userId, Name = model.Name, Category = model.Category, IsVeggie = model.IsVeggie, Description = model.Description, ReactionType = ReactionTypeExtension.ToReactionType(model.Reaction), Colories = model.Colories, //Date = model.DateTime, }; await _ingridientManager.CreateAsync(ingridientDto); return(RedirectToAction("Index", "Ingridient")); } GenerateReactionTypeList(); return(View(model)); }
public async Task UpdateAsync(IngridientDto ingridientDto) { ingridientDto = ingridientDto ?? throw new ArgumentNullException(nameof(ingridientDto)); var ingridient = await _repositoryIngridient .GetEntityAsync(ingridient => ingridient.Id == ingridientDto.Id && ingridient.UserId == ingridientDto.UserId); if (ingridient is null) { throw new KeyNotFoundException(ErrorResource.IngridientNotFound); }
public async Task CreateAsync(IngridientDto ingridientDto) { if (ingridientDto is null) { throw new ArgumentNullException(nameof(ingridientDto)); } var ingridient = new Ingridient { Id = ingridientDto.Id, UserId = ingridientDto.UserId, Name = ingridientDto.Name, Category = ingridientDto.Category, IsVeggie = ingridientDto.IsVeggie, Description = ingridientDto.Description, Colories = ingridientDto.Colories, IsRecomended = ingridientDto.IsRecomended, ReactionType = ingridientDto.ReactionType, Date = ingridientDto.Date }; await _repositoryIngridient.CreateAsync(ingridient); await _repositoryIngridient.SaveChangesAsync(); }
static bool CheckAndUpdate(Ingridient ingridient, IngridientDto newIngridient) { var toUpdate = false; if (ingridient.Name != newIngridient.Name) { ingridient.Name = newIngridient.Name; toUpdate = true; } if (ingridient.Category != newIngridient.Category) { ingridient.Category = newIngridient.Category; toUpdate = true; } if (ingridient.Colories != newIngridient.Colories) { ingridient.Colories = newIngridient.Colories; toUpdate = true; } if (ingridient.Description != newIngridient.Description) { ingridient.Description = newIngridient.Description; toUpdate = true; } if (ingridient.ReactionType != newIngridient.ReactionType) { ingridient.ReactionType = newIngridient.ReactionType; toUpdate = true; } return(toUpdate); }