public async Task <HttpResponseMessage> EditProduct(ProductViewModel product)
        {
            ProductUpdate productOut = new ProductUpdate();

            productOut.Title           = product.Title;
            productOut.Description     = product.Description;
            productOut.DescriptionFull = product.DescriptionFull;
            productOut.IsActive        = product.IsActive;
            if (product.Image != null)
            {
                productOut.Images.Add(product.Image.ImageUrl);
            }
            productOut.CategoryId = product.Category;
            productOut.Stock      = product.Stock;
            productOut.Price      = product.Price;

            using (HttpClient httpClient = new HttpClient())
            {
                string content       = JsonConvert.SerializeObject(productOut).ToString();
                var    stringContent = new StringContent(content, Encoding.UTF8, "application/json");
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", HttpContext.Current.Session["AccessToken"].ToString());

                var response = await httpClient.PutAsync(uri + "Products/" + product.Id, stringContent);

                return(response);
            }
        }
        public ServiceResponse Update(ProductUpdate request)
        {
            var serviceResponse = new ServiceResponse();

            if (request == null)
            {
                serviceResponse.Errors.Add("Request", "Should not be null");
            }

            var product = _unitOfWork.ProductRepository.GetById(request.Id);

            if (product == null)
            {
                serviceResponse.Errors.Add(nameof(request.Id), $"Product with Id = {request.Id} doesnt exsits");
                serviceResponse.StatusCode = 400;
            }

            var category = _unitOfWork.CategoryRepository.GetById(request.CategoryId);

            if (category == null)
            {
                serviceResponse.Errors.Add(nameof(request.Id), $"Category with Id = {request.Id} doesnt exsits");
                serviceResponse.StatusCode = 400;
            }

            if (serviceResponse.IsSuccess)
            {
                product = _mapper.Map <Product>(request);
                _unitOfWork.ProductRepository.Update(product);
                _unitOfWork.Save();

                serviceResponse.StatusCode = 204;
            }
            return(serviceResponse);
        }
Exemple #3
0
        public IActionResult UpdateProduct(int id, [FromBody] ProductUpdate product)
        {
            var productToUpdate = ProductsDataStore.Current.Products.FirstOrDefault(c => c.Id == id);

            if (productToUpdate == null)
            {
                return(NotFound());
            }
            if (product.Name != null)
            {
                productToUpdate.Name = product.Name;
            }
            if (product.Price != null)
            {
                productToUpdate.Price = product.Price;
            }
            var productToReturn = ProductsDataStore.Current.Products.FirstOrDefault(c => c.Id == id);

            if (productToReturn == null)
            {
                return(NotFound());
            }

            return(Ok(productToReturn));
        }
        public IActionResult Put(int id, [FromBody] ProductUpdate product)
        {
            product.Id = id;
            var productResponse = _productService.Update(product);

            return(productResponse.ToJsonResult());
        }
        public async Task <TMapTo> UpdateProductAsync <TMapTo>(ProductUpdate productToUpdate)
            where TMapTo : ProductBL
        {
            try
            {
                var product = await this.GetProductByIdAsync(productToUpdate.ProductId);

                var mappedDtoModel = _mapper.Map <ProductUpdate, ProductDTO>(productToUpdate, product);

                var updatedModel = _productsContext.Products.Update(mappedDtoModel);

                if (updatedModel is null)
                {
                    throw new UpdateOperationException(
                              $"Can not update entity {typeof(ProductDTO)} using data from object parameter {nameof(productToUpdate)}");
                }

                await _productsContext.SaveChangesAsync();

                return(_mapper.Map <TMapTo>(updatedModel));
            }
            catch (Exception ex)
            {
                throw new UpdateOperationException(
                          "Some error occured while updating product. Updated changes won't be applied", ex);
            }
        }
Exemple #6
0
        public async Task <ApiResult <UpdateReturn> > Update(int id, ProductUpdate bundle)
        {
            ApiResult <UpdateReturn> result;

            if (bundle.Image != null)
            {
                var product = new UpdateReturn()
                {
                    Id            = bundle.Id,
                    Code          = bundle.Code,
                    Description   = bundle.Description,
                    Name          = bundle.Name,
                    IdProductType = bundle.IdProductType
                };
                var json        = JsonConvert.SerializeObject(product);
                var httpContent = new StringContent(json, Encoding.UTF8, "application/json");
                var url         = $"/api/product/" + $"{id}";
                result = await Update <UpdateReturn>(url, httpContent);

                var image = await this.UpdateImage(id, bundle.Image);

                result.ResultObj.Image = image.ResultObj;
            }
            else
            {
                var json        = JsonConvert.SerializeObject(bundle);
                var httpContent = new StringContent(json, Encoding.UTF8, "application/json");
                var url         = $"/api/product/" + $"{id}";
                result = await Update <UpdateReturn>(url, httpContent);
            }
            return(result);
        }
