private async void btnAddRequest_Click(object sender, EventArgs e) { if (!ValidateAll()) { MessageBox.Show("Podaci nisu ispravni", "Greška", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var request = new ProductUpsertRequest() { Condition = txtStanje.Text, Description = txtDimensions.Text, Discount = double.Parse(txtPopust.Text) / 100, ProductName = txtNaziv.Text, Price = double.Parse(txtCijena.Text) }; if (txtFilename.Text != _originalFilename) { request.ImageFileName = pictureDialog.SafeFileName; try { var stream = pictureDialog.OpenFile(); using (stream) { request.Image = File.ReadAllBytes(pictureDialog.FileName); } } catch (Exception) { } } if (_product != null) { var result = await _service .Patch <EToolService.Model.Models.Product>(_product.Id, request); MessageBox.Show("Uspješno promijenjeno", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); Parent.Reload(result); this.Close(); } else { var result = await _service .Insert <EToolService.Model.Models.Product>(request); MessageBox.Show("Proizvod uspješno dodan", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); if (_product != null) { Parent.Reload(result); } this.Close(); } }
public async Task <Model.Models.Product> Insert(ProductUpsertRequest request) { var product = new Product() { ProductName = request.ProductName, Price = (decimal)request.Price, Condition = request.Condition, Description = request.Description, Discount = request.Discount, Active = true }; await InsertImage(product, request.ImageFileName, request.Image); _context.Product.Add(product); await _context.SaveChangesAsync(); return(_mapper.Map <Model.Models.Product>(product)); }
public async Task <Model.Models.Product> Update(int id, ProductUpsertRequest request) { var entity = _context.Product.Find(id); if (entity == null) { throw new UserException("Proizvod ID nije validan"); } await Map(entity, request); await _context.SaveChangesAsync(); var result = _mapper.Map <Model.Models.Product>(entity); var directory = Path.Combine(Directory.GetCurrentDirectory(), "Data", "Images", "Products", $"{result.ImageLocation}"); result.Image = await FindImage(directory); return(result); }
private async Task <Database.Product> Map(Database.Product product, ProductUpsertRequest request) { product.Condition = request.Condition != null ? request.Condition : product.Condition; product.Discount = request.Discount != product.Discount ? request.Discount : product.Discount; product.Description = request.Description != null ? request.Description : product.Description; if (request.Image != null) { if (request.Image.Length != 0) { var path = Path.Combine(Directory.GetCurrentDirectory(), "Data", "Images", "Products", $"{product.ImageLocation}"); var image = FindImage(path); if (image != null) { await ReplaceImage(product, request.ImageFileName, request.Image); } } } product.Price = (decimal)request.Price; product.ProductName = request.ProductName != null ? request.ProductName : product.ProductName; await _context.SaveChangesAsync(); return(product); }
public async Task <Model.Models.Product> Insert([FromBody] ProductUpsertRequest request) { return(await _service.Insert(request)); }
public async Task <Model.Models.Product> Update(int id, [FromBody] ProductUpsertRequest request) { return(await _service.Update(id, request)); }