public async Task <ActionResult> DeleteConfirmed(int id) { try { Book book = await db.Books.FindAsync(id); ImagePatch patch = db.ImagePatchs.Where(n => n.BooksId == id).FirstOrDefault(); string patch1 = Path.Combine(Server.MapPath("~/Images"), patch.ImageUrl); if (patch1 != null && patch.ImageUrl != "No.jpg") { if (System.IO.File.Exists(patch1)) { System.IO.File.Delete(patch1); } } db.Books.Remove(book); db.ImagePatchs.Remove(patch); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } catch { return(RedirectToAction("Index")); } }
public ActionResult Create([Bind(Include = "Id,Title,Price,Description,PagesCount,CountryPublishedId,AuthorsId")] Book book, HttpPostedFileBase upload) { if (ModelState.IsValid) { if (upload != null && upload.ContentLength > 0) { // upload = Request.Files["upload"]; string filename = Path.GetFileName(upload.FileName); string patch = Path.Combine(Server.MapPath("~/Images"), filename); upload.SaveAs(patch); var photo = new ImagePatch { ImageUrl = System.IO.Path.GetFileName(upload.FileName), }; book.ImagePatchs = new List <ImagePatch>(); book.ImagePatchs.Add(photo); } // upload.SaveAs(System.IO.Path.Combine(directory, photo.ImageUrl)); db.Books.Add(book); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.AuthorsId = new SelectList(db.Authors, "Id", "FullName", book.AuthorsId); ViewBag.CountryPublishedId = new SelectList(db.CountryPublisheds, "Id", "CountryName", book.CountryPublishedId); return(View(book)); }
/// <summary> /// Updates a single Image with one or more values /// </summary> /// <param name="updatedImage">The new data for the Image you wish to update</param> /// <returns>Returns a result indicating if the operation succeeded</returns> public async Task <Result> UpdateImage(ImagePatch updatedImage) { try { using (var con = new Npgsql.NpgsqlConnection(settings.Connection.DatabaseConnectionString)) { var sqlPatchOperations = new StringBuilder(); var obj = updatedImage; var operationCount = 0; if (obj.CompanyId != null) { sqlPatchOperations.AppendLine(obj.CompanyId.Operation == OperationKind.Remove ? "companyId = NULL," : "companyId = @CompanyId," ); operationCount++; } if (obj.ImageKey != null) { sqlPatchOperations.AppendLine(obj.ImageKey.Operation == OperationKind.Remove ? "imageKey = NULL," : "imageKey = @ImageKey," ); operationCount++; } if (obj.ImageTitle != null) { sqlPatchOperations.AppendLine(obj.ImageTitle.Operation == OperationKind.Remove ? "imageTitle = NULL," : "imageTitle = @ImageTitle," ); operationCount++; } var patchOperations = sqlPatchOperations.ToString(); if (operationCount > 0) { // Remove final ", " from StringBuilder to ensure query is valid patchOperations = patchOperations.TrimEnd(System.Environment.NewLine.ToCharArray()); patchOperations = patchOperations.TrimEnd(','); } await con.ExecuteAsync($"UPDATE \"Image\" SET {patchOperations} WHERE imageId = @ResourceId", new { ResourceId = obj.ResourceId, CompanyId = (int)(obj.CompanyId == default ? default : obj.CompanyId.Value), ImageKey = (string)(obj.ImageKey == default ? default : obj.ImageKey.Value), ImageTitle = (string)(obj.ImageTitle == default ? default : obj.ImageTitle.Value) }).ConfigureAwait(false); return(Result.Ok()); }
public async Task <ActionResult> Edit([Bind(Include = "Id,Title,Price,Description,PagesCount,Picture,ImagePatchs,CountryPublishedId,AuthorsId")] BookViewModel model, HttpPostedFileBase upload) { try { if (ModelState.IsValid) { //book = await db.Books.FindAsync(book.Id); ImagePatch oldpatch = db.ImagePatchs.Where(n => n.BooksId == model.Id).FirstOrDefault(); string pat = oldpatch.ImageUrl; if (upload != null) { var supportedTypes = new[] { "jpg", "jpeg", "png" }; var fileExt = System.IO.Path.GetExtension(upload.FileName).Substring(1); if (!supportedTypes.Contains(fileExt)) { return(RedirectToAction("Index")); // ModelState.AddModelError("photo", "Invalid type. Only the following types (jpg, jpeg, png) are supported."); } string filename = Guid.NewGuid().ToString() + Path.GetExtension(upload.FileName); string patch = Path.Combine(Server.MapPath("~/Images"), filename); upload.SaveAs(patch); ImagePatch patchimg = db.ImagePatchs.Where(n => n.BooksId == model.Id).FirstOrDefault(); if (patchimg != null) { patchimg.ImageUrl = filename; string patch1 = Path.Combine(Server.MapPath("~/Images"), pat); if (System.IO.File.Exists(patch1)) { System.IO.File.Delete(patch1); } } } Book b = BookRelase.EditBook(model); db.Entry(b).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.AuthorsId = new SelectList(db.Authors, "Id", "FullName", model.AuthorsId); ViewBag.CountryPublishedId = new SelectList(db.CountryPublisheds, "Id", "CountryName", model.CountryPublishedId); return(View(model)); } catch { return(RedirectToAction("Index")); } }
public async Task <IActionResult> UpdateImageDetails(int id, [FromBody] ImagePatch item) { var userPid = User.Identity.Name.Substring(User.Identity.Name.IndexOf(@"\") + 1); var result = _context.Images.FirstOrDefault(t => t.Id == id); if (result == null) { return(NotFound()); } //result.Description = item.Description; result.Approved = item.Approved; result.ImageName = item.ImageName; result.ApprovedByPID = Convert.ToInt32(userPid); // result.Placeholder = item.Placeholder; result.ApprovedDate = DateTime.Now; _context.Images.Update(result); await _context.SaveChangesAsync(); return(new NoContentResult()); }
public virtual ArmOperation <ImageResource> Update(WaitUntil waitUntil, ImagePatch patch, CancellationToken cancellationToken = default) { Argument.AssertNotNull(patch, nameof(patch)); using var scope = _imageClientDiagnostics.CreateScope("ImageResource.Update"); scope.Start(); try { var response = _imageRestClient.Update(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, patch, cancellationToken); var operation = new ComputeArmOperation <ImageResource>(new ImageOperationSource(Client), _imageClientDiagnostics, Pipeline, _imageRestClient.CreateUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, patch).Request, response, OperationFinalStateVia.Location); if (waitUntil == WaitUntil.Completed) { operation.WaitForCompletion(cancellationToken); } return(operation); } catch (Exception e) { scope.Failed(e); throw; } }
public Response Update(string subscriptionId, string resourceGroupName, string imageName, ImagePatch patch, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); Argument.AssertNotNullOrEmpty(imageName, nameof(imageName)); Argument.AssertNotNull(patch, nameof(patch)); using var message = CreateUpdateRequest(subscriptionId, resourceGroupName, imageName, patch); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { case 200: case 201: return(message.Response); default: throw new RequestFailedException(message.Response); } }
internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string imageName, ImagePatch patch) { var message = _pipeline.CreateMessage(); var request = message.Request; request.Method = RequestMethod.Patch; var uri = new RawRequestUriBuilder(); uri.Reset(_endpoint); uri.AppendPath("/subscriptions/", false); uri.AppendPath(subscriptionId, true); uri.AppendPath("/resourceGroups/", false); uri.AppendPath(resourceGroupName, true); uri.AppendPath("/providers/Microsoft.Compute/images/", false); uri.AppendPath(imageName, true); uri.AppendQuery("api-version", _apiVersion, true); request.Uri = uri; request.Headers.Add("Accept", "application/json"); request.Headers.Add("Content-Type", "application/json"); var content = new Utf8JsonRequestContent(); content.JsonWriter.WriteObjectValue(patch); request.Content = content; _userAgent.Apply(message); return(message); }
public static ImagePatch GetImageURL() { ImagePatch ip = new ImagePatch(); //图片路径相关 XmlDocument xmlDoc = new XmlDocument(); //xmlDoc.Load(@"D:\Project\HCHE\ImagePatch.xml"); xmlDoc.Load(ConfigurationSettings.AppSettings["XMLURL"] + @"ImagePatch.xml"); XmlNode root = xmlDoc.SelectSingleNode("PublichPatch");//指向根节点 //头像 XmlNode xnImageUserPhotoSmall = root.SelectSingleNode("ImageUserPhotoSmall"); ip.ImageUserPhotoSmall = xnImageUserPhotoSmall.InnerText;//读出里面的值 XmlNode xnImageUserPhotoBig = root.SelectSingleNode("ImageUserPhotoBig"); ip.ImageUserPhotoBig = xnImageUserPhotoBig.InnerText;//读出里面的值 //商品主图 XmlNode xnAccMainImage = root.SelectSingleNode("AccMainImage"); ip.AccMainImage = xnAccMainImage.InnerText;//读出里面的值 //商品图片 XmlNode xnAccImage = root.SelectSingleNode("AccImage"); ip.AccImage = xnAccImage.InnerText;//读出里面的值 //我的车型图片 XmlNode xnImageMyCar = root.SelectSingleNode("ImageMyCar"); ip.ImageMyCar = xnImageMyCar.InnerText;//读出里面的值 //配件品牌 XmlNode xnImageBrandLogo = root.SelectSingleNode("ImageBrandLogo"); ip.ImageBrandLogo = xnImageBrandLogo.InnerText;//读出里面的值 //求购信息图片 XmlNode xnImageRepair = root.SelectSingleNode("ImageRepair"); ip.ImageRepair = xnImageRepair.InnerText;//读出里面的值 //报修信息图片 XmlNode xnImageProcurment = root.SelectSingleNode("ImageProcurment"); ip.ImageProcurment = xnImageProcurment.InnerText;//读出里面的值 //建议信息图片 XmlNode xnImageAdvice = root.SelectSingleNode("ImageAdvice"); ip.ImageAdvice = xnImageAdvice.InnerText;//读出里面的值 //投诉信息图片 XmlNode xnImageComplaints = root.SelectSingleNode("ImageComplaints"); ip.ImageComplaints = xnImageComplaints.InnerText;//读出里面的值 //举报信息图片 XmlNode xnImageProsecution = root.SelectSingleNode("ImageProsecution"); ip.ImageProsecution = xnImageProsecution.InnerText;//读出里面的值 //授权证书 XmlNode xnImageCertification = root.SelectSingleNode("ImageCertificate"); ip.ImageCertificate = xnImageCertification.InnerText;//读出里面的值 //店铺形象 XmlNode xnImageLince = root.SelectSingleNode("ImageStore"); ip.ImageStore = xnImageLince.InnerText;//读出里面的值 return(ip); }