Exemple #7
0
 public void Put(string id, [FromBody] ProductUpdate productUpdate)
 {
     this.mediator.Send(
         new EditProduct {
         Price = productUpdate.Price, ProductId = Guid.Parse(id), Name = productUpdate.Name
     });
 }
Exemple #8
0
        public async Task <IHttpActionResult> UpdateProduct([FromUri] int id, [FromBody] ProductUpdate model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState)); // 400
            }
            var product = await _context.Products.FindAsync(id);

            if (product == default)
            {
                return(NotFound()); // 404
            }
            if (!string.IsNullOrEmpty(model.ProductName))
            {
                product.ProductName = model.ProductName;
            }
            if (!string.IsNullOrEmpty(model.UPC))
            {
                product.UPC = model.UPC;
            }
            if (model.Price > 0)
            {
                product.Price = model.Price;
            }
            if (await _context.SaveChangesAsync() == 1)
            {
                return(Ok());              // 200
            }
            return(InternalServerError()); // 500
        }
Exemple #9
0
        public async Task <IActionResult> Edit([FromQuery] int id, [Bind("ProductId,ProductName,SupplierId,CategoryId,QuantityPerUnit,UnitPrice,UnitsInStock,UnitsOnOrder,ReorderLevel,Discontinued")] ProductUpdate products)
        {
            if (id != products.ProductId)
            {
                _logger.LogError("Product's id from request and model are not the same");
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var product = await _productsService.UpdateProductAsync <ProductUpdate>(products);

                    return(RedirectToAction(nameof(Index)));
                }
                catch (Exception ex)
                {
                    _logger.LogError(ex,
                                     $"Some error occured while processing Edit for product with id {products.ProductId}");
                }
            }

            var availableCategories = await _categoriesService.GetCategoriesAsync <Category>();

            var availableSuppliers = await _suppliersService.GetSuppliersAsync <Supplier>();

            ViewData["CategoryId"] = new SelectList(availableCategories, "CategoryId", "CategoryName", products.CategoryId);
            ViewData["SupplierId"] = new SelectList(availableSuppliers, "SupplierId", "CompanyName", products.SupplierId);

            return(View(products));
        }
 public async Task <IActionResult> postUpdateProductInfo([FromBody] ProductUpdate value)
 {
     if (BUS_Controls.Controls.updateProductInfo(value))
     {
         return(new JsonResult(new ApiResponse <object>("update product ok")));
     }
     return(new JsonResult(new ApiResponse <object>(200, "update product failed")));
 }
Exemple #11
0
        /// <inheritdoc />
        public void Update(Guid id, ProductUpdate model)
        {
            ProductDb product = GetSingle(id);

            product.Description = model.Description;

            _dbContext.SaveChanges();
        }
 /// <param name='operations'>
 /// Reference to the ZtherApiIntegration.API.IProducts.
 /// </param>
 /// <param name='code'>
 /// Required.
 /// </param>
 /// <param name='model'>
 /// Required.
 /// </param>
 public static CoordinateList Update(this IProducts operations, string code, ProductUpdate model)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((IProducts)s).UpdateAsync(code, model);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
