示例#1
0
        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);
        }
示例#2
0
        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);
        }