Пример #1
0
        public ActionResult GetArticleTypeTable_getItems()
        {
            var parameters = AjaxModel.GetParameters(HttpContext);
            var art        = new ArticleManager();
            var acim       = new ArticleCatalogImagesManager();

            var items = art.GetItemsType().AsQueryable();

            //#region filter
            //if (parameters.filter != null && parameters.filter.Count > 0)
            //{
            //    List<int?> td = new List<int?>();
            //    if (parameters.filter.ContainsKey("typeID"))
            //    {
            //        td = (parameters.filter["typeID"] as ArrayList).ToArray().Select(x => (int?)RDL.Convert.StrToInt(x.ToString(), 0)).ToList();
            //    }
            //    items = items.Where(x => (td.Count == 0 || td.Contains(x.typeID != null ? x.typeID : 0)));
            //}
            //#endregion

            var sorts      = parameters.sort.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            var directions = parameters.direction.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            var sort1      = sorts.Length > 0 ? sorts[0] : "";
            var direction1 = directions.Length > 0 ? directions[0] : "";

            switch (sort1)
            {
            case "name":
                if (direction1 == "up")
                {
                    items = items.OrderBy(x => x.name);
                }
                else
                {
                    items = items.OrderByDescending(x => x.name);
                }
                break;

            case "code":
                if (direction1 == "up")
                {
                    items = items.OrderBy(x => x.code);
                }
                else
                {
                    items = items.OrderByDescending(x => x.code);
                }
                break;

            default:
                if (direction1 == "up")
                {
                    items = items.OrderBy(x => x.code);
                }
                else
                {
                    items = items.OrderByDescending(x => x.code);
                }
                break;
            }

            var total  = items.Count();
            var res    = items.Skip(parameters.pageSize * (parameters.page - 1)).Take(parameters.pageSize).ToList();
            var imgUrl = new FileItemInfo1();

            return(Json(new
            {
                items = res.Select(x => new
                {
                    x.id,
                    x.name,
                    x.code,
                }),
                total = items.Count()
            }, JsonRequestBehavior.AllowGet));
        }
Пример #2
0
        public ActionResult GetArticleTable_getItems()
        {
            var parameters = AjaxModel.GetParameters(HttpContext);
            var art        = new ArticleManager();
            var acim       = new ArticleCatalogImagesManager();

            var items = art.GetItems().AsQueryable();

            #region filter
            if (parameters.filter != null && parameters.filter.Count > 0)
            {
                List <int?> td = new List <int?>();
                if (parameters.filter.ContainsKey("typeID"))
                {
                    td = (parameters.filter["typeID"] as ArrayList).ToArray().Select(x => (int?)RDL.Convert.StrToInt(x.ToString(), 0)).ToList();
                }
                items = items.Where(x => (td.Count == 0 || td.Contains(x.typeID != null ? x.typeID : 0)));
            }
            #endregion

            var sorts      = parameters.sort.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            var directions = parameters.direction.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            var sort1      = sorts.Length > 0 ? sorts[0] : "";
            var direction1 = directions.Length > 0 ? directions[0] : "";

            switch (sort1)
            {
            case "created":
                if (direction1 == "up")
                {
                    items = items.OrderBy(x => x.created);
                }
                else
                {
                    items = items.OrderByDescending(x => x.created);
                }
                break;

            case "title":
                if (direction1 == "up")
                {
                    items = items.OrderBy(x => x.title);
                }
                else
                {
                    items = items.OrderByDescending(x => x.title);
                }
                break;

            default:
                if (direction1 == "up")
                {
                    items = items.OrderBy(x => x.created);
                }
                else
                {
                    items = items.OrderByDescending(x => x.created);
                }
                break;
            }

            var total  = items.Count();
            var res    = items.Skip(parameters.pageSize * (parameters.page - 1)).Take(parameters.pageSize).ToList();
            var imgUrl = new FileItemInfo1();

            return(Json(new
            {
                items = res.Select(x => new
                {
                    x.id,
                    created = x.created.GetValueOrDefault().ToString("dd.MM.yyyy"),
                    x.title,
                    imgPath = (imgUrl = Files.GetTargetFiles(x.id, "/uploads/Images/Articles/").Where(s => s.Name.Contains("_mini")).FirstOrDefault()) == null
                        ? "<div class='myUsUploadImage' data-imgPath=''></div>"
                        : String.Format("<div class='myUsUploadImage' data-imgPath='" + "/uploads/Images/Articles/" + x.id + "/" + imgUrl.Name + "'></div>"),
                    x.anouns,
                    x.text,
                    typeID = x.typeID != null ? art.GetItemType((int)x.typeID).name : "",
                }),
                total = items.Count()
            }, JsonRequestBehavior.AllowGet));
        }
