public RecipeViewModel CreateRecipeViewModel(RecipeDto recipeDto) { if (recipeDto == null) { throw new ArgumentNullException(nameof(recipeDto)); } var target = new TargetViewModel(); if (recipeDto.Target != null) { target = new TargetViewModel { Id = recipeDto.Target.Id, EndingSugar = recipeDto.Target.EndSugar, EndSugarUOM = recipeDto.Target.EndSugarUom?.Id, FermentationTemp = recipeDto.Target.Temp, TempUOM = recipeDto.Target.TempUom?.Id, pH = recipeDto.Target.pH, StartingSugar = recipeDto.Target.StartSugar, StartSugarUOM = recipeDto.Target.StartSugarUom?.Id, TA = recipeDto.Target.TA } } ; target.SugarUOMs = CreateSelectList("UOM", _getSugarUomList); target.TempUOMs = CreateSelectList("UOM", _getTempUomList); var model = new RecipeViewModel { Id = recipeDto.Id, Hits = recipeDto.Hits, Enabled = recipeDto.Enabled, NeedsApproved = recipeDto.NeedsApproved, SubmittedBy = recipeDto.SubmittedBy, Category = CreateCategoryViewModel(recipeDto.Category), Variety = CreateVarietyViewModel(recipeDto.Variety, null), Title = recipeDto.Title, Yeast = CreateYeastViewModel(recipeDto.Yeast), Target = target, Ingredients = recipeDto.Ingredients, Instructions = recipeDto.Instructions, Description = recipeDto.Description }; model.Images.Clear(); model.Images.AddRange(CreateImageViewModel(recipeDto.ImageFiles)); model.Varieties.Clear(); model.Varieties.AddRange(CreateSelectList("Variety", _varietiesDtoList, _categoriesDtoList, null)); model.Yeasts.Clear(); model.Yeasts.AddRange(CreateSelectList("Yeast", _yeastsDtoList)); if (recipeDto.Rating != null) { model.Rating = Math.Round(recipeDto.Rating.TotalValue / recipeDto.Rating.TotalVotes, 2); } return(model); }
public JournalViewModel CreateJournalViewModel(BatchDto batchDto, UserViewModel user) { if (batchDto == null) { throw new ArgumentNullException(nameof(batchDto)); } var target = new TargetViewModel(); if (batchDto.Target != null) { target = new TargetViewModel { Id = batchDto.Target.Id, EndingSugar = batchDto.Target.EndSugar, EndSugarUOM = batchDto.Target.EndSugarUom?.Id, FermentationTemp = batchDto.Target.Temp, TempUOM = batchDto.Target.TempUom?.Id, pH = batchDto.Target.pH, StartingSugar = batchDto.Target.StartSugar, StartSugarUOM = batchDto.Target.StartSugarUom?.Id, TA = batchDto.Target.TA } } ; target.SugarUOMs = CreateSelectList("UOM", _getSugarUomList); target.TempUOMs = CreateSelectList("UOM", _getTempUomList); var model = new JournalViewModel { Id = batchDto.Id, Complete = batchDto.Complete ?? false, Description = batchDto.Description, MaloCultureId = batchDto.MaloCultureId, RecipeId = batchDto.RecipeId, Title = batchDto.Title, Target = target, Variety = CreateVarietyViewModel(batchDto.Variety, null), Vintage = batchDto.Vintage, Volume = batchDto.Volume, VolumeUOM = batchDto.VolumeUom.Id, Yeast = batchDto.Yeast != null?CreateYeastViewModel(batchDto.Yeast) : CreateYeastViewModel(), SubmittedBy = user?.UserName }; model.Entries.Clear(); foreach (var entry in batchDto.Entries) { var e = CreateBatchEntryViewModel(entry); model.Entries.Add(e); } model.MaloCultures.Clear(); model.MaloCultures.AddRange(CreateSelectList("Culture", _maloDtoList)); // MaloCultures = null; model.Varieties.Clear(); model.Varieties.AddRange(CreateSelectList("Variety", _varietiesDtoList, _categoriesDtoList, null)); model.Yeasts.Clear(); model.Yeasts.AddRange(CreateSelectList("Yeast", _yeastsDtoList)); model.VolumeUOMs.Clear(); model.VolumeUOMs.AddRange(CreateSelectList("UOM", _getVolumeUomList)); return(model); }