Exemplo n.º 1
0
        public string GetPictureURL(Textile chosenTextile, Colour chosenColour)
        {
            string baseUrl     = "https://www.winterstextil.se/wp-content/uploads/";
            string textileUrl  = chosenTextile.ImageString;
            string selectedUrl = $"{chosenTextile.ItemNumber}-{chosenColour.ColourCode}.jpg";

            string Url = baseUrl + textileUrl + selectedUrl;

            return(Url);
        }
        private void PopulateWidthAndColour(Textile selectedTextile)
        {
            Widths.Clear();
            Colours.Clear();

            foreach (var colour in selectedTextile.Colours)
            {
                Colours.Add(colour);
            }
            SelectedColourIndex = 0;

            foreach (var width in selectedTextile.Widths)
            {
                Widths.Add(width);
            }
            SelectedWidthIndex = 0;
        }
        public async Task <IActionResult> DeleteTextile(string Id)
        {
            Image image = _context.Images.FirstOrDefault(x => x.MainTextileId == Guid.Parse(Id));

            _context.Images.Remove(image);
            foreach (var x in _context.Images.Where(x => x.TextileId == Guid.Parse(Id)))
            {
                _context.Images.Remove(x);
            }
            Textile textile = await _context.Textiles.FindAsync(Guid.Parse(Id));

            if (textile != null)
            {
                _context.Textiles.Remove(textile);
                await _context.SaveChangesAsync();
            }
            return(RedirectToAction("Main", "Admin"));
        }
Exemplo n.º 4
0
 public TextileData(Textile textile)
 {
     _textile = textile;
 }
        public async Task <IActionResult> TextileEdit(TextileAddModel model)
        {
            Textile toUpdateTextile = await _context.Textiles.Include(x => x.MainImage).Include(x => x.Charachteristics).Include(x => x.Category).Include(x => x.ChildCategory).Include(x => x.Images).FirstOrDefaultAsync(x => x.TextileId == Guid.Parse(model.Id));

            Guid   Id       = new Guid();
            double Discount =
                (Convert.ToDouble(Math.Round(((model.Price - model.Discount) / model.Price), 3)));
            Textile textile = new Textile();

            if (model.ChildCategoryId == "Нет")
            {
                textile = new Textile()
                {
                    TextileId = Id, WarehouseAmount = model.WarehouseAmount, Name = model.Name, Price = model.Price, Description = model.Description, Discount = Discount, DateWhenAdded = DateTime.Now, IsOnDiscount = model.IsOnDiscount, CategoryId = Guid.Parse(model.CategoryId), PriceWithDiscount = model.Discount, CostWithWholeCost = model.CostWithWholeCost
                };
            }
            else
            {
                textile = new Textile()
                {
                    TextileId = Id, WarehouseAmount = model.WarehouseAmount, Name = model.Name, Price = model.Price, Description = model.Description, Discount = Discount, DateWhenAdded = DateTime.Now, IsOnDiscount = model.IsOnDiscount, CategoryId = Guid.Parse(model.CategoryId), ChildCategoryId = Guid.Parse(model.ChildCategoryId), PriceWithDiscount = model.Discount, CostWithWholeCost = model.CostWithWholeCost
                };
            }
            if (model.MainFile != null && toUpdateTextile.MainImage == null)
            {
                byte[] imageData = null;
                using (var binaryReader = new BinaryReader(model.MainFile.OpenReadStream()))
                {
                    imageData = binaryReader.ReadBytes((int)model.MainFile.Length);
                }

                Image image = new Image()
                {
                    Name = model.MainFile.FileName, MainTextileId = toUpdateTextile.TextileId, ByteImg = imageData, ImageId = Guid.NewGuid()
                };
                _context.Images.Add(image);
            }
            ICollection <Image> Images = new List <Image>();

            for (int i = 0; i < 3; i++)
            {
                try
                {
                    if (model.Files[i] != null)
                    {
                        byte[] imageData1 = null;
                        using (var binaryReader = new BinaryReader(model.Files[i].OpenReadStream()))
                        {
                            imageData1 = binaryReader.ReadBytes((int)model.Files[i].Length);
                        }
                        Image image2 = new Image()
                        {
                            Name      = model.Files[i].FileName,
                            TextileId = toUpdateTextile.TextileId,
                            ByteImg   = imageData1,
                            ImageId   = Guid.NewGuid()
                        };
                        Images.Add(image2);
                    }
                }
                catch
                {
                }
            }
            for (int i = toUpdateTextile.Images.Count; i < 3; i++)
            {
                try
                {
                    _context.Images.Add(((List <Image>)Images)[i - toUpdateTextile.Images.Count]);
                }
                catch
                {
                }
            }
            ICollection <CharachteristicValues> values = new List <CharachteristicValues>();

            toUpdateTextile.Charachteristics = new List <CharachteristicValues>();
            for (int i = 0; i < model.CharacsNames.Length; i++)
            {
                _context.CharachteristicValues.Add(new CharachteristicValues()
                {
                    CharachteristicValuesId = Guid.NewGuid(),
                    Value     = model.CharacsValues[i],
                    Name      = model.CharacsNames[i],
                    TextileId = toUpdateTextile.TextileId
                });
            }
            toUpdateTextile.Name       = textile.Name;
            toUpdateTextile.CategoryId = textile.CategoryId;
            if (textile.ChildCategoryId == Guid.Empty)
            {
                toUpdateTextile.ChildCategoryId = textile.ChildCategoryId;
            }
            toUpdateTextile.Description       = textile.Description;
            toUpdateTextile.CostWithWholeCost = textile.CostWithWholeCost;
            toUpdateTextile.PriceWithDiscount = textile.PriceWithDiscount;
            toUpdateTextile.Discount          = textile.Discount;
            toUpdateTextile.IsOnDiscount      = textile.IsOnDiscount;
            toUpdateTextile.Price             = textile.Price;
            toUpdateTextile.WarehouseAmount   = textile.WarehouseAmount;
            _context.Textiles.Update(toUpdateTextile);
            _context.SaveChanges();
            return(RedirectToAction("Main", "Admin"));
        }
        public async Task <IActionResult> CreateItem(TextileAddModel model)
        {
            Guid   Id       = new Guid();
            double Discount =
                (Convert.ToDouble(Math.Round(((model.Price - model.Discount) / model.Price), 3)));
            Textile textile = new Textile();

            if (model.ChildCategoryId == "Нет")
            {
                textile = new Textile()
                {
                    TextileId = Id, WarehouseAmount = model.WarehouseAmount, Name = model.Name, Price = model.Price, Description = model.Description, Discount = Discount, DateWhenAdded = DateTime.Now, IsOnDiscount = model.IsOnDiscount, CategoryId = Guid.Parse(model.CategoryId), PriceWithDiscount = model.Discount, CostWithWholeCost = model.CostWithWholeCost
                };
            }
            else
            {
                textile = new Textile()
                {
                    TextileId = Id, WarehouseAmount = model.WarehouseAmount, Name = model.Name, Price = model.Price, Description = model.Description, Discount = Discount, DateWhenAdded = DateTime.Now, IsOnDiscount = model.IsOnDiscount, CategoryId = Guid.Parse(model.CategoryId), ChildCategoryId = Guid.Parse(model.ChildCategoryId), PriceWithDiscount = model.Discount, CostWithWholeCost = model.CostWithWholeCost
                };
            }
            if (model.MainFile != null)
            {
                byte[] imageData = null;
                using (var binaryReader = new BinaryReader(model.MainFile.OpenReadStream()))
                {
                    imageData = binaryReader.ReadBytes((int)model.MainFile.Length);
                }

                Image image = new Image()
                {
                    Name = model.MainFile.FileName, MainTextileId = Id, ByteImg = imageData, ImageId = Guid.NewGuid()
                };
                textile.MainImage = image;
            }

            ICollection <Image> Image = new List <Image>();

            for (int i = 0; i < 3; i++)
            {
                try
                {
                    if (model.Files[i] != null)
                    {
                        byte[] imageData1 = null;
                        using (var binaryReader = new BinaryReader(model.Files[i].OpenReadStream()))
                        {
                            imageData1 = binaryReader.ReadBytes((int)model.Files[i].Length);
                        }
                        Image image2 = new Image()
                        {
                            Name    = model.Files[i].FileName, TextileId = Id, ByteImg = imageData1,
                            ImageId = Guid.NewGuid()
                        };
                        Image.Add(image2);
                    }
                }
                catch
                {
                }
            }
            textile.Images = Image;
            ICollection <CharachteristicValues> values = new List <CharachteristicValues>();

            for (int i = 0; i < model.CharacsNames.Length; i++)
            {
                values.Add(new CharachteristicValues()
                {
                    CharachteristicValuesId = Guid.NewGuid(), Value = model.CharacsValues[i],
                    Name = model.CharacsNames[i], TextileId = Id
                });
            }
            textile.Charachteristics = values;
            await _context.Textiles.AddAsync(textile);

            await _context.SaveChangesAsync();

            return(RedirectToAction("Main", "Admin"));
        }
