// 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")); } }
/// <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); } }
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); } }