コード例 #1
0
        public void EditRecipe(IRecipeData recipe)
        {
            using (LudwigRecipeContext context = new LudwigRecipeContext())
            {
                Recipe dbRecipe = context.Recipes.FirstOrDefault(x => x.Id == recipe.Id);
                if (dbRecipe == null)
                {
                    return;
                }

                Measurement measurement = context.Measurements.FirstOrDefault(x => x.Id == recipe.Measurement.Id);

                dbRecipe.Name             = recipe.Name;
                dbRecipe.Description      = recipe.Description;
                dbRecipe.Content          = recipe.Content;
                dbRecipe.IsPublished      = recipe.IsPublished;
                dbRecipe.IsOnlyForFriends = recipe.IsOnlyForFriends;
                dbRecipe.PublishDate      = recipe.PublishDate;
                dbRecipe.Url             = recipe.Url;
                dbRecipe.IngredientCount = recipe.IngredientCount;
                dbRecipe.Measurement     = measurement;
                dbRecipe.PreparationTime = recipe.PreparationTime;
                dbRecipe.WaitingTime     = recipe.WaitingTime;
                dbRecipe.TeaserImageUrl  = recipe.TeaserImageUrl;
                context.SaveChanges();
            }
        }
コード例 #2
0
        public int AddRecipe(IRecipeData recipe)
        {
            using (LudwigRecipeContext context = new LudwigRecipeContext())
            {
                Measurement measurement = null;
                if (recipe.Measurement != null && recipe.Measurement.Id != 0)
                {
                    measurement = context.Measurements.FirstOrDefault(x => x.Id == recipe.Measurement.Id);
                }

                Recipe dbRecipe = new Recipe()
                {
                    Name             = recipe.Name,
                    Description      = recipe.Description,
                    Content          = recipe.Content,
                    IsPublished      = recipe.IsPublished,
                    IsOnlyForFriends = recipe.IsOnlyForFriends,
                    PublishDate      = recipe.PublishDate,
                    Url             = recipe.Url,
                    IngredientCount = recipe.IngredientCount,
                    Measurement     = measurement,
                    PreparationTime = recipe.PreparationTime,
                    WaitingTime     = recipe.WaitingTime
                };
                context.Recipes.Add(dbRecipe);
                context.SaveChanges();

                recipe.Id = dbRecipe.Id;
                return(recipe.Id);
            }
        }
コード例 #3
0
 public ListModel(IConfiguration config,
                  IRecipeData recipeData,
                  UserManager <ApplicationUser> userManager)
 {
     this.recipeData  = recipeData;
     this.userManager = userManager;
     this.config      = config;
 }
コード例 #4
0
 public AddToFavoritesModel(IRecipeData recipeData,
                            UserManager <ApplicationUser> userManager,
                            IFavoriteRecipeData favoriteRecipeData)
 {
     this.recipeData         = recipeData;
     this.userManager        = userManager;
     this.favoriteRecipeData = favoriteRecipeData;
 }
コード例 #5
0
 public CreateModel(IRecipeData recipeData, IHtmlHelper htmlHelper,
                    IIngredientData ingredientData,
                    UserManager <ApplicationUser> userManager,
                    IImageData imageData)
 {
     this.recipeData     = recipeData;
     this.htmlHelper     = htmlHelper;
     this.ingredientData = ingredientData;
     this.imageData      = imageData;
     this.userManager    = userManager;
 }
コード例 #6
0
 public RecipesController(IHtmlHelper htmlHelper,
                          IRecipeData recipeData,
                          IRecipeComponentData recipeComponentData,
                          IIngredientData ingredientData,
                          IUserRecipeData userRecipeData,
                          IWebHostEnvironment webHostEnvironment)
 {
     _htmlHelper          = htmlHelper;
     _recipeData          = recipeData;
     _recipeComponentData = recipeComponentData;
     _ingredientData      = ingredientData;
     _userRecipeData      = userRecipeData;
     _webHostEnvironment  = webHostEnvironment;
 }
コード例 #7
0
        public IRecipeData LoadRecipe(int id)
        {
            IRecipeData recipe = null;

            using (LudwigRecipeContext context = new LudwigRecipeContext())
            {
                try
                {
                    var dbRecipeQuery = context.Recipes.AsQueryable();

                    dbRecipeQuery = dbRecipeQuery.Where(x => x.Id == id);

                    var dbRecipe = dbRecipeQuery.FirstOrDefault();

                    if (dbRecipe != null)
                    {
                        recipe = new RecipeData()
                        {
                            Id               = dbRecipe.Id,
                            IsPublished      = dbRecipe.IsPublished,
                            IsOnlyForFriends = dbRecipe.IsOnlyForFriends,
                            Name             = dbRecipe.Name,
                            Description      = dbRecipe.Description,
                            Content          = dbRecipe.Content,
                            PublishDate      = dbRecipe.PublishDate,
                            Url              = dbRecipe.Url,
                            TeaserImageUrl   = dbRecipe.TeaserImageUrl,
                            IngredientCount  = dbRecipe.IngredientCount,
                            Measurement      = (dbRecipe.Measurement != null) ? new MeasurementData()
                            {
                                Id = dbRecipe.Measurement.Id, Name = dbRecipe.Measurement.Name
                            } : new MeasurementData(),
                            PreparationTime = dbRecipe.PreparationTime,
                            WaitingTime     = dbRecipe.WaitingTime
                        };
                    }
                }
                catch (Exception e)
                {
                }
            }
            return(recipe);
        }
