Example #1
0
 /// <summary>
 /// Загрузка изображения.
 /// </summary>
 /// <param name="sign">Идентификатор сущности.</param>
 public void LoadImage(EntitySign sign)
 {
     using (var ec = new EntityController())
     {
         var parentLocation = ec.GetParentLocation(sign);
         if (parentLocation.GetSign() == ((EntitySign)Tag))// В теге хранится текущий идентификатор помещения на плане.
         {
             return;
         }
         Tag = parentLocation.GetSign();
         var byteImage = parentLocation.Plan;
         Controls.Clear();
         this.SuspendDrawing();
         if (byteImage == null)
         {
             Image = null;
         }
         else
         {
             Image = Image.FromStream(new MemoryStream(byteImage));
             ResizeRelativePosition();
             var drawEquipment = ec.GetDrawEquipment(parentLocation);
             var sizeIcons     = GetSizeIcons();
             foreach (var eq in drawEquipment)
             {
                 new IconOnPlan(this, eq.GetSign(), sizeIcons, eq.Point, IconsGetter.GetIconImage(eq.GetType()), eq.ToString());
             }
         }
         this.ResumeDrawing();
     }
 }
Example #2
0
        /// <summary>
        /// Добавить новую иконку на план при перетаскивании.
        /// </summary>
        /// <param name="e"></param>
        /// <param name="sign">Идентификатор сущности.</param>
        /// <returns></returns>
        private IconOnPlan AddNewIcon(DragEventArgs e, EntitySign sign)
        {
            IconOnPlan icon;
            string     textIcon;

            using (var ec = new EntityController())
            {
                var entity = ec.GetEntity(sign) as Equipment;
                textIcon = entity.ToString();
            }
            this.SuspendDrawing();
            icon = new IconOnPlan(this, sign, GetSizeIcons(), new ScalePoint(new Point(e.X, e.Y), this), IconsGetter.GetIconImage(sign.Type), textIcon);
            this.ResumeDrawing();
            return(icon);
        }