/// <summary>
        /// Converts entity to viewmodel
        /// </summary>
        /// <param name="pizzaDetailsViewList"></param>
        /// <returns>list of view model</returns>
        public static List <PizzaDetailsViewModel> EntityToViewModel(this List <PizzaDetailsView> pizzaDetailsViewList)
        {
            List <PizzaDetailsViewModel> viewModelList = new List <PizzaDetailsViewModel>();

            foreach (var item in pizzaDetailsViewList)
            {
                if (!viewModelList.Any(e => e.VendorId == item.VendorTypeId))
                {
                    PizzaDetailsViewModel viewModel = new PizzaDetailsViewModel();
                    viewModel.VendorId   = item.VendorTypeId;
                    viewModel.VendorName = item.VendorName;
                    viewModel.IsSelected = false;
                    viewModel.isClosed   = false;

                    var PizzaCountByVendor  = pizzaDetailsViewList.Where(e => e.VendorId == item.VendorTypeId);
                    List <PizzaDetails> lst = new List <PizzaDetails>();

                    foreach (var details in PizzaCountByVendor)
                    {
                        PizzaDetails detail = new PizzaDetails();
                        detail.PizzaId         = details.PizzaId;
                        detail.PizzaName       = details.PizzaName;
                        detail.Price           = details.Price;
                        detail.DiscountedPrice = CalculateDiscountedPrice(details.Discount, details.Price);
                        lst.Add(detail);
                    }

                    viewModel.pizzaDetails = lst;
                    viewModelList.Add(viewModel);
                }
            }
            return(viewModelList);
        }
示例#2
0
        public async Task <IActionResult> Details(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var pizza = await _context.Pizzas
                        .SingleOrDefaultAsync(m => m.NameLt == id);

            if (pizza == null)
            {
                return(NotFound());
            }

            var model = new PizzaDetailsViewModel
            {
                NameLt        = pizza.NameLt,
                DescriptionLt = pizza.DescriptionLt,
                NameEn        = pizza.NameEn,
                DescriptionEn = pizza.DescriptionEn,
                ImagePath     = pizza.ImagePath,
                Prices        = _context.PizzaPriceInfo.Where(ppi => ppi.PriceCategoryId == pizza.PriceCategoryId)
            };

            return(View(model));
        }
示例#3
0
 public PizzaDetailsViewModel GetPizzaDetailsById(int pizzaId)
 {
     using (this.pizzaRepository)
     {
         PizzaDetailsViewModel pizza = this.pizzaRepository.GetPizzaDetailsById(pizzaId);
         return(pizza);
     }
 }
示例#4
0
        public PizzaDetailsViewModel ShowPizzaDetails(int id, HttpSession session)
        {
            ConfigureMapper(session);
            Pizza pizza = this.Context.Pizzas.Find(id);
            PizzaDetailsViewModel pizzaDetailsViewModel = Mapper.Map <PizzaDetailsViewModel>(pizza);

            return(pizzaDetailsViewModel);
        }
示例#5
0
        public IActionResult <PizzaDetailsViewModel> Details(int pizzaId, HttpSession currentSesion, HttpResponse response)
        {
            if (!this.signInManger.IsAuthenticated(currentSesion))
            {
                this.Redirect(response, "/users/signin");
            }

            PizzaDetailsViewModel viewModel = this.pizzasService.ShowDetails(pizzaId);

            return(this.View(viewModel));
        }
示例#6
0
        internal PizzaDetailsViewModel ShowDetails(int pizzaId)
        {
            Pizza pizza = this.context.Pizzas.Find(pizzaId);
            PizzaDetailsViewModel viewModel = new PizzaDetailsViewModel()
            {
                Title     = pizza.Title,
                Recipe    = pizza.Recipe,
                ImageUrl  = pizza.ImageUrl,
                UpVotes   = pizza.UpVotes,
                DownVotes = pizza.DownVotes
            };

            return(viewModel);
        }
示例#7
0
        public PizzaDetailsViewModel GetPizzaDetails(int pizzaId)
        {
            var pizza = this.context.Pizzas.Find(pizzaId);

            var viewModel = new PizzaDetailsViewModel()
            {
                Title     = pizza.Title,
                Recipe    = pizza.Recipe,
                ImageUrl  = pizza.ImageUrl,
                UpVotes   = pizza.UpVotes,
                DownVotes = pizza.DownVotes
            };

            return(viewModel);
        }