コード例 #8
0
        public static IEnumerable <IProduct> Results(IRecipeData instance, dynamic data)
#pragma warning restore IDE0060 // Remove unused parameter
        {
            var dic = (IDictionary <string, object>)data;

            if (dic.ContainsKey("results") && dic["results"] != null)
            {
                return((IEnumerable <IProduct>)(DataLoader.Current?.ProxyValue(typeof(IEnumerable <IProduct>), dic["results"]) ?? throw new ApplicationException()));
            }
            else
            {
                if (!dic.ContainsKey("result"))
                {
                    throw new ApplicationException("Either 'results' or 'result' should be defined!");
                }
                dynamic d = new ExpandoObject();
                d.name   = dic["result"];
                d.amount = dic.ContainsKey("result_count") ? dic["result_count"] : 1;
                var product = (IProduct)(DataLoader.Current?.ProxyValue(typeof(IProduct), d) ?? throw new ApplicationException());
                return(new[] { product });
            }
        }
コード例 #9
0
 public MenuRecipeDetailViewComponent(IRecipeData recipeData, ICategoryData categoryData)
 {
     this.recipeData   = recipeData;
     this.categoryData = categoryData;
 }
コード例 #10
0
 public HomeController(ILogger <HomeController> logger, IRecipeData recipeData)
 {
     _logger     = logger;
     _recipeData = recipeData;
 }
コード例 #11
0
 public RecipeController(IRecipeData recipe, ITagData tags, RecipeDbContext context)
 {
     _recipe  = recipe;
     _tags    = tags;
     _context = context;
 }
コード例 #12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Recipe"/> class.
 /// </summary>
 public Recipe()
 {
     _recipe = new RecipeDb();
 }
コード例 #13
0
 public DeleteModel(IRecipeData recipeData)
 {
     this.recipeData = recipeData;
 }
コード例 #14
0
 public MenuModel(IRecipeData recipeData)
 {
     this.recipeData = recipeData;
 }
コード例 #15
0
 public EditModel(IRecipeData recipeData, ICategoryData categoryData, IHtmlHelper htmlHelper)
 {
     this.recipeData   = recipeData;
     this.categoryData = categoryData;
     this.htmlHelper   = htmlHelper;
 }
コード例 #16
0
 public ListModel(IRecipeData recipeData)
 {
     this.recipeData = recipeData;
 }
コード例 #17
0
 public RecipesController(IRecipeSearchData recipeSearchData, IRecipeData recipeData, IMapper mapper)
 {
     this.recipeSearchData = recipeSearchData;
     this.recipeData       = recipeData;
     this.mapper           = mapper;
 }
コード例 #18
0
 public HomeController(IRecipeData recipeData, IUserData userData)
 {
     this.recipeData = recipeData;
     this.userData   = userData;
 }
コード例 #19
0
 public RecipeComponentsController(IRecipeData recipeData, IRecipeComponentData recipeComponentData)
 {
     _recipeData          = recipeData;
     _recipeComponentData = recipeComponentData;
 }
コード例 #20
0
 public RecipesController(IRecipeData recipeData, IMapper mapper, LinkGenerator linkGenerator)
 {
     _recipeData    = recipeData;
     _mapper        = mapper;
     _linkGenerator = linkGenerator;
 }
コード例 #21
0
 public RecipeCountViewComponent(IRecipeData recipeData)
 {
     this.recipeData = recipeData;
 }
