Example #1
0
 public static GeometryDTO GeometryVersionToGeometryDTO(this GeometryVersion geometry)
 {
     return(new GeometryDTO()
     {
         Geometry = geometry.Geometry,
         Original = geometry.Original,
         Direction = geometry.Direction
     });
 }
Example #2
0
 public RoadSegmentSurfaceAttribute(
     AttributeId id,
     AttributeId temporaryId,
     RoadSegmentSurfaceType type,
     RoadSegmentPosition from,
     RoadSegmentPosition to,
     GeometryVersion asOfGeometryVersion
     ) : base(id, temporaryId, from, to, asOfGeometryVersion)
 {
     Type = type;
 }
Example #3
0
 public RoadSegmentWidthAttribute(
     AttributeId id,
     AttributeId temporaryId,
     RoadSegmentWidth width,
     RoadSegmentPosition from,
     RoadSegmentPosition to,
     GeometryVersion asOfGeometryVersion
     ) : base(id, temporaryId, from, to, asOfGeometryVersion)
 {
     Width = width;
 }
 public RoadSegmentLaneAttribute(
     AttributeId id,
     AttributeId temporaryId,
     RoadSegmentLaneCount count,
     RoadSegmentLaneDirection direction,
     RoadSegmentPosition from,
     RoadSegmentPosition to,
     GeometryVersion asOfGeometryVersion
     ) : base(id, temporaryId, from, to, asOfGeometryVersion)
 {
     Count     = count;
     Direction = direction;
 }
        /// <summary>
        /// Create new geometry to do perform geometry be edited below local and push to server.
        /// </summary>
        /// <param name="elementGetDTO"></param>
        /// <param name="repository"></param>
        public static void CreateNewGeometryVersion(ElementGetDTO elementGetDTO, IRepositoryWrapper repository)
        {
            // Tao geometry

            GeometryVersion geometryVersion = new GeometryVersion()
            {
                Id          = Guid.NewGuid(),
                IdManager   = elementGetDTO.IdManager,
                Geometry    = elementGetDTO.Geometry.Geometry,
                Direction   = elementGetDTO.Geometry.Direction,
                Original    = elementGetDTO.Geometry.Original,
                Version     = string.Empty,
                CreatedDate = DateTime.Now,
                Status      = string.Empty,
                //IdUserEdited = Guid.Empty
            };

            repository.GeometryVersion.Add(geometryVersion);
        }
Example #6
0
        protected DynamicRoadSegmentAttribute(
            AttributeId id,
            AttributeId temporaryId,
            RoadSegmentPosition from,
            RoadSegmentPosition to,
            GeometryVersion asOfGeometryVersion
            )
        {
            if (from >= to)
            {
                throw new ArgumentException(nameof(From),
                                            $"The from position ({from.ToDecimal()}) must be less than the to position ({to.ToDecimal()}).");
            }

            Id                  = id;
            TemporaryId         = temporaryId;
            From                = from;
            To                  = to;
            AsOfGeometryVersion = asOfGeometryVersion;
        }
        /// <summary>
        /// Use when one element be created on local and push it to server
        /// Create manager
        /// Create Element with idManager is id of manager just create above, idRevit is id of revit element below local
        /// Create geometry with idManager is id of manager just create above
        /// </summary>
        /// <param name="elementGetDTO"></param>
        /// <param name="repository"></param>
        /// <param name="idDrawing"></param>
        public static void CreateElement(ElementGetDTO elementGetDTO, IRepositoryWrapper repository, Guid idDrawing)
        {
            // can tao manager truoc
            ElementManagement elementManagement = new ElementManagement()
            {
                Id          = Guid.NewGuid(),
                CreatedDate = DateTime.Now,
                Status      = Define.NORMAL
            };

            // Tao geometry

            GeometryVersion geometryVersion = new GeometryVersion()
            {
                Id          = Guid.NewGuid(),
                IdManager   = elementManagement.Id,
                Geometry    = elementGetDTO.Geometry.Geometry,
                Direction   = elementGetDTO.Geometry.Direction,
                Original    = elementGetDTO.Geometry.Original,
                Version     = string.Empty,
                CreatedDate = elementManagement.CreatedDate,
                Status      = string.Empty,
                //IdUserEdited = Guid.Empty
            };

            // Tao Element

            Element element = new Element()
            {
                Id             = Guid.NewGuid(),
                IdManager      = elementManagement.Id,
                IdDrawing      = idDrawing,
                IdRevitElement = elementGetDTO.IdRevitElement,
                Status         = Define.NORMAL
            };

            repository.ElementManagement.Add(elementManagement);
            repository.Element.Add(element);
            repository.GeometryVersion.Add(geometryVersion);
        }