public JsonResult UploadImages(ImageInGalleryModel SenderObj)
        {
            var ss = Request.Files;

            if (ModelState.IsValid)
            {
                List <string> Skips;
                if (!string.IsNullOrEmpty(SenderObj.SkipImageIDS))
                {
                    Skips = SenderObj.SkipImageIDS.Trim(',').Split(',').ToList();
                }
                else
                {
                    Skips = new List <string>();
                }
                int SkipimagesCount             = Skips.Count;
                int imagescount                 = Request.Files.Count;
                List <HttpPostedFileBase> newss = new List <HttpPostedFileBase>();
                for (int i = 0; i < imagescount; i++)
                {
                    bool Skipper = false;
                    for (int j = 0; j < SkipimagesCount; j++)
                    {
                        if (i.ToString() == Skips[j])
                        {
                            Skipper = true;
                        }
                    }
                    if (Skipper)
                    {
                        continue;
                    }
                    newss.Add(Request.Files[i]);
                }
                Skips = null;
                if (newss.Count > 0)
                {
                    ImageUploader uploadAll = new ImageUploader();
                    string        res       = uploadAll.UploadImages(new ImageInGalleryModel()
                    {
                        ImageName        = SenderObj.ImageName,
                        ImageDescription = SenderObj.ImageDescription,
                        ImageAlt         = SenderObj.ImageAlt
                    }, newss);
                    if (res == "1")
                    {
                        var ModelSender = new ErrorReporterModel
                        {
                            ErrorID      = "SX10100Upload",
                            Errormessage = "تمامی عکس ها با موفقیت بارگزاری شده اند!",
                            Errortype    = "Success"
                        };
                        TempData["returnData"] = ModelSender;
                        return(Json(ModelSender));
                    }
                    else if (res == "-1")
                    {
                        var ModelSender = new ErrorReporterModel
                        {
                            ErrorID      = "EX10200Upload",
                            Errormessage = "قبلا عکسی با این نام ذخیره شده است!",
                            Errortype    = "Error"
                        };
                        TempData["returnData"] = ModelSender;
                        return(Json(ModelSender));
                    }
                    else
                    {
                        var ModelSender = new ErrorReporterModel
                        {
                            ErrorID      = "EX1020Upload",
                            Errormessage = "عدم توانایی در بارگزاری فایل ها با پشتیبانی در تماس باشید!",
                            Errortype    = "Error"
                        };
                        TempData["returnData"] = ModelSender;

                        return(Json(ModelSender));
                    }
                }
                else
                {
                    var ModelSender = new ErrorReporterModel
                    {
                        ErrorID      = "EX1020Upload",
                        Errormessage = "هیچ عکسی یافت نشد !",
                        Errortype    = "Error"
                    };
                    TempData["returnData"] = ModelSender;
                    return(Json(ModelSender));
                }
            }
            else
            {
                List <ModelErrorReporter> allErrors = new List <ModelErrorReporter>();
                //foreach (ModelError error in ModelState.Values.)
                var AllValues   = ModelState.Values.ToList();
                var AllKeys     = ModelState.Keys.ToList();
                int errorsCount = AllValues.Count;
                for (int i = 0; i < errorsCount; i++)
                {
                    if (AllValues[i].Errors.Count > 0)
                    {
                        ModelErrorReporter er = new ModelErrorReporter()
                        {
                            IdOfProperty = AllKeys[i],
                            ErrorMessage = AllValues[i].Errors[0].ErrorMessage
                        };
                        allErrors.Add(er);
                    }
                }
                var ModelSender = new ErrorReporterModel
                {
                    ErrorID      = "EX115",
                    Errormessage = $"عدم رعایت استاندارد ها!",
                    Errortype    = "ErrorWithList",
                    AllErrors    = allErrors
                };
                TempData["returnData"] = ModelSender;
                return(Json(ModelSender));
            }
        }
