示例#1
0
        public string GetImages(string editorID, long viewStamp, int startIndex, int totalDataSize)
        {
            try
            {
                AllowAccess();
                ImagesDTO dto = new ImagesDTO();

                if (CheckArguments(editorID, viewStamp, dto))
                {
                    lock (Editor.SchemeView.SyncRoot)
                    {
                        dto.CopyImages(Editor.SchemeView.SchemeDoc.Images.Values, startIndex, totalDataSize);
                    }
                }

                return(JsSerializer.Serialize(dto));
            }
            catch (Exception ex)
            {
                AppData.Log.WriteException(ex, Localization.UseRussian ?
                                           "Ошибка при получении изображений схемы" :
                                           "Error getting scheme images");
                return(JsSerializer.GetErrorJson(ex));
            }
        }
示例#2
0
        public string GetImages(int viewID, long viewStamp, int startIndex, int totalDataSize)
        {
            try
            {
                UserRights userRights;
                AppData.CheckLoggedOn(out userRights);

                SchemeView schemeView = GetSchemeView(viewID, userRights);
                ImagesDTO  dto        = new ImagesDTO();
                dto.ViewStamp = schemeView.Stamp;

                if (SchemeUtils.ViewStampsMatched(viewStamp, schemeView.Stamp))
                {
                    dto.CopyImages(schemeView.SchemeDoc.Images.Values, startIndex, totalDataSize);
                }

                return(JsSerializer.Serialize(dto));
            }
            catch (Exception ex)
            {
                AppData.Log.WriteException(ex, Localization.UseRussian ?
                                           "Ошибка при получении изображений схемы с ид.={0}" :
                                           "Error getting images of the scheme with ID={0}", viewID);
                return(GetErrorDtoJs(ex));
            }
        }
示例#3
0
        public string GetImages(int viewID, long viewStamp, int startIndex, int totalDataSize)
        {
            try
            {
                UserRights userRights;
                AppData.CheckLoggedOn(out userRights);

                SchemeView schemeView = GetSchemeView(viewID, userRights);
                ImagesDTO  dto        = new ImagesDTO();
                dto.ViewStamp = schemeView.Stamp;

                if (viewStamp == 0 || viewStamp == dto.ViewStamp)
                {
                    Dictionary <string, SchemeView.Image> .ValueCollection images = schemeView.ImageDict.Values;
                    int i    = 0;
                    int size = 0;

                    foreach (SchemeView.Image image in images)
                    {
                        if (i >= startIndex)
                        {
                            dto.Images.Add(new Image(image));
                            if (image.Data != null)
                            {
                                size += image.Data.Length;
                            }
                        }

                        if (size >= totalDataSize)
                        {
                            break;
                        }

                        i++;
                    }

                    dto.EndOfImages = i == images.Count;
                }

                return(JsSerializer.Serialize(dto));
            }
            catch (Exception ex)
            {
                AppData.Log.WriteException(ex, Localization.UseRussian ?
                                           "Ошибка при получении изображений схемы с ид.={0}" :
                                           "Error getting the images of the scheme with ID={0}", viewID);
                return(GetErrorDtoJs(ex));
            }
        }