[ValidateAntiForgeryToken] //thuoc tinh ngan chan mot yeu cau gia mao
        public ActionResult Create(ItemProduct item)
        {
            if (String.IsNullOrEmpty(item.Id))
            {
                ModelState.AddModelError(nameof(item.Id), "Product's ID is required");      //thong bao loi khi Name co gia tri null/ rong
            }
            if (String.IsNullOrEmpty(item.Name))
            {
                ModelState.AddModelError(nameof(item.Name), "The name is required");      //thong bao loi khi Name co gia tri null/ rong
            }
            if (String.IsNullOrEmpty(item.Price.ToString()))
            {
                ModelState.AddModelError(nameof(item.Price), "Product's price is required");      //thong bao loi khi Name co gia tri null/ rong
            }
            if (String.IsNullOrEmpty(item.Amount.ToString()))
            {
                ModelState.AddModelError(nameof(item.Amount), "Amount is required");      //thong bao loi khi Name co gia tri null/ rong
            }
            if (String.IsNullOrEmpty(item.BranchId))
            {
                ModelState.AddModelError(nameof(item.BranchId), "Branch's ID is required");      //thong bao loi khi Name co gia tri null/ rong
            }
            if (String.IsNullOrEmpty(item.ClassifyId))
            {
                ModelState.AddModelError(nameof(item.ClassifyId), "Classify's ID is required");
                //thong bao loi khi Name co gia tri null/ rong
            }
            if (String.IsNullOrEmpty(item.ProviderId))
            {
                ModelState.AddModelError(nameof(item.ProviderId), "Provider's ID is required");      //thong bao loi khi Name co gia tri null/ rong
            }


            if (ModelState.IsValid)     //Name hop le
            {
                Product p = new Product();
                p.Id         = item.Id;
                p.Name       = item.Name;
                p.BranchId   = item.BranchId;
                p.Amount     = item.Amount;
                p.ClassifyId = item.ClassifyId;
                p.ProviderId = item.ProviderId;
                p.Details    = item.Details;
                p.Discount   = item.Discount;
                p.Price      = item.Price;

                string image1 = Guid.NewGuid() + Path.GetExtension(item.Image1.FileName);
                item.Image1.SaveAs(filename: Server.MapPath("~/Images" + image1));
                p.Image1 = item.Image1.ToString();
                string image2 = Guid.NewGuid() + Path.GetExtension(item.Image2.FileName);
                item.Image2.SaveAs(filename: Server.MapPath("~/Images" + image1));
                p.Image2 = item.Image2.ToString();
                string image3 = Guid.NewGuid() + Path.GetExtension(item.Image3.FileName);
                item.Image3.SaveAs(filename: Server.MapPath("~/Images" + image1));
                p.Image3 = item.Image3.ToString();
                db.Add(p);
                return(RedirectToAction("Details", new { id = p.Id }));
            }
            return(View());
        }
        public Boolean DeleteItemProduct(Int32?id)
        {
            ItemProduct itemProduct = new ItemProduct();
            IEnumerable <ItemProductAssociation> itemProductAssocoation;;

            id = id.HasValue ? id : 0;
            try {
                using (menuzRusDataContext db = new menuzRusDataContext(base.connectionString)) {
                    itemProductAssocoation = db.ItemProductAssociations.Where(m => m.ItemProductId == id);
                    if (itemProductAssocoation != default(ItemProductAssociation))
                    {
                        db.ItemProductAssociations.DeleteAllOnSubmit(itemProductAssocoation);
                    }

                    itemProduct = db.ItemProducts.Where(m => m.id == id).FirstOrDefault();
                    if (itemProduct != default(ItemProduct))
                    {
                        db.ItemProducts.DeleteOnSubmit(itemProduct);
                    }

                    db.SubmitChanges();
                }
            }
            catch (Exception ex) {
                return(false);
            }
            return(true);
        }
示例#3
0
        /// <summary>
        /// Add a product to cart.
        /// </summary>
        /// <param name="id">The identificator of model Product.</param>
        /// <returns>ActionResult</returns>
        // GET: Order/AddCart/5
        public async Task <ActionResult> AddCart(int id)
        {
            Order cart    = Session["Cart"] != null ? (Order)Session["Cart"] : new Order();
            var   product = db.Products.Find(id);

            if (product != null)
            {
                product.Category = await db.Categories.FindAsync(product.CategoryId);

                var itemProduct = new ItemProduct();
                itemProduct.Product   = product;
                itemProduct.ProductId = product.Id;
                itemProduct.Quantity  = 1;
                if (HasSessionItem(cart, product))
                {
                    cart.ItemProduct.FirstOrDefault(x => x.Product.Id == product.Id).Quantity += 1;
                }
                else
                {
                    if (cart.ItemProduct == null)
                    {
                        cart.ItemProduct = new List <ItemProduct>();
                    }
                    cart.ItemProduct.Add(itemProduct);
                }
                cart.Amount      = cart.ItemProduct.Select(i => i.Product).Sum(d => d.Price * cart.ItemProduct.FirstOrDefault(x => x.Product.Id == d.Id).Quantity);
                cart.ItemProduct = cart.ItemProduct.OrderBy(x => x.Product.Category.Name).ToList <ItemProduct>();
                Session["Cart"]  = cart;
            }

            return(RedirectToAction("Cart"));
        }