コード例 #22
0
        public RecipeEditViewModel LoadRecipeEditViewModel(int id)
        {
            RecipeEditViewModel model = new RecipeEditViewModel();

            #region Recipe
            if (id == 0)
            {
                int Minute;
                if (DateTime.Now.Minute > 9)
                {
                    Int32.TryParse(DateTime.Now.Minute.ToString().Substring(1), out Minute);
                }
                else
                {
                    Minute = DateTime.Now.Minute;
                }
                model = new RecipeEditViewModel()
                {
                    PublishDate    = DateTime.Now.ToString("dd.MM.yyyy"),
                    PublishHour    = DateTime.Now.Hour,
                    PublishMinute  = (DateTime.Now.Minute - Minute),
                    Content        = @"<h2>Zubereitung</h2>
<ol>
	<li></li>
</ol>
<ol class=""no-number default-color"">
	<li><strong>Guten Appetit!</strong></li>
</ol>",
                    TeaserImageUrl = "default_teaser_image.png"
                };
            }
            IRecipeData recipe = _recipeRepository.LoadRecipe(id);
            if (recipe != null)
            {
                model = new RecipeEditViewModel()
                {
                    Id               = recipe.Id,
                    Name             = recipe.Name,
                    Description      = recipe.Description,
                    Content          = recipe.Content,
                    PublishDate      = recipe.PublishDate.ToString("dd.MM.yyyy"),
                    PublishHour      = recipe.PublishDate.Hour,
                    PublishMinute    = recipe.PublishDate.Minute,
                    IsPublished      = recipe.IsPublished,
                    IsOnlyForFriends = recipe.IsOnlyForFriends,
                    TeaserImageUrl   = String.IsNullOrEmpty(recipe.TeaserImageUrl) ? "default_teaser_image.png" : recipe.TeaserImageUrl,
                    IngredientCount  = recipe.IngredientCount,
                    Measurement      = (recipe.Measurement != null) ? recipe.Measurement.Name : "",
                    PreparationTime  = recipe.PreparationTime,
                    WaitingTime      = recipe.WaitingTime
                };
            }
            #endregion

            #region Ingredients
            if (model.Id != 0)
            {
                List <IIngredientListData> ingredientListDatas = _ingredientListRepository.LoadIngredientListFromRecipe(model.Id);
                foreach (IIngredientListData ingredientListData in ingredientListDatas)
                {
                    model.IngredientList.Add(new IngredientListItemViewModel()
                    {
                        Id              = ingredientListData.Id,
                        Amount          = ingredientListData.Amount,
                        IngredientName  = ingredientListData.IngredientName,
                        MeasurementName = ingredientListData.MeasurementName
                    });
                }
            }
            #endregion

            #region Categories
            List <ICategorySelectData> categoryDatas = _categoryRespository.LoadCategoriesForRecipe(model.Id);
            if (categoryDatas != null)
            {
                foreach (ICategorySelectData categoryData in categoryDatas)
                {
                    List <SubCategoryToRecipeViewModel> subCategories = new List <SubCategoryToRecipeViewModel>();
                    foreach (ISubCategorySelectData subCategoryData in categoryData.SubCategoryDatas)
                    {
                        subCategories.Add(new SubCategoryToRecipeViewModel()
                        {
                            Id         = subCategoryData.Id,
                            Name       = subCategoryData.Name,
                            IsSelected = subCategoryData.IsSelected
                        });
                    }
                    model.Categories.Add(new CategoryToRecipeViewModel()
                    {
                        Id            = categoryData.Id,
                        Name          = categoryData.Name,
                        IsSelected    = categoryData.IsSelected,
                        SubCategories = subCategories
                    });
                }
            }
            #endregion

            #region Content
            List <IRecipeContent> contents = _recipeRepository.LoadRecipeContents(model.Id);
            if (contents != null)
            {
                foreach (IRecipeContent content in contents)
                {
                    model.ContentItems.Add(new LudwigRecipe.Service.Models.Recipe.RecipeContent()
                    {
                        Id          = content.Id,
                        Content     = content.Content,
                        ContentType = (RecipeContentType)content.RecipeContentTypeId,
                        SortOrder   = content.SortOrder
                    });
                }
            }

            #endregion

            return(model);
        }
コード例 #23
0
 public RecipesModel(IConfiguration configuration, IRecipeData recipeData)
 {
     this.configuration = configuration;
     this.recipeData    = recipeData;
 }
コード例 #24
0
 public HotDrinksController(IRecipeData db)
 {
     this.db = db;
 }
コード例 #25
0
 public EditModel(IIngredientData ingredientData, IRecipeData recipeData)
 {
     this.ingredientData = ingredientData;
     this.recipeData     = recipeData;
 }
コード例 #26
0
 public DetailModel(IRecipeData recipeData, ICategoryData categoryData)
 {
     this.recipeData   = recipeData;
     this.categoryData = categoryData;
 }
コード例 #27
0
 public RecipeViewComponent(IRecipeData RecipeData)
 {
     _RecipeData = RecipeData;
 }
コード例 #28
0
 public DetailModel(IRecipeData recipeData)
 {
     this.recipeData = recipeData;
 }
コード例 #29
0
 public SearchModel(IRecipeData recipeData, ICategoryData categoryData)
 {
     this.recipeData   = recipeData;
     this.categoryData = categoryData;
 }
コード例 #30
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Recipe"/> class.
 /// </summary>
 /// <param name="recipe">The recipe.</param>
 internal Recipe(IRecipe recipe)
 {
     _recipe = recipe as IRecipeData;
 }