Пример #2
0
        public string UploadImages(ImageInGalleryModel senderObj, List <HttpPostedFileBase> AllUploadedimages)
        {
            //File.WriteAllText(System.Web.HttpContext.Current.Server.MapPath($"~/ErrorLogs/{FolderName}/ErrorOn({CodeGenerated}--{FromWhere})-{PersianDateTime.Now.Year}-{PersianDateTime.Now.Month}-{PersianDateTime.Now.Day}-{PersianDateTime.Now.Hour} {PersianDateTime.Now.Minute} {PersianDateTime.Now.Second}.Panda"), excep);
            PDBC db = new PDBC();
            List <ExcParameters> parss = new List <ExcParameters>();

            parss.Add(new ExcParameters()
            {
                _KEY   = "@Name",
                _VALUE = senderObj.ImageName
            });
            db.Connect();
            using (DataTable dt = db.Select("SELECT Count(*)as RN FROM [tbl_ADMIN_UploaderStructure] WHERE [uploadPicName] LIKE @Name", parss))
            {
                db.DC();
                if (Convert.ToInt32(dt.Rows[0]["RN"].ToString()) > 0)
                {
                    return("-1");
                }
            }
            parss = null;
            List <DatabaseImageUploadStructure> DIUS = new List <DatabaseImageUploadStructure>();

            db.Connect();
            using (DataTable dt = db.Select("SELECT [picSizeType] ,[picSizeTypeName] ,[picSizeTypeWidth] ,[picSizeTypeHeight] FROM [tbl_ADMIN_UploaderStructure_ImageSize]"))
            {
                db.DC();
                int ii = dt.Rows.Count;
                for (int i = 0; i < ii; i++)
                {
                    DIUS.Add(new DatabaseImageUploadStructure()
                    {
                        picSizeType       = dt.Rows[i]["picSizeType"].ToString(),
                        picSizeTypeHeight = Convert.ToInt32(dt.Rows[i]["picSizeTypeHeight"].ToString()),
                        picSizeTypeWidth  = Convert.ToInt32(dt.Rows[i]["picSizeTypeWidth"].ToString()),
                        picSizeTypeName   = dt.Rows[i]["picSizeTypeName"].ToString()
                    });
                }
            }
            int ModelCount    = DIUS.Count;
            int UploadesCount = AllUploadedimages.Count;
            ImageSizeConvertor        imgSaver;
            string                    result    = "1";
            List <ReturnedSaveImages> SavedImgs = new List <ReturnedSaveImages>();

            for (int i = 0; i < UploadesCount; i++)
            {
                string CodeSave = DateTime.Now.Ticks.ToString();
                for (int j = 0; j < ModelCount; j++)
                {
                    imgSaver = new ImageSizeConvertor(DIUS[j], AllUploadedimages[i], CodeSave);
                    if (imgSaver.Returned.Status == "0")
                    {
                        result = "0";
                        break;
                    }
                    SavedImgs.Add(imgSaver.Returned);
                }
            }
            if (result == "0")
            {
                return("Error");
            }
            else
            {
                int UploadedAndSavedImagesCount = SavedImgs.Count;
                List <ExcParameters> Allparams  = new List <ExcParameters>();
                ExcParameters        parameters = new ExcParameters();
                db.Connect();
                string Qresult = "";
                string Aresult = "";
                for (int i = 0; i < UploadedAndSavedImagesCount; i++)
                {
                    Allparams  = new List <ExcParameters>();
                    parameters = new ExcParameters()
                    {
                        _KEY   = "@Descriptions",
                        _VALUE = senderObj.ImageDescription
                    };
                    Allparams.Add(parameters);
                    parameters = new ExcParameters()
                    {
                        _KEY   = "@uploadPicName",
                        _VALUE = senderObj.ImageName
                    };
                    Allparams.Add(parameters);
                    parameters = new ExcParameters()
                    {
                        _KEY   = "@alt",
                        _VALUE = senderObj.ImageAlt
                    };
                    Allparams.Add(parameters);
                    parameters = new ExcParameters()
                    {
                        _KEY   = "@PicCategoryType",
                        _VALUE = Convert.ToInt32(SavedImgs[i].UploadedImageTypeID)
                    };
                    Allparams.Add(parameters);
                    parameters = new ExcParameters()
                    {
                        _KEY   = "@UploadAddress",
                        _VALUE = SavedImgs[i].UploadedImageSrc
                    };
                    Allparams.Add(parameters);
                    parameters = new ExcParameters()
                    {
                        _KEY   = "@savedCode",
                        _VALUE = SavedImgs[i].SaveCode
                    };
                    Allparams.Add(parameters);
                    Qresult += db.Script("INSERT INTO [tbl_ADMIN_UploaderStructure]([PicCategoryType],[ISDELETE],[alt],[uploadPicName],[Descriptions],[CreatedDate],[UploadAddress],[savedCode]) VALUES(@PicCategoryType,0,@alt,@uploadPicName,@Descriptions,GETDATE(),@UploadAddress,@savedCode)", Allparams);
                    Aresult += "1";
                }
                db.DC();
                if (Aresult == Qresult)
                {
                    return("1");
                }
                else
                {
                    PPBugReporter rep = new PPBugReporter(BugTypeFrom.ImageFileWriter, Qresult);
                    return("0");
                }
            }
        }