示例#8
0
        public static List <PizzaDetailsViewModel> GetPizzaDetails()
        {
            List <PizzaDetailsViewModel> pizzaList = new List <PizzaDetailsViewModel>();
            PizzaDetailsViewModel        obj       = new PizzaDetailsViewModel()
            {
                VendorId      = 1,
                VendorName    = "Dominos",
                IsSelected    = true,
                isClosed      = false,
                OtherDiscount = 10,
                pizzaDetails  = SetUp.GetDetails()
            };

            pizzaList.Add(obj);
            return(pizzaList);
        }
示例#9
0
 public IActionResult Details(int?id)
 {
     if (id == null)
     {
         return(View("BadRequest"));
     }
     try
     {
         PizzaDetailsViewModel pizzaDetailsViewModel = _pizzaService.GetPizzaDetails(id.Value);
         return(View(pizzaDetailsViewModel));
     }
     catch (Exception e)
     {
         return(View("ExceptionPage"));
     }
 }
        public PizzaDetailsViewModel GetPizzaDetailsById(int pizzaId)
        {
            SqlDataReader reader = this.ExecuteReader(
                @"SELECT p.Id AS PizzaId,
                         p.Name AS PizzaName,
                         p.Description,
                         p.PicturePath,
                         i.Id AS IngredientId,
                         i.Name AS IngredientName
                    FROM Pizzas AS p
                    JOIN Pizzas_Ingredients AS [pi]
                      ON [pi].PizzaId = p.Id
                    JOIN Ingredients AS i
                      ON pi.IngredientId = i.Id
                   WHERE p.Id = @pizzaId",
                new Dictionary <string, object>()
            {
                { "@pizzaId", pizzaId }
            });

            PizzaDetailsViewModel pizza = null;

            using (reader)
            {
                while (reader.Read())
                {
                    int    id              = reader.GetInt32(0);
                    string name            = reader.GetString(1);
                    string description     = reader.GetString(2);
                    string picturePath     = reader.GetString(3);
                    int    ingredientId    = reader.GetInt32(4);
                    string indgredientName = reader.GetString(5);

                    if (pizza == null)
                    {
                        pizza = new PizzaDetailsViewModel(id, name, description, picturePath);
                    }

                    pizza.Ingredients.Add(new IngredientDescription(ingredientId, indgredientName));
                }
            }

            return(pizza);
        }
示例#11
0
        public async Task <IActionResult> Details(int id)
        {
            var pizza = new PizzaDetailsViewModel
            {
                Pizza = await this.pizzas.ByIdAsync <PizzaDetailsServiceModel>(id)
            };

            if (pizza.Pizza == null)
            {
                return(NotFound());
            }
            //if (User.Identity.IsAuthenticated)
            //{
            //    var userId = this.userManager.GetUserId(User);

            //    model.UserIsEnrolledCourse =
            //        await this.courses.StudentIsEnrolledCourseAsync(id, userId);
            //}
            return(View(pizza));
        }
        public ICollection <PizzaDetailsViewModel> GetAllPizzas()
        {
            SqlDataReader reader = this.ExecuteReader(
                @"SELECT p.Id AS PizzaId,
                         p.Name AS PizzaName,
                         p.Description,
                         p.PicturePath,
                         i.Id AS IngredientId,
                         i.Name AS IngredientName
                    FROM Pizzas AS p
                    JOIN Pizzas_Ingredients AS pi
                      ON pi.PizzaId = p.Id
                    JOIN Ingredients AS i
                      ON pi.IngredientId = i.Id");

            IDictionary <int, PizzaDetailsViewModel> pizzas = new Dictionary <int, PizzaDetailsViewModel>();

            using (reader)
            {
                while (reader.Read())
                {
                    int    pizzaId         = reader.GetInt32(0);
                    string pizzaName       = reader.GetString(1);
                    string description     = reader.GetString(2);
                    string picturePath     = reader.GetString(3);
                    int    ingredientId    = reader.GetInt32(4);
                    string indgredientName = reader.GetString(5);

                    if (!pizzas.ContainsKey(pizzaId))
                    {
                        pizzas[pizzaId] = new PizzaDetailsViewModel(pizzaId, pizzaName, description, picturePath);
                    }

                    pizzas[pizzaId].Ingredients.Add(new IngredientDescription(ingredientId, indgredientName));
                }
            }

            return(pizzas.Values);
        }
        public ActionResult Details(int id)
        {
            PizzaDetailsViewModel pizza = this.pizzaManager.GetPizzaDetailsById(id);

            return(this.View(pizza));
        }
示例#14
0
 public PizzaDetailsPage()
 {
     BindingContext = new PizzaDetailsViewModel();
     InitializeComponent();
 }