Пример #3
0
        //[Authorize(Roles = "admin")] - Данный атрибут отключён из-за некорректной работы uploadify в opere
        public ActionResult ArticleImageSave()
        {
            var context      = HttpContext;
            var mesage1      = HttpContext.User.Identity.IsAuthenticated;
            var mesage2      = HttpContext.Request.IsAuthenticated;
            var mesage3      = Request.IsAjaxRequest();
            var art          = new ArticleManager();
            var acim         = new ArticleCatalogImagesManager();
            var res          = false;
            int suggestionID = 0;

            try
            {
                string toSaveDirectory = context.Request.Params["toSaveDirectory"];
                suggestionID = RDL.Convert.StrToInt(context.Request.Params["suggestionID"], 0);
                var    isPropImages  = RDL.Convert.StrToInt(context.Request.Params["isPropImages"], 0);
                string propertyName  = context.Request.Params["propertyName"];
                string propertyValue = context.Request.Params["propertyValue"] == null ? "" : context.Request.Params["propertyValue"];

                HttpPostedFileBase file = context.Request.Files["Filedata"];
                if (file != null && !string.IsNullOrEmpty(toSaveDirectory) && suggestionID > 0)
                {
                    string serverUrl = context.Server.MapPath("~" + toSaveDirectory + "/" + suggestionID + "/");//сохраняем рисунки с измен размерами

                    if (isPropImages > 0)
                    {
                        if (propertyValue == "")
                        {
                            serverUrl = context.Server.MapPath("~" + toSaveDirectory + "/" + suggestionID + "/property/" + propertyName + "/");
                        }
                        else
                        {
                            serverUrl = context.Server.MapPath("~" + toSaveDirectory + "/" + suggestionID + "/property/" + propertyName + "/" + propertyValue + "/");
                        }
                    }

                    if (Directory.Exists(serverUrl))
                    {
                        Files.DeleteDirectoryFiles(serverUrl);
                    }
                    else
                    {
                        Directory.CreateDirectory(serverUrl);
                    }

                    var fileGuid     = Guid.NewGuid();      //
                    var fileGuidName = fileGuid.ToString() + Path.GetExtension(file.FileName);

                    //------------преобразование размера---------------------------------------------------------
                    Image bmp         = Bitmap.FromStream(file.InputStream);
                    Image bmp_resized = Img.ResizeImage(bmp, new SizeF(1024, 1024));     //преобразовали к размеру 1024*...
                    bmp_resized.Save(serverUrl + fileGuidName);                          //сохранили в папке

                    Image  bmp_resized_mini = Img.ResizeImage(bmp, new SizeF(300, 300)); //получаем миниатюру 300*...
                    string fileNameMini     = Path.GetFileNameWithoutExtension(fileGuidName) + "_mini";
                    fileNameMini = fileNameMini + Path.GetExtension(fileGuidName);
                    bmp_resized_mini.Save(serverUrl + fileNameMini);

                    // Сохраняем в базу путь к картинке
                    art.EditItemField(suggestionID, "imgPath", toSaveDirectory + "/" + suggestionID + "/" + fileNameMini);
                    res = true;
                }
            }
            catch (Exception ex)
            {
                res = false;
            }
            return(Json(new
            {
                result = res,
                msg = ""
            }, JsonRequestBehavior.AllowGet));
        }