public ICommandResult Handle(UpdateGroceriesPositionCommand command) { var groceries = _groceriesRepository.GetAll(); var grocery = groceries.FirstOrDefault(x => x.Id == command.Id); if (grocery == null) { AddNotification(new Notification("Id", "not found!")); return(null); } var oldIndex = groceries.IndexOf(grocery); var newIndex = command.Position; groceries.RemoveAt(oldIndex); groceries.Insert(newIndex, grocery); AddNotifications(grocery.Notifications); if (IsValid()) { _groceriesRepository.Update(groceries); } return(new UpdateGroceriesPositionCommandResult(grocery.Id)); }
public ICommandResult Handle(UpdateGroceriesCommand command) { var groceries = _groceriesRepository.GetById(command.Id); if (groceries == null) { AddNotification(new Notification("Id", "not found!")); return(null); } groceries.Update(command.Name, command.Price, command.Unity, command.Category); AddNotifications(groceries.Notifications); if (IsValid()) { _groceriesRepository.Update(groceries); } return(new UpdateGroceriesCommandResult(groceries.Id, groceries.Name, groceries.Price, groceries.Unity, groceries.Category)); }