Exemple #13
0
        public async Task <ProductResponse> SetProductsPPOM(ProductUpdate request, Dictionary <string, string> parms = null)
        {
            var endPoint = ProductUpdate.Endpoint;

            request.SecretKey = API.PpomKey;

            return(API.DeserializeJSon <ProductResponse>(await API.PostRestful(endPoint, request, parms).ConfigureAwait(false)));
        }
        public async Task <IHttpActionResult> UploadProductFiles(NewProductFileDTO[] newProductFiles)
        {
            string userName = User.Identity.Name;
            User   user     = db.Users.Where(_user => _user.UserName == userName).SingleOrDefault();

            if (user == null)
            {
                throw new HttpResponseException(HttpStatusCode.Unauthorized);
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            for (int i = 0; i < newProductFiles.Length; i++)
            {
                long productId = newProductFiles[i].ProductID;

                string visibility = newProductFiles[i].Visibility;

                Product product = db.Products.Find(productId);

                if (product == null)
                {
                    return(NotFound());
                }

                if ((product.CompanyID.HasValue && product.CompanyID != user.Company.ID) && (product.TeamMembers.Where(teamMember => teamMember.UserID == user.Id && teamMember.CanEditTheProduct == true).SingleOrDefault() == null))
                {
                    throw new HttpResponseException(HttpStatusCode.Unauthorized);
                }

                ProductFile   productFile   = Mapper.Map <NewProductFileDTO, ProductFile>(newProductFiles[i]);
                ProductUpdate productUpdate = new ProductUpdate();
                productFile.Product    = product;
                productFile.Type       = ProductFileType.Other;
                productFile.UploadedAt = DateTime.Now;
                if (!string.IsNullOrEmpty(visibility) && visibility.ToLower() == "private")
                {
                    productFile.Privacy = ProductFilePrivacy.Private;
                }
                productFile                 = db.ProductFiles.Add(productFile);
                productUpdate.UserID        = user.Id;
                productUpdate.User          = user;
                productUpdate.ProductID     = product.ID;
                productUpdate.Product       = product;
                productUpdate.ProductFileID = productFile.ID;
                productUpdate.ProductFile   = productFile;
                productUpdate.DateTime      = DateTime.Now;
                productUpdate.UpdateType    = UpdateType.ProductFileAdded;
                db.ProductUpdates.Add(productUpdate);
            }

            await db.SaveChangesAsync();

            return(Ok());
        }
        public void Update(ProductUpdate product)
        {
            var currentProduct = _unitOfWork.ProductRepo.GetById(product.Id);

            if (currentProduct != null)
            {
                currentProduct = Mapper.Map <Product>(product);
            }
        }
Exemple #16
0
        public async Task <ActionResult> PutAsync(Guid id, [FromBody] ProductUpdate product)
        {
            var productServiceModel = this.mapper.Map <ProductServiceModel>(product);

            if (await this.productService.UpdateAsync(productServiceModel))
            {
                return(this.Ok(new { success = true }));
            }
            return(this.BadRequest());
        }
        public async Task <dynamic> Update([FromBody] ProductUpdate item)
        {
            if (item == null)
            {
                return new { JsonString = "Error" }
            }
            ;
            var currentUser = JwtIdentity.UserInfo(Thread.CurrentPrincipal.Identity);
            //item.SubmiterUserId = currentUser.Id;
            var result = await _sqlData.Product.Update(item);

            return(new { Result = JsonConvert.DeserializeObject(result) });
        }
        public async Task <IActionResult> Update(int id, ProductUpdate productUpdate)
        {
            var product = await _productsContext.Products.FindAsync(id);

            if (product == null)
            {
                return(StatusCode(500));
            }
            _mapper.Map(productUpdate, product);
            await _productsContext.SaveChangesAsync();

            return(Ok(_mapper.Map <ProductDto>(product)));
        }
Exemple #19
0
 public ActionResult Edit(int id)
 {
     var service = CreateProductService();
     var detail = service.GetProductByID(id);
     var model =
         new ProductUpdate
         {
             ProductID = detail.ProductID,
             ProductName = detail.ProductName,
             Price = detail.Price
         };
     return View(model);
 }
        private IActionResult ActualizarProductoParcialmente(Topicos.NorthWnd.Model.Models.Product elResultadoRecibido, JsonPatchDocument <ProductUpdate> parchesAlProducto)
        {
            var elProductoParaParchar = new ProductUpdate()
            {
                ProductId    = elResultadoRecibido.ProductId,
                ProductName  = elResultadoRecibido.ProductName,
                UnitPrice    = elResultadoRecibido.UnitPrice,
                Discontinued = elResultadoRecibido.Discontinued
            };

            parchesAlProducto.ApplyTo(elProductoParaParchar);

            throw new NotImplementedException();
        }
        public bool UpdateProduct(ProductUpdate model)
        {
            using (var ctx = new ApplicationDbContext())
            {
                var entity =
                    ctx
                    .Products
                    .Single(e => e.ProductID == model.ProductID && e.OwnerID == _userID);
                entity.ProductName = model.ProductName;
                entity.Price       = model.Price;
                entity.ModifiedUtc = DateTimeOffset.UtcNow;

                return(ctx.SaveChanges() == 1);
            }
        }
Exemple #22
0
        public IHttpActionResult Put(ProductUpdate product)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var service = CreateProductService();

            if (!service.UpdateProduct(product))
            {
                return(InternalServerError());
            }
            return(Ok());
        }
        protected virtual async Task UpdateAsync(Guid skuId)
        {
            var entity = await _productUpdateRepository.FindAsync(x => x.ProductSkuId == skuId);

            if (entity == null)
            {
                entity = new ProductUpdate(_guidGenerator.Create(), skuId);

                await _productUpdateRepository.InsertAsync(entity);
            }
            else
            {
                await _productUpdateRepository.UpdateAsync(entity);
            }
        }
        public void ReturnsNotFoundExceptionWhenupdatingNotExistingId()
        {
            //Arrange
            var productsController = new ProductsController(GetProductsFacade());
            var guid          = new Guid("8b417428-cd89-4ff1-9248-6c2a89e1a3c6");
            var productUpdate = new ProductUpdate()
            {
                Description = "New desc."
            };

            //Act
            Func <ActionResult <Product> > action = () => productsController.UpdateDescription(guid, productUpdate);

            //Assert
            action.Should().Throw <NotFoundException>().WithMessage("Product has not been found.");
        }
        public async Task <IHttpActionResult> SetProductFileCategory(long id, ProductFileCategory category)
        {
            string userName = User.Identity.Name;
            User   user     = db.Users.Where(_user => _user.UserName == userName).SingleOrDefault();

            if (user == null)
            {
                throw new HttpResponseException(HttpStatusCode.Unauthorized);
            }

            ProductFile productFile = db.ProductFiles.Where(_productFile => _productFile.ID == id)
                                      .Include(_productFile => _productFile.Product)
                                      .Include(_productFile => _productFile.Product.TeamMembers)
                                      .SingleOrDefault();

            if (productFile == null)
            {
                return(NotFound());
            }

            if ((productFile.Product.CompanyID != user.Company.ID) && (productFile.Product.TeamMembers.Where(teamMember => teamMember.UserID == user.Id && teamMember.CanEditTheProduct == true).SingleOrDefault() == null))
            {
                throw new HttpResponseException(HttpStatusCode.Unauthorized);
            }

            if (productFile.Category == category)
            {
                return(Ok());
            }

            ProductUpdate productUpdate = new ProductUpdate();

            productFile.Category        = category;
            db.Entry(productFile).State = EntityState.Modified;
            productUpdate.UserID        = user.Id;
            productUpdate.User          = user;
            productUpdate.ProductID     = productFile.ProductID;
            productUpdate.Product       = productFile.Product;
            productUpdate.ProductFileID = productFile.ID;
            productUpdate.ProductFile   = productFile;
            productUpdate.DateTime      = DateTime.Now;
            productUpdate.UpdateType    = UpdateType.ProductFileEdited;
            db.ProductUpdates.Add(productUpdate);
            await db.SaveChangesAsync();

            return(Ok());
        }
