public ActionResult UpdateLaptopCust(LaptopViewModel laptopVM) { var mapper = new MapperConfiguration(cfg => cfg.CreateMap <LaptopViewModel, LaptopDTO>()).CreateMapper(); LaptopDTO laptopDto = mapper.Map <LaptopViewModel, LaptopDTO>(laptopVM); service.UpdateLaptop(laptopDto); return(View("Index")); }
public void UpdateLaptop(LaptopDTO laptopDto) { if (laptopDto == null) { throw new ValidationException("При обновлении ноутбука произошла ошибка. Экземпляр объекта LaptopDTO равен null.", ""); } var mapper = new MapperConfiguration(cfg => cfg.CreateMap <LaptopDTO, Laptop>()).CreateMapper(); Laptop laptop = mapper.Map <LaptopDTO, Laptop>(laptopDto); Database.Laptops.Update(laptop); Database.Save(); }
public async Task <IActionResult> UpdateLaptop(string id, [FromBody] LaptopDTO data) { try { await laptopService.UpdateLaptop(id, data); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public bool SaveLaptop(int id, LaptopDTO catalogDTO) { DbContextTransaction transaction = _context.Database.BeginTransaction(); var check = SaveCatalog(id, transaction, catalogDTO); if (!check) { return(false); } if (id == 0) { var laptop = new SpecificationsLaptop(); laptop = CatalogMapper.toSpecificationsLaptop(catalogDTO, laptop); try { _context.SpecificationsLaptops.Add(laptop); _context.SaveChanges(); transaction.Commit(); return(true); } catch (Exception) { transaction.Rollback(); return(false); } } else { var laptop = _context.SpecificationsLaptops.SingleOrDefault(x => x.catalogid == catalogDTO.id); if (laptop == null) { transaction.Rollback(); return(false); } laptop = CatalogMapper.toSpecificationsLaptop(catalogDTO, laptop); try { _context.SaveChanges(); transaction.Commit(); return(true); } catch (Exception) { transaction.Rollback(); return(false); } } }
public async Task <IActionResult> CreateLaptop([FromBody] LaptopDTO data) { if (ModelState.IsValid) { try { await laptopService.AddLaptop(data); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } } return(Conflict(ModelState)); }
public ActionResult GetLaptop(int laptopIdDto) { LaptopDTO laptopDTO = service.GetLaptop(laptopIdDto); var mapper = new MapperConfiguration(cfg => cfg.CreateMap <LaptopDTO, LaptopViewModel>()).CreateMapper(); LaptopViewModel laptopVM = mapper.Map <LaptopDTO, LaptopViewModel>(laptopDTO); var mapper1 = new MapperConfiguration(cfg => cfg.CreateMap <ImageDTO, Image>()).CreateMapper(); IEnumerable <Image> images = mapper1.Map <IEnumerable <ImageDTO>, IEnumerable <Image> >(service.GetImages()); laptopVM.Images.AddRange(images.Where(i => i.ProductId == laptopVM.Id)); var mapper2 = new MapperConfiguration(cfg => cfg.CreateMap <OrderSellerDTO, OrderSeller>()).CreateMapper(); OrderSeller seller = mapper2.Map <OrderSellerDTO, OrderSeller>(service.GetOrderSeller(laptopVM.OrderSellerId)); laptopVM.OrderSeller = seller; return(View(laptopVM)); }
public static SpecificationsLaptop toSpecificationsLaptop(LaptopDTO laptopDTO, SpecificationsLaptop laptop) { try { laptop.cardscreen = laptopDTO.cardscreen; laptop.connector = laptopDTO.connector; laptop.harddrive = laptopDTO.harddrive; laptop.design = laptopDTO.design; laptop.size = laptopDTO.size; laptop.release = laptopDTO.release; laptop.createdAt = laptopDTO.id > 0 ? laptop.createdAt : DateTime.Now; laptop.updatedAt = DateTime.Now; laptop.catalogid = laptopDTO.id; return(laptop); } catch (Exception) { return(null); } }
public async Task UpdateLaptop(string id, LaptopDTO data) { var entity = await unitOfWork.Laptops.GetById(id); entity.ModelName = data.ModelName; entity.Manufacturer = data.Manufacturer; entity.Processor = data.Processor; entity.GraphicsCard = data.Graphic; entity.RAMCapacity = data.Ram; entity.SSDCapacity = data.Ssd; entity.ScreenSize = data.Screen; entity.OS = data.Os; entity.Weight = data.Weight; entity.Price = data.Price; entity.ModelImagePath = data.ModelImagePath; await unitOfWork.Laptops.Update(entity); await unitOfWork.SaveChangesAsync(); }
//--------------------TV--------------------- public void CreateLaptop(LaptopDTO laptopDto) { if (laptopDto == null) { throw new ValidationException("При добавлении нового ноутбука произошла ошибка. Экземпляр объекта LaptopDTO равен null.", ""); } if (laptopDto.OrderSellerId == 0) { throw new ValidationException("Заказ продавца не найден", ""); } var mapper = new MapperConfiguration(cfg => cfg.CreateMap <LaptopDTO, Laptop>()).CreateMapper(); Laptop laptop = mapper.Map <LaptopDTO, Laptop>(laptopDto); OrderSeller seller = Database.OrderSellers.Get(laptopDto.OrderSellerId); laptop.OrderSeller = seller; Database.Laptops.Create(laptop); Database.Save(); }
public async Task AddLaptop(LaptopDTO data) { var laptop = new Laptop { ModelName = data.ModelName, Manufacturer = data.Manufacturer, Processor = data.Processor, GraphicsCard = data.Graphic, RAMCapacity = data.Ram, SSDCapacity = data.Ssd, ScreenSize = data.Screen, OS = data.Os, Weight = data.Weight, Price = data.Price, Rating = 0, IsAvailable = false, ModelImagePath = data.ModelImagePath }; await unitOfWork.Laptops.Add(laptop); await unitOfWork.SaveChangesAsync(); }
public ActionResult CreateOrderCustomer(OrderCustomerViewModel customerVM) { if (ModelState.IsValid) { var mapper = new MapperConfiguration(cfg => cfg.CreateMap <OrderCustomerViewModel, OrderCustomerDTO>()).CreateMapper(); OrderCustomerDTO customerDto = mapper.Map <OrderCustomerViewModel, OrderCustomerDTO>(customerVM); service.CreateOrderCustomer(customerDto); string category = service.GetProduct(customerVM.ProdId); if (category == "Phone") { PhoneDTO phoneDTO = service.GetPhone(customerVM.ProdId); if (phoneDTO.QtyEnd == 0) { return(View("ProductEnded")); } phoneDTO.QtyEnd--; phoneDTO.PriceNow = Price(phoneDTO.PriceStart, phoneDTO.PriceEnd, phoneDTO.QtyEnd); var mapper1 = new MapperConfiguration(cfg => cfg.CreateMap <PhoneDTO, PhoneViewModel>()).CreateMapper(); PhoneViewModel phoneVM = mapper1.Map <PhoneDTO, PhoneViewModel>(phoneDTO); return(View("ThanksPagePhone", phoneVM)); } if (category == "TV") { TVDTO tvDTO = service.GetTV(customerVM.ProdId); if (tvDTO.QtyEnd == 0) { return(View("ProductEnded")); } tvDTO.QtyEnd--; tvDTO.PriceNow = Price(tvDTO.PriceStart, tvDTO.PriceEnd, tvDTO.QtyEnd); var mapper1 = new MapperConfiguration(cfg => cfg.CreateMap <TVDTO, TVViewModel>()).CreateMapper(); TVViewModel tvVM = mapper1.Map <TVDTO, TVViewModel>(tvDTO); return(View("ThanksPageTV", tvVM)); } if (category == "Laptop") { LaptopDTO laptopDTO = service.GetLaptop(customerVM.ProdId); if (laptopDTO.QtyEnd == 0) { return(View("ProductEnded")); } laptopDTO.QtyEnd--; laptopDTO.PriceNow = Price(laptopDTO.PriceStart, laptopDTO.PriceEnd, laptopDTO.QtyEnd); var mapper1 = new MapperConfiguration(cfg => cfg.CreateMap <LaptopDTO, LaptopViewModel>()).CreateMapper(); LaptopViewModel laptopVM = mapper1.Map <LaptopDTO, LaptopViewModel>(laptopDTO); return(View("ThanksPageLaptop", laptopVM)); } return(View("ThanksPagePhone")); } return(View("ThanksPagePhone")); }
public CatalogDTO GetCatalogById(int id) { var model = _context.Catalogs.Find(id); if (model.catalogtypeid == 1) { var query = from c in _context.Catalogs join t in _context.CatalogTypes on c.catalogtypeid equals t.id join b in _context.CatalogBrands on c.catalogbrandid equals b.id join sp in _context.Specifications on c.id equals sp.catalogid join sm in _context.SpecificationsMobiles on c.id equals sm.catalogid where c.id == id select new { c, t, b, sp, sm }; MobileDTO catalog = new MobileDTO(); foreach (var item in query) { catalog.id = item.c.id; catalog.name = item.c.name; catalog.pictureuri = item.c.pictureuri; catalog.price = item.c.price; catalog.description = item.c.description; catalog.content = item.c.content; catalog.quantity = item.c.quantity; catalog.catalogbrandid = item.c.catalogbrandid; catalog.catalogtypeid = item.c.catalogtypeid; catalog.cpu = item.sp.cpu; catalog.ram = item.sp.ram; catalog.screen = item.sp.screen; catalog.os = item.sp.os; catalog.backcamera = item.sm.backcamera; catalog.frontcamera = item.sm.frontcamera; catalog.internalmemory = item.sm.internalmemory; catalog.memorystick = item.sm.memorystick; catalog.sim = item.sm.sim; catalog.batery = item.sm.batery; } return(catalog); } else { var query = from c in _context.Catalogs join t in _context.CatalogTypes on c.catalogtypeid equals t.id join b in _context.CatalogBrands on c.catalogbrandid equals b.id join sp in _context.Specifications on c.id equals sp.catalogid join sl in _context.SpecificationsLaptops on c.id equals sl.catalogid where c.id == id select new { c, t, b, sp, sl }; LaptopDTO catalog = new LaptopDTO(); foreach (var item in query) { catalog.id = item.c.id; catalog.name = item.c.name; catalog.pictureuri = item.c.pictureuri; catalog.price = item.c.price; catalog.description = item.c.description; catalog.content = item.c.content; catalog.quantity = item.c.quantity; catalog.catalogbrandid = item.c.catalogbrandid; catalog.catalogtypeid = item.c.catalogtypeid; catalog.cpu = item.sp.cpu; catalog.ram = item.sp.ram; catalog.screen = item.sp.screen; catalog.os = item.sp.os; catalog.cardscreen = item.sl.cardscreen; catalog.connector = item.sl.connector; catalog.harddrive = item.sl.harddrive; catalog.design = item.sl.design; catalog.size = item.sl.size; catalog.release = item.sl.release; } return(catalog); } }
public bool addLaptopDTO(LaptopDTO catalogDTO) { using (var dbContextTransaction = db.Database.BeginTransaction()) { try { var catalog = new Catalog() { name = catalogDTO.name, pictureuri = catalogDTO.pictureuri, price = catalogDTO.price, description = catalogDTO.description, content = catalogDTO.content, quantity = catalogDTO.quantity, catalogbrandid = catalogDTO.catalogbrandid, catalogtypeid = catalogDTO.catalogtypeid, createdAt = DateTime.Now, updatedAt = DateTime.Now }; db.Catalogs.Add(catalog); db.SaveChanges(); var id = catalog.id; //specifications var spe = new Specification() { cpu = catalogDTO.cpu, ram = catalogDTO.ram, screen = catalogDTO.screen, os = catalogDTO.os, createdAt = DateTime.Now, updatedAt = DateTime.Now, catalogid = id }; db.Specifications.Add(spe); db.SaveChanges(); //laptop var speL = new SpecificationsLaptop() { cardscreen = catalogDTO.cardscreen, connector = catalogDTO.connector, harddrive = catalogDTO.harddrive, design = catalogDTO.design, size = catalogDTO.size, release = catalogDTO.release, createdAt = DateTime.Now, updatedAt = DateTime.Now, catalogid = id }; db.SpecificationsLaptops.Add(speL); db.SaveChanges(); dbContextTransaction.Commit(); } catch (Exception) { dbContextTransaction.Rollback(); return(false); } } return(true); }