コード例 #1
0
        // 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()));
        }
コード例 #2
0
 // 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()
     });
 }
コード例 #3
0
ファイル: Store.cs プロジェクト: temp3456/mootit_pizzeria
        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;
            }
        }