コード例 #1
0
        // GET: Variant/Details/2
        public ActionResult Details(int id)
        {
            UpdateVariant ViewModel = new UpdateVariant();

            string url = "variantdata/findvariant/" + id;
            HttpResponseMessage response = client.GetAsync(url).Result;


            if (response.IsSuccessStatusCode)
            {
                //Variant goes in Data Transfer Object
                VariantDto SelectedVariant = response.Content.ReadAsAsync <VariantDto>().Result;
                ViewModel.variant = SelectedVariant;

                //Find countries with this variant
                url      = "variantdata/getcountriesforvariant/" + id;
                response = client.GetAsync(url).Result;

                //Put data into Variant data transfer object
                IEnumerable <CountryDto> SelectedCountries = response.Content.ReadAsAsync <IEnumerable <CountryDto> >().Result;
                ViewModel.variantcountries = SelectedCountries;

                return(View(ViewModel));
            }
            else
            {
                return(RedirectToAction("Error"));
            }
        }
コード例 #2
0
        /// <summary>
        /// Построение "базового" простого варианта ЕСКД примитива
        /// Тот вид, который висит на мышке при создании и указании точки вставки
        /// </summary>
        private void MakeSimplyEntity(UpdateVariant variant, double scale)
        {
            List <double> bulges;

            if (variant == UpdateVariant.SetInsertionPoint)
            {
                /* Изменение базовых примитивов в момент указания второй точки при условии второй точки нет
                 * Примерно аналогично созданию, только точки не создаются, а меняются
                 */
                var tmpEndPoint = new Point3d(
                    InsertionPointOCS.X + (MinDistanceBetweenPoints * scale), InsertionPointOCS.Y, InsertionPointOCS.Z);

                var pts = PointsToCreatePolyline(scale, InsertionPointOCS, tmpEndPoint, out bulges);
                FillMainPolylineWithPoints(pts, bulges);
            }
            else if (variant == UpdateVariant.SetEndPointMinLength) //// изменение вершин полилинии
            {
                /* Изменение базовых примитивов в момент указания второй точки
                 * при условии что расстояние от второй точки до первой больше минимального допустимого
                 */
                var tmpEndPoint = ModPlus.Helpers.GeometryHelpers.Point3dAtDirection(
                    InsertionPoint, EndPoint, InsertionPointOCS, MinDistanceBetweenPoints * scale);
                var pts = PointsToCreatePolyline(scale, InsertionPointOCS, tmpEndPoint, out bulges);
                FillMainPolylineWithPoints(pts, bulges);
                EndPoint = tmpEndPoint.TransformBy(BlockTransform);
            }
        }
コード例 #3
0
 private void MakeSimplyEntity(UpdateVariant variant, double scale)
 {
     if (variant == UpdateVariant.SetInsertionPoint)
     {
         /* Изменение базовых примитивов в момент указания второй точки при условии второй точки нет
          * Примерно аналогично созданию, только точки не создаются, а меняются
          */
         var tmpEndPoint = new Point3d(
             InsertionPointOCS.X + (MinDistanceBetweenPoints * scale), InsertionPointOCS.Y, InsertionPointOCS.Z);
         CreateEntities(InsertionPointOCS, MiddlePointsOCS, tmpEndPoint, scale);
     }
     else if (variant == UpdateVariant.SetEndPointMinLength)
     {
         /* Изменение базовых примитивов в момент указания второй точки
          * при условии что расстояние от второй точки до первой больше минимального допустимого
          */
         var tmpEndPoint = ModPlus.Helpers.GeometryHelpers.Point3dAtDirection(
             InsertionPoint, EndPoint, InsertionPointOCS, MinDistanceBetweenPoints * scale);
         CreateEntities(InsertionPointOCS, MiddlePointsOCS, tmpEndPoint, scale);
         EndPoint = tmpEndPoint.TransformBy(BlockTransform);
     }
 }