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")); }
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")); }
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); }
public void GetUri(Textile textile, Colour colour) { TextileDataProvider tdp = new TextileDataProvider(); Picture = tdp.GetPictureURL(textile, colour); }