Exemplo n.º 7
0
        private static IMaterial CreateRandomMaterial(Random random)
        {
            IMaterial material = null;

            switch (random.Next(1, 3))
            {
            case 1:
                material = new Wood();
                switch (random.Next(1, 3))
                {
                case 1:
                    ((Wood)material).Type = WoodType.Oak;
                    break;

                case 2:
                    ((Wood)material).Type = WoodType.Birch;
                    break;

                case 3:
                    ((Wood)material).Type = WoodType.Aspen;
                    break;
                }
                break;

            case 2:
                material = new Metal();
                switch (random.Next(1, 3))
                {
                case 1:
                    ((Metal)material).Type = MetalType.Alluminium;
                    break;

                case 2:
                    ((Metal)material).Type = MetalType.Ferrum;
                    break;

                case 3:
                    ((Metal)material).Type = MetalType.Steel;
                    break;
                }
                break;

            case 3:
                material = new Textile();
                break;
            }

            switch (random.Next(1, 3))
            {
            case 1:
                material.Color = MaterialColor.Black;
                break;

            case 2:
                material.Color = MaterialColor.Red;
                break;

            case 3:
                material.Color = MaterialColor.White;
                break;
            }

            switch (random.Next(1, 3))
            {
            case 1:
                material.Sort = MaterialSort.High;
                break;

            case 2:
                material.Sort = MaterialSort.Middle;
                break;

            case 3:
                material.Sort = MaterialSort.Low;
                break;
            }

            material.Price = random.Next(1000, 3000) / 10;
            return(material);
        }
Exemplo n.º 8
0
        public void GetUri(Textile textile, Colour colour)
        {
            TextileDataProvider tdp = new TextileDataProvider();

            Picture = tdp.GetPictureURL(textile, colour);
        }