// Storage to domain public static Result <Pizza> ToPizzaDomain(this Entities.Pizza dbPizza) { Result <PizzaNameValue> pizzaNameOrError = PizzaNameValue.Create(dbPizza.Name); Result <PizzaSizeValue> pizzaSizeOrError = PizzaSizeValue.Create(dbPizza.Size); Result okOrError = Result.FirstFailureOrOk(pizzaNameOrError, pizzaSizeOrError); if (okOrError.IsFailure) { return(Result.FromError <Pizza>(okOrError)); } ICollection <Result <Ingredient> > ingredientResults = dbPizza.Ingredients .Where(ingredient => ingredient.DeletedOn == null) .Select(ingredient => ingredient.ToIngredientDomain()).ToList(); Result ingredientsOrError = Result.FirstFailureOrOk(ingredientResults); if (ingredientsOrError.IsFailure) { return(Result.FromError <Pizza>(ingredientsOrError)); } return(Pizza.Create(dbPizza.Id, dbPizza.Uid, dbPizza.CreatedOn, dbPizza.DeletedOn, pizzaNameOrError.Value, pizzaSizeOrError.Value, ingredientResults.Select(ingredient => ingredient.Value).ToList())); }
// To pizza dto from storage public static PizzaDto ToPizzaDto(this Entities.Pizza dbPizza) { return(new PizzaDto { Id = dbPizza.Id, Name = dbPizza.Name, Size = dbPizza.Size, Uid = dbPizza.Uid, Ingredients = dbPizza.Ingredients.Select(ingredient => new IngredientDto { Id = ingredient.Id, Name = ingredient.Name, Quantity = ingredient.Quantity }).ToList() }); }
public Entities.Pizza GetPizza(long id) { Entities.Pizza found = null; try { var item = context.Pizzas.FirstOrDefault(order => order.Id == id); if (item != null) { found = new Entities.Pizza() { Id = item.Id, Description = item.Description, Flavor = item.Flavor, Price = item.Price, Slice = 0 }; } return found; } finally { found = null; } }