示例#4
0
 public ActionResult Create([Bind(Include = "Id, Product, UnitaryValue, Amount, TotalValue")] ItemProduct itemProduct)
 {
     if (ModelState.IsValid)
     {
         itemProduct.Product = _ctxItemProduct.Products.First(ip => ip.Id == itemProduct.Product.Id);
         _ctxItemProduct.ItemsProducts.Add(itemProduct);
         _ctxItemProduct.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(itemProduct));
 }
示例#5
0
        public static ItemProduct ConvertToData(this ItemProductModel data)
        {
            var model = new ItemProduct();

            model.CreatedDate = data.CreatedDate;
            model.Description = data.Description;
            model.Id          = data.Id;
            model.IsActive    = data.IsActive;
            model.Name        = data.Name;
            model.Price       = data.Price;
            model.Quantity    = data.Quantity;

            return(model);
        }
示例#6
0
 public ActionResult Edit([Bind(Include = "Id, Product, UnitaryValue, Amount, TotalValue")] ItemProduct itemProduct)
 {
     if (ModelState.IsValid)
     {
         ItemProduct itemProductUpdate = _ctxItemProduct.ItemsProducts.First(ip => ip.Id == itemProduct.Id);
         itemProductUpdate.Product      = _ctxItemProduct.Products.First(p => p.Id == itemProduct.Product.Id);
         itemProductUpdate.UnitaryValue = itemProduct.UnitaryValue;
         itemProductUpdate.Amount       = itemProduct.Amount;
         itemProductUpdate.TotalValue   = itemProduct.TotalValue;
         _ctxItemProduct.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(itemProduct));
 }
示例#7
0
        // GET: Order/AddCart/5
        public ActionResult RemoveCart(int id)
        {
            Order cart    = Session["Cart"] != null ? (Order)Session["Cart"] : new Order();
            var   product = db.Products.Find(id);

            if (product != null)
            {
                var itemProduct = new ItemProduct();
                itemProduct.Product = product;
                if (HasSessionItem(cart, product))
                {
                    cart.ItemProduct.Remove(cart.ItemProduct.FirstOrDefault(x => x.Product.Id == product.Id));
                }
                Session["Cart"] = cart;
            }

            return(RedirectToAction("Cart"));
        }
        public Boolean SaveItemProduct(ItemProduct item)
        {
            ItemProduct itemQuery = new ItemProduct();

            try {
                using (menuzRusDataContext db = new menuzRusDataContext(base.connectionString)) {
                    if (item.id != 0)
                    {
                        itemQuery = db.ItemProducts.Where(m => m.id == item.id).FirstOrDefault();
                    }
                    if (itemQuery != default(ItemProduct))
                    {
                        itemQuery.id     = item.id;
                        itemQuery.Type   = item.Type;
                        itemQuery.ItemId = item.ItemId;
                    }
                    if (item.id == 0)
                    {
                        db.ItemProducts.InsertOnSubmit(itemQuery);
                    }
                    db.SubmitChanges();
                    DeleteItemProductAssociations(itemQuery.id);
                    foreach (ItemProductAssociation ipa in item.ItemProductAssociations)
                    {
                        ItemProductAssociation itemsQuery = new ItemProductAssociation();
                        itemsQuery.ItemProductId = itemQuery.id;
                        itemsQuery.ItemId        = ipa.ItemId;
                        db.ItemProductAssociations.InsertOnSubmit(itemsQuery);
                    }
                    db.SubmitChanges();
                }
            }
            catch (Exception ex) {
                return(false);
            }
            return(true);
        }
示例#9
0
 public void UseItemProduct(Creature hero, ItemProduct product)
 {
     product.Run(hero);
 }
示例#10
0
 public Items()
 {
     ItemProduct                = new ItemProduct();
     ItemScheduleLine           = new ItemScheduleLine();
     PriceAndTaxCalculationItem = new PriceAndTaxCalculationItem();
 }
示例#11
0
        static void Main(string[] args)
        {
            // TODO: Создать Repository Pattern
            // TODO: Добавить базу данных
            // TODO: Подумать о паттернах
            // TODO: Добавить сервисы чатов

            // Для Кексика
            // TODO: Логика выбора героя, чтобы пользователь сам выбрать героя +
            // Продумать что можеть делать герой
            // Продумай в начала, два режима, первый можно самому выбрать героя, второй рандомно назначается +

            //Герои
            #region HeroModels

            Creature hero1 = new Creature(
                "Азраэль",
                "Рыцарь смерти",
                1000,
                700);
            hero1.Description = "Восставший воин";

            Creature hero2 = new Creature(
                "Хок",
                "Головорез",
                1000,
                500);
            hero2.Description = "Ловкач";

            Creature hero3 = new Creature(
                "Зик",
                "Паладин",
                1000,
                800);
            hero3.Description = "Воин света";

            #endregion

            //выбор героя первого игрока
            #region CreateHero
            Console.WriteLine($"Приветствую, незнакомец. Кто ты?\n(выберите героя по номеру, либо любую другую цифру для рандомного выбора)\n");

            Creature[] heroes = new Creature[] {
                hero1,
                hero2,
                hero3
            };

            for (int i = 0; i < heroes.Length; i++)
            {
                Console.WriteLine($"Герой{i + 1}: {heroes[i].HeroClass}. {heroes[i].Description}");
            }
            ;

            Creature player1 = new Creature("", "", 0, 0); //создание игрока на которого навешиваются доп функции

            int chan = Int32.Parse(Console.ReadLine());    // упрощенный вариант для ввода чисел

            if (chan == 1)
            {
                player1 = hero1;
            }
            else if (chan == 2)
            {
                player1 = hero2;
            }
            else if (chan == 3)
            {
                player1 = hero3;
            }
            else
            {
                Console.WriteLine($"Рандомный выбор");

                Random rnd = new Random();
                chan = rnd.Next(1, 3);

                if (chan == 1)
                {
                    player1 = hero1;
                }
                else if (chan == 2)
                {
                    player1 = hero2;
                }
                else if (chan == 3)
                {
                    player1 = hero3;
                }
            }



            Console.WriteLine($"Ваш выбор:{player1.Name}. {player1.HeroClass}\nЗдоровье:{player1.HP}поинтов");
            Console.WriteLine($"Кошелек:{player1.Gold} золото");
            #endregion

            //модели оружия
            #region WeaponModels
            Weapon sword1 = new Weapon(
                "Большой меч",
                200,
                "Двуручное",
                120);

            Weapon daggers1 = new Weapon(
                "Кинжалы",
                150,
                "Двуручное",
                70);

            Weapon maul1 = new Weapon(
                "Гигантский Молот",
                250,
                "Двуручное",
                140);

            #endregion

            // Выбор оружия для первого игрока
            #region ChangeWepon

            ItemProduct[] weapons = new ItemProduct[] {
                sword1,
                daggers1,
                maul1,
            };

            Console.WriteLine($"\nПеред выходом на арену необходимо выбрать оружие:\n");


            for (int i = 0; i < weapons.Length; i++)
            {
                Console.WriteLine($"Item {i + 1}:{weapons[i].Name}" +
                                  $"\n Price:{weapons[i].Price}\n");
            }
            Console.WriteLine($"\nВыберите экипировку\"\n");



            int chan2 = Int32.Parse(Console.ReadLine());

            if (chan2 == 1)
            {
                Console.WriteLine($"\nВыбран:{sword1.Name}\nУрон:{sword1.Damage}\n");
                player1.WeaponHero = (sword1.Name, sword1.Damage);
                player1.BuyItem(sword1);
                Console.WriteLine($"Золото 1-го игрока:{player1.Gold}\n");
            }
            if (chan2 == 2)
            {
                Console.WriteLine($"\nВыбран:{daggers1.Name}\nУрон:{daggers1.Damage}\n");
                player1.WeaponHero = (daggers1.Name, daggers1.Damage);
                player1.BuyItem(daggers1);
                Console.WriteLine($"Золото 1-го игрока:{player1.Gold}\n");
            }
            if (chan2 == 3)
            {
                Console.WriteLine($"\nВыбран:{maul1.Name}\nУрон:{maul1.Damage}\n");
                player1.WeaponHero = (maul1.Name, maul1.Damage);
                player1.BuyItem(maul1);
                Console.WriteLine($"Золото 1-го игрока:{player1.Gold}\n");
            }
            #endregion

            Console.WriteLine($"{player1.HeroClass} бьет {player1.WeaponHero.name} на {player1.WeaponHero.damage} урона");

            IHeroActions heroActions = new HeroActions();

            //игрок атакует другого персонажа
            player1.Atack(hero3);
            Console.WriteLine($"{hero3.HP}");


            #region Пригодится позже
            Elixir health_elixir = new Elixir(
                "Эликсир здоровья",
                50);

            Elixir poison_elixir = new Elixir(
                "Эликсир яда",
                50);

            Armor plate = new Armor(
                "Полный доспех",
                500,
                50);
            #endregion
        }