Exemple #26
0
        public bool UpdateProduct(ProductUpdate model)
        {
            using (var ctx = new ApplicationDbContext())
            {
                var entity =
                    ctx
                    .Products
                    .Single(e => e.ProductId == model.ProducId && e.OwnerId == _userId);

                entity.Title       = model.Title;
                entity.Description = model.Description;
                entity.Price       = model.Price;
                entity.DateUpdated = DateTimeOffset.Now;

                return(ctx.SaveChanges() == 1);
            }
        }
        public async Task EditWithModel_ReturnsCurrentView_WhenModelIsNotValid()
        {
            _mockCatService.Setup(cs => cs.GetCategoriesAsync <Category>(It.IsAny <int?>()))
            .ReturnsAsync(this.GetTestCategories());
            _mockSupService.Setup(ss => ss.GetSuppliersAsync <Supplier>(It.IsAny <int?>()))
            .ReturnsAsync(this.GetTestSuppliers());

            _productsController.ModelState.AddModelError("name", "Product name is required");


            var viewModel = new ProductUpdate();

            var actual = await _productsController.Edit(It.IsAny <int>(), viewModel);

            var result = Assert.IsType <ViewResult>(actual);
            var model  = Assert.IsAssignableFrom <ProductUpdate>(result.ViewData.Model);
        }
Exemple #28
0
        public static async Task UpdateProduct(ProductUpdate updatedProduct, ProductItem productItem, DatabaseContext _context)
        {
            if (updatedProduct.SellPrice != -1)
            {
                productItem.SellPrice = updatedProduct.SellPrice;
            }
            if (updatedProduct.Discount != -1)
            {
                productItem.Discount = updatedProduct.Discount;
            }

            productItem.Returnable = updatedProduct.Returnable;

            _context.Entry(productItem).State = EntityState.Modified;

            await _context.SaveChangesAsync();
        }
        /// <summary>
        /// 修改产品信息
        /// </summary>
        /// <returns></returns>
        public int UpdateProduct(ProductUpdate Upd)
        {
            using (IDbConnection conn = new SqlConnection(connStr))
            {
                string sql = @"EXEC dbo.p_UpdateProduct @productId,
	                                                    @productName,
	                                                    @userId,
	                                                    @productDetail,
	                                                    @tradeId,
	                                                    @typeId,
	                                                    @addressId,
	                                                    @stageId,
	                                                    @updatorId "    ;

                var res = conn.Execute(sql, new { productId = Upd.ProductId, productName = Upd.ProductName, userId = Upd.UserId, productDetail = Upd.ProductDetail, tradeId = Upd.TradeId, typeId = Upd.TypeId, addressId = Upd.AddressId, stageId = Upd.StageId, updatorId = Upd.UpdatorId });
                return(res);
            }
        }
Exemple #30
0
        public async Task <IActionResult> Update(int id, [FromBody] ProductUpdate request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var result = await _productService.Update(id, request);

            if (!result.IsSuccessed)
            {
                return(BadRequest(result));
            }

            var list = await _productService.GetByUpdateProduct(id);

            return(Ok(list));
        }
 private void WriteToCSV(RegistryQuery.AppNameVer anv, String server, String appVendor, ProductUpdate pu)
 {
     String servicePack = (String)htBuild[anv.DisplayVersion];
     switch (pu) {
         case ProductUpdate.DDC:
             sw.WriteLine("{0},{1},{2},{3},{4}", appVendor, anv.DisplayName, anv.DisplayVersion, ddcPatches, server);
             sw.Flush();
             break;
         case ProductUpdate.PSE:
             sw.WriteLine("{0},{1},{2},{3},{4}", appVendor, anv.DisplayName, anv.DisplayVersion, psePatches, server);
             sw.Flush();
             break;
         case ProductUpdate.NONE:
             sw.WriteLine("{0},{1},{2},{3},{4}", appVendor, anv.DisplayName, anv.DisplayVersion, servicePack ,server);
             sw.Flush();
             break;
     }
 }
        public virtual ActionResult Update(int id, ProductUpdate data)
        {
            if (ModelState.IsValid)
            {
                _ProductService.UpdateProduct(id, data);
                return new EntityResult(MVC.Admin.Products.Index(), "Product saved.");
            }
            else {
                return new Http400Result(ModelState);
            }
            //if (ModelState.IsValid) {
            //    var p = db.Products
            //        .Where(x => x.Id == product.Id)
            //        .Single();

            //    p.CategoryId = product.CategoryId;
            //    p.ShippingCategoryId = product.ShippingCategoryId;
            //    p.Description = product.Description;
            //    p.IsPublished = product.IsPublished;
            //    p.Name = product.Name;
            //    p.Price = product.Price;
            //    p.Available = product.Available;

            //    var guids = _stringToGuids(pictureIds);

            //    _SetProductPictures(p, guids);
            //    _SetProductTags(p, tagIds);

            //    db.Entry(p).State = EntityState.Modified;
            //    db.SaveChanges();
            //    return RedirectToAction("Index");
            //}
            //_PopulateCategoriesDropDownList(product.CategoryId);
            //_PopulateShippingCategoriesDropDownList(product.ShippingCategoryId);
            return View();
        }
        private IProductUpdate CheckForProductUpdate(Uri updateSource, int timeout)
        {
            var productUpdate = new ProductUpdate();

            try
            {
                var webRequest = WebRequest.Create(updateSource);

                // Skip proxy checking because it's slow.
                webRequest.Proxy = null;

                webRequest.Timeout = timeout * 1000;

                using (var webResponse = webRequest.GetResponse())
                using (var responseStream = webResponse.GetResponseStream())
                {
                    var xmlDoc = new XmlDocument();
                    xmlDoc.Load(responseStream);

                    var productElement = xmlDoc.DocumentElement;

                    var minimalVersion = productElement.Attributes.GetAttributeByKeyOrNull<Version>("minimal-version");
                    var latestVersion = productElement.Attributes.GetAttributeByKeyOrNull<Version>("latest-version");
                    var url = productElement.Attributes.GetAttributeByKeyOrNull<Uri>("url");
                    var command = productElement.Attributes.GetAttributeByKeyOrNull<string>("command");

                    // Validate the xml file.
                    if (latestVersion == null || url == null)
                        throw new XmlException("Invallid update schema");

                    productUpdate.MinimalVersion = minimalVersion;
                    productUpdate.Url = url;
                    productUpdate.Command = command;
                    productUpdate.NewVersion = latestVersion;

                }

            }

            catch (Exception ex)
            {
                _log.Error("Failed to retrieve update", ex);
            }

            return productUpdate;
        }