Exemple #1
0
 private IExcelDataReader CreateDataReader(Stream stream, Enums.FileTypes fileType)
 {
     if (fileType == Enums.FileTypes.EXCEL)
     {
         return(ExcelReaderFactory.CreateReader(stream));
     }
     else if (fileType == Enums.FileTypes.CSV)
     {
         return(ExcelReaderFactory.CreateCsvReader(stream));
     }
     else
     {
         throw new InvalidOperationException("File Import Definition FileType value is invalid. " + fileType.ToString());
     }
 }
Exemple #2
0
        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);
        }