public ResponseBo Save(ImageBo saveBo) { ResponseBo responseBo = new ResponseBo(); try { using (SqlConnection conn = DbAccess.Connection.GetConn()) { var p = new DynamicParameters(); base.AddStandartSpParams(ref p, saveBo); p.Add("@ImageTypeId", saveBo.ImageTypeId, DbType.Int32, ParameterDirection.Input); p.Add("@ProductId", saveBo.ProductId, DbType.Int64, ParameterDirection.Input); p.Add("@PersonId", saveBo.PersonId, DbType.Int64, ParameterDirection.Input); p.Add("@PersonProductId", saveBo.PersonProductId, DbType.Int64, ParameterDirection.Input); p.Add("@UniqueId", saveBo.UniqueId, DbType.Guid, ParameterDirection.Input); p.Add("@FileTypeId", saveBo.FileTypeId, DbType.Int32, ParameterDirection.Input); conn.Execute("spImageSave", p, commandType: CommandType.StoredProcedure); responseBo.Message = p.Get <string>("@Message"); responseBo.IsSuccess = p.Get <bool>("@IsSuccess"); } } catch (Exception ex) { responseBo = base.SaveExLog(ex, this.GetType(), MethodBase.GetCurrentMethod().Name, saveBo); } return(responseBo); }
void addImage(string fullFileName) { string fileName = "F" + Path.GetFileNameWithoutExtension(fullFileName); ProductBusiness productBusiness = new ProductBusiness(); long? productId = productBusiness.GetProductIdFromCode(fileName); if (productId == null) { absentProductCount++; return; } else { existProductCount++; } Guid uniqueId = Guid.NewGuid(); Image imgOriginal = Bitmap.FromFile(fullFileName); string fileTypeStr = Path.GetExtension(fullFileName).Replace(".", "").ToLower(); Enums.FileTypes fileTypeId = (Enums.FileTypes)Enum.Parse(typeof(Enums.FileTypes), fileTypeStr); string fileNameUnique = uniqueId.ToString().ToUpper() + "." + fileTypeId.ToString(); // We need to resize if image size higher than 1024. if (imgOriginal.Height > 640 && imgOriginal.Width > 480) { // We save the original image in case of any trouble in advance. string filePathOriginal = Path.Combine(Stc.ProductImageSourceUrl, "original", fileNameUnique); imgOriginal.Save(filePathOriginal); Image imgConverted = Img.FixedSize(imgOriginal, 640, 480); string filePath = Path.Combine(Stc.ProductImageSourceUrl, fileNameUnique); imgConverted.Save(filePath); imgConverted.Dispose(); } else { string filePath = Path.Combine(Stc.ProductImageSourceUrl, fileNameUnique); imgOriginal.Save(filePath); } Image thumbnail = Img.FixedSize(imgOriginal, 96, 96); string filePathThumbnail = Path.Combine(Stc.ProductImageSourceUrl, "thumbnail", fileNameUnique); thumbnail.Save(filePathThumbnail); thumbnail.Dispose(); Mh.Sessions.Session pseudoSession = new Sessions.Session(); pseudoSession.RealPerson = new Sessions.SessionRealPerson(); pseudoSession.RealPerson.Id = 1; // ismail pseudoSession.RealPerson.LanguageId = Enums.Languages.xTurkish; //ProductUpdateBo updateBo = new ProductUpdateBo() //{ // ProductId = productId.Value, // ProductUpdateTypeId = Enums.ProductUpdateTypes.xImage, // ImageUniqueId = uniqueId, // ImageFileTypeId = fileTypeId, // Session = pseudoSession //}; //ResponseBo responseBo = productBusiness.Update(updateBo); ImageBo imageBo = new ImageBo { ImageTypeId = Enums.ImageTypes.Product, UniqueId = uniqueId, FileTypeId = fileTypeId, ProductId = productId, //PersonId = personId, Session = pseudoSession }; ImageBusiness imageBusiness = new ImageBusiness(); ResponseBo responseBo = imageBusiness.Save(imageBo); imgOriginal.Dispose(); }
public ResponseDto Upload() { ResponseDto responseDto = new ResponseDto(); try { var httpRequest = HttpContext.Current.Request; long?productId = httpRequest.Form["productId"].ToInt64Null(); long?personId = httpRequest.Form["personId"].ToInt64Null(); long?personProductId = httpRequest.Form["personProductId"].ToInt64Null(); if (httpRequest.Files.Count > 0) { HttpPostedFile postedFile = httpRequest.Files[0]; if (postedFile.ContentLength >= 10000000) { responseDto.IsSuccess = false; responseDto.Message = "Resim 10 mb'dan küçük olmalıdır."; return(responseDto); } Enums.ImageTypes imageTypeId = (Enums.ImageTypes)httpRequest.Form["imageTypeId"].ToInt32(); if ( (imageTypeId == Enums.ImageTypes.Product && productId == null) || (imageTypeId == Enums.ImageTypes.Profile && personId == null) || (imageTypeId == Enums.ImageTypes.PersonProduct && personProductId == null) ) { return(new ResponseDto() { IsSuccess = false, Message = Business.Stc.GetDicValue("xInvalidData", Enums.Languages.xEnglish) }); } string urlPath = null; if (imageTypeId == Enums.ImageTypes.Product || imageTypeId == Enums.ImageTypes.PersonProduct) { urlPath = Path.Combine(Stc.ImageSourceUrl, "product"); } else if (imageTypeId == Enums.ImageTypes.Profile) { urlPath = Path.Combine(Stc.ImageSourceUrl, "profile"); } Guid uniqueId = Guid.NewGuid(); System.Drawing.Image imgOriginal = Bitmap.FromStream(postedFile.InputStream); string fileTypeStr = postedFile.ContentType.Split('/')[1];//.Replace(".", "").ToLower(); Enums.FileTypes fileTypeId = (Enums.FileTypes)Enum.Parse(typeof(Enums.FileTypes), fileTypeStr); string fileName = uniqueId.ToString().ToUpper() + "." + fileTypeId.ToString(); // We need to resize if image size higher than 1024. if (imgOriginal.Height > 640 && imgOriginal.Width > 480) { // We save the original image in case of any trouble in advance. string filePathOriginal = Path.Combine(urlPath, "original", fileName); postedFile.SaveAs(filePathOriginal); System.Drawing.Image imgConverted = Img.FixedSize(imgOriginal, 640, 480); string filePath = Path.Combine(urlPath, fileName); imgConverted.Save(filePath); imgConverted.Dispose(); } else { string filePath = Path.Combine(urlPath, fileName); postedFile.SaveAs(filePath); } System.Drawing.Image thumbnail = Img.FixedSize(imgOriginal, 96, 96); string filePathThumbnail = Path.Combine(urlPath, "thumbnail", fileName); thumbnail.Save(filePathThumbnail); thumbnail.Dispose(); ImageBo imageBo = new ImageBo { ImageTypeId = imageTypeId, UniqueId = uniqueId, FileTypeId = fileTypeId, ProductId = productId, PersonId = personId, PersonProductId = personProductId, Session = Session }; ResponseBo responseBo = imageBusiness.Save(imageBo); responseDto = responseBo.ToResponseDto(); //if (responseBo.IsSuccess) //{ // if (imageTypeId == Enums.ImageTypes.Product) // { // ProductUpdateBo updateBo = new ProductUpdateBo() // { // ProductId = productId.Value, // ProductUpdateTypeId = Enums.ProductUpdateTypes.xImage, // ImageUniqueId = uniqueId, // ImageFileTypeId = fileTypeId, // Session = Session // }; // responseDto = productBusiness.Update(updateBo).ToResponseDto(); // } // else // { // responseDto = responseBo.ToResponseDto(); // } //} //else //{ //} imgOriginal.Dispose(); if (responseDto.IsSuccess) { responseDto.Message = base.GetImageName(uniqueId, fileTypeId); } } else { responseDto.IsSuccess = false; responseDto.Message = Business.Stc.GetDicValue("xInvalidData", Session.RealPerson.LanguageId); } } catch (Exception ex) { responseDto = base.SaveExLog(ex, this.GetType(), MethodBase.GetCurrentMethod().Name); } return(responseDto); }