/// <summary> /// Reads template data from given XML /// </summary> /// <param name="xmlAccess">object providing access to an XML file</param> public bool ReadFromXML(IXMLAccess xmlAccess) { Parts.Clear(); try { XElement xmlData = xmlAccess.ReadXMLData(); Name = xmlData.Attribute(Constants.TemplateXML_Name).Value; FilePattern = xmlData.Attribute(Constants.TemplateXML_FilePattern)?.Value ?? ""; XElement xmlDataConverters = xmlData.Element(Constants.TemplateXML_Converters); if (xmlDataConverters != null) { foreach (XElement elementConverter in xmlDataConverters.Elements()) { ParseConverter(elementConverter); } } XElement xmlDataTemplate = xmlData.Element(Constants.TemplateXML_Template); foreach (XElement element in xmlDataTemplate.Elements()) { ParsePart(element, Parts); } return(true); } catch (Exception) { return(false); } }
/// <summary> /// Reading text with text template /// Lines starting with ## are comments /// Lines starting with # are program /// Other lines are printed to output /// </summary> /// <param name="text"></param> public void readTextTemplate(String text) { Parts.Clear(); Parent = this; StringReader sr = new StringReader(text); String line = null; GSList currentList = this; while ((line = sr.ReadLine()) != null) { if (line.StartsWith("#")) { readTextListLine(line.Substring(1), ref currentList); } else { GSList list = currentList.createAndAddSublist(); list.Add(new GSToken() { Token = "println" }); list.Add(new GSString() { Value = line }); } } }
/// <summary> /// Cancels this transaction. The transaction will be invalid after this is called. /// </summary> public void Cancel() { AssertNotCommitted(); IsCommitted = true; Parts.Clear(); Control.Cancel(this); }
public override void Create() { Parts.Clear(); // Part1 if (GetPart1Dependencies() != null) { var part1 = Factory.CreateSegment(Drawing, GetPart1Dependencies()); if (part1 != null) { Parts.Add(part1); } } // Cross Part if (GetCrossPartDependencies() != null) { var crossPart = Factory.CreateCircle(Drawing, GetCrossPartDependencies()); Parts.Add(crossPart); } Dependencies.Clear(); Children.Clear(); if (Parts != null) { foreach (IFigure f in Parts) { Children.Add(f); foreach (IPoint p in f.Dependencies) { Dependencies.Add(p); } } } }
private void FileListHandler() { try { Search.changeDirectory += UpdateProgressText; // Very slow method for (int i = 0; i < listOfStatement.CheckedItems.Count; i++) { //Search, sort and add files to the list string fileNameFromTable = listOfStatement.CheckedItems[i].ToString() + ".*.*"; Search.TraverseTree(adressFieldIn.Text, fileNameFromTable); BeginInvoke(new progressBarDelegate(UpdateProgressBar), i, listOfStatement.CheckedItems.Count); } } catch (ThreadAbortException e) { Console.WriteLine(e.Message); Thread.ResetAbort(); } BeginInvoke(new fillListOfFoundedFile(FillListOfFoundedFiles)); if (Parts != null) { if (copyOnlyLastVersionsChk.Checked) { //Сreate hidden temporary folder DirectoryInfo tDir = System.IO.Directory.CreateDirectory(adressFieldOut.Text + @"\Temp"); tDir.Attributes = FileAttributes.Directory | FileAttributes.Hidden; TempFolder = adressFieldOut.Text + @"\Temp"; //Copy temporary files CopyFiles(Parts, TempFolder); //Erase previous list of files Parts.Clear(); try { for (int i = 0; i < listOfStatement.CheckedItems.Count; i++) { //Search, sort and add files to the list string fileNameFromTable = listOfStatement.CheckedItems[i].ToString() + ".*.*"; Search.TraverseTree(TempFolder, fileNameFromTable); BeginInvoke(new progressBarDelegate(UpdateProgressBar), i, listOfStatement.CheckedItems.Count); } } catch (ThreadAbortException e) { Console.WriteLine(e.Message); Thread.ResetAbort(); } CopyFiles(Parts, adressFieldOut.Text); // Delete temp folder Directory.Delete(TempFolder, true); } else { CopyFiles(Parts, adressFieldOut.Text); } } searchThread.Abort(); }
internal bool HandlePart(Packet packet, out byte[] data) { data = null; byte code = packet.Data[0]; byte[] ToStore = new byte[packet.Data.Length - 1]; Array.Copy(packet.Data, 1, ToStore, 0, ToStore.Length); Parts.Add(ToStore); if (code == 0xFC) { return(false); } else { byte[][] Matrix = Parts.ToArray(); Parts.Clear(); byte[] result = new byte[Matrix.Sum(a => a.Length)]; int offset = 0; foreach (byte[] array in Matrix) { Buffer.BlockCopy(array, 0, result, offset, array.Length); offset += array.Length; } data = result; return(true); } }
public void Build(Measurements measurements) { Vector2 start = new Vector2(0, 0); Parts.Clear(); OnProgressStateChanged("Building Hood"); HoodPart hood = new HoodPart(start, measurements); Parts.Add(hood); if (measurements.GarmentHoodInsertWidth > 0) { Parts.Add(new HoodInsertPart(start, hood.HoodPathLengthForCutout, measurements)); } OnProgressStateChanged("Building Sleeve"); SleevePart sleeve = new SleevePart(start, measurements); Parts.Add(sleeve); OnProgressStateChanged("Building Front Bodice"); FrontBodicePart partFront = new FrontBodicePart(start, hood.HoodNeckFrontLength, sleeve.FrontArmBezierLength, measurements); Parts.Add(partFront); OnProgressStateChanged("Building Back Bodice"); BackBodicePart partBack = new BackBodicePart(start, hood.HoodNeckBackLength, sleeve.BackArmBezierLength, measurements); Parts.Add(partBack); OnProgressStateChanged("Building Measurements Panel"); MeasurementsPart measurementsPart = new MeasurementsPart(start, measurements); Parts.Add(measurementsPart); }
protected virtual void Dispose(bool disposing) { if (_disposed) { return; } if (disposing) { Name = string.Empty; Parts?.Clear(); UnderlyingPackage.Close(); try { File.Delete(_tempFileName); } catch (IOException ex) { Debug.Fail(ex.Message); } } _disposed = true; }
/// <summary> /// Commits this transaction. /// </summary> /// <returns>The result.</returns> public PipelineTransactionResult Commit() { AssertNotCommitted(); IsCommitted = true; var result = Control.Commit(this, Parts); Parts.Clear(); return(result); }
/// <summary> /// Clear all child nodes and attributes from this node. /// </summary> public override void Clear() { Type = ""; Situation = ""; Parts.Clear(); Flags.Clear(); ResourceTypes.Clear(); RootPart = null; rootPartIndex = 0; base.Clear(); }
private void StartCopyBtn_Click(object sender, EventArgs e) { //Clear list of parts Parts.Clear(); searchThread = new Thread(new ThreadStart(FileListHandler)); searchThread.Start(); listOfFoundedFiles.Items.Clear(); btnStartCopy.Enabled = false; btnStartCopy.Text = "Идет поиск"; }
async Task ReloadData(bool isSilent = false) { IsRefreshing = !isSilent; IsLoading = true; var parts = await partsApiService.GetPartsAsync(); Parts.Clear(); Parts.AddRange(parts); IsRefreshing = false; IsLoading = false; }
public void Initialize() { int geneSize = _settings.InitialPopulation.Count; // number of all items to be combined Parts.Clear(); // for re-initialisation when there is already a gene that's the same for (int i = 0; i < geneSize; i++) { Parts.Add(new GenePart <TCombinationModel> { Model = _settings.InitialPopulation[i], Active = GAUtils.RandDouble() > 0.5 }); } }
public void AddOrder(ObservableCollection <Part> parts) { using (PartShopDbContext db = new PartShopDbContext()) { try { if (Card.Balance < Summary) { throw new Exception("Недостаточно средств на счете"); } else if (selectedDelivery == null) { throw new Exception("Должна быть выбрана доставка"); } Order order = new Order(); order.OrderDate = DateTime.Now; order.OrderState = Resources.waiting; List <OrderedParts> details = new List <OrderedParts>(); foreach (Part i in Parts) { if (i.Amount > db.Parts.Where(x => x.PartId == i.PartId).FirstOrDefault().Quantity) { throw new Exception($"Товаров {i.Name} недостаточно на складе для заказа"); } details.Add(new OrderedParts() { OrderId = order.OrderId, PartId = i.PartId, Amount = i.Amount }); db.Parts.Where(x => x.PartId == i.PartId).FirstOrDefault().Quantity -= i.Amount; } order.Parts = details; order.UserId = Settings.Default.UserId; order.DeliveryId = selectedDelivery.DeliveryId; db.Orders.Add(order); Card.Balance -= Summary; Parts.Clear(); Summary = 0; db.SaveChanges(); ConfirmOrderViewModel.orderId = order.OrderId; Singleton.getInstance(null).MainViewModel.CurrentViewModel = new ConfirmOrderViewModel(); } catch (Exception e) { ErrorMessage = e.Message; } } }
public void GetParts() { CurrentPartSuppliers.Clear(); Parts.Clear(); //Define Query against Inventory Locations to return Parts that match with Inventory Locations //Using AddQueryOption here to enforce the projection across entities. We chose to maintain the REST entity types and not create a custom type (to support anonymous)this also helps to facilitate the databinding to between the View and ViewModel and simplifies updating. var inventoryLocationsQuery = (DataServiceQuery <InventoryLocationsItem>)context.InventoryLocations.Expand("Part").AddQueryOption("$select", "BinNumber,Quantity,Title,Id,PartId, Part/SKU,Part/Title,Part/Id").Where(p => p.Part.SKU.StartsWith(SearchSku)).OrderBy(p => p.Part.SKU); //Define Query against Parts to return Parts that match regardless of Inventory Locations var partsQuery = (DataServiceQuery <PartsItem>)context.Parts.Where(p => p.SKU.StartsWith(SearchSku)).Select(p => new PartsItem { Title = p.Title, SKU = p.SKU, Id = p.Id, Description = p.Description }); //Execute Query as a Batch context.BeginExecuteBatch(DisplayParts, context, inventoryLocationsQuery, partsQuery); }
public void Dispose() { if (DefaultVertexBuffer?.DisposalLevel == ItemDisposalLevel.ModelMesh) { DefaultVertexBuffer.Dispose(); } DefaultVertexBuffer = null; if (IndexBuffer?.DisposalLevel == ItemDisposalLevel.ModelMesh) { IndexBuffer.Dispose(); } IndexBuffer = null; foreach (ModelMeshPart part in Parts) { part.Dispose(); } Parts.Clear(); }
private void DeleteAllParts() { //须判断是否放置在料盘中 foreach (var part in Parts) { if (part.Placed) { MessageBox.Show("有未卸载零件,无法清除", "警告", MessageBoxButton.OK, MessageBoxImage.Exclamation, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly); return; } } Parts.Clear(); if (SelectParts != null) { SelectParts.Clear(); } CategoriesRefresh(); PartsFileRepository.UpdateParts(Parts); }
private void PopulateParts() { Parts.Clear(); foreach (var entry in _billOfMaterials.SMDEntries) { if (!Parts.Where(prt => prt.PackageName == entry.Package.Name && prt.LibraryName == entry.Package.LibraryName && prt.Value == entry.Value).Any()) { Parts.Add(new Part() { Count = entry.Components.Count, LibraryName = entry.Package.LibraryName, PackageName = entry.Package.Name, Value = entry.Value }); } } }
async Task ReloadData(bool isSilent = false) { IsRefreshing = !isSilent; IsLoading = true; try { var parts = await partsApiService.GetPartsAsync(); Parts.Clear(); Parts.AddRange(parts); } catch { await CoreMethods.DisplayAlert("Error", "An error occured while communicating with the backend. Please double-check your settings and try again.", "Ok"); } IsRefreshing = false; IsLoading = false; }
public void GetParts() { Parts.Clear(); CurrentPart = null; //Define Query var query = (DataServiceQuery <PartsItem>) context.Parts .Where(p => p.SKU.StartsWith(SearchSku)) .Select(p => new PartsItem { Title = p.Title, SKU = p.SKU, Id = p.Id, Description = p.Description }); //Execute Query query.BeginExecute(DisplayParts, query); }
public void GetParts() { Parts.Clear(); ListsSoapClient proxy = GetListServiceProxy(); proxy.GetListItemsCompleted += proxy_GetPartsListItemsCompleted; var query = XElement.Parse(@"<Query> <Where> <BeginsWith> <FieldRef Name='SKU' /> <Value Type='Text'>" + SearchSku + @"</Value> </BeginsWith> </Where> </Query>"); var queryOptions = XElement.Parse(@"<QueryOptions></QueryOptions>"); var viewFields = XElement.Parse(@"<ViewFields></ViewFields>"); proxy.GetListItemsAsync("Parts", null, query, viewFields, null, queryOptions, null); }
private void Dispose(Boolean disposing) { if (!Disposed) { if (disposing) { foreach (var partkv in Parts) { partkv.Value.PartStream?.Dispose(); } Parts.Clear(); Entries.Clear(); } Reader.Dispose(); Reader.Close(); // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below. // TODO: set large fields to null. Disposed = true; } }
public void Load(string path) { if (!File.Exists(path)) { return; } Parts.Clear(); using (var br = new BinaryReader(File.Open(path, FileMode.Open))) { AABB = RectangleAABB.FromStream(br); Scale = Vector2Ex.FromStream(br); Center = Vector2Ex.FromStream(br); MorphScale = br.ReadSingle(); var cnt = br.ReadInt32(); for (var i = 0; i < cnt; i++) { Parts.Add(RenderMeshPart.FromStream(br)); } } }
public override void ReCreate() { if (Parts != null) { foreach (IFigure part in Parts) { part.OnRemovingFromCanvas(Drawing.Canvas); } Parts.Clear(); } Create(); foreach (IFigure part in Parts) { part.OnAddingToCanvas(Drawing.Canvas); foreach (IPoint p in part.Dependencies) { Dependencies.Add(p); } } UpdateVisual(); }
public override void Create() { Parts.Clear(); Dependencies.Clear(); Children.Clear(); switch (BarStyle) { case Reinforcement.BarStyle.SingleLine: // Part1 // Chú ý khi gọi phương thức GetPart1Dependencies() // ứng với trường hợp Transform = Rotate180, Rotate90CCW, Rotate90CW // Thì góc Rotate đã bị thay đổi 1 lần // Do đó trong phương thức GetPart1Dependencies() // khi thay đổi góc Rotate chỉ thay đổi 1/2 là đủ if (GetPart1Dependencies() != null) { var part1 = Factory.CreateSegment(Drawing, GetPart1Dependencies()); part1.Style = base.Style; Parts.Add(part1); } // Part2 if (GetPart2Dependencies() != null) { if (ViewDirection != Reinforcement.ViewDirection.Left) { var part2 = Factory.CreateArc(Drawing, GetPart2Dependencies()); part2.Clockwise = ArcPartClockWise; part2.Style = base.Style; Parts.Add(part2); } else { var part2 = Factory.CreateSegment(Drawing, GetPart2Dependencies()); part2.Style = base.Style; Parts.Add(part2); } } // Part3 if (GetPart3Dependencies() != null) { var part3 = Factory.CreateSegment(Drawing, GetPart3Dependencies()); part3.Style = base.Style; Parts.Add(part3); } // Cross Part if (GetCrossPartDependencies() != null) { var crossPart = Factory.CreateCircle(Drawing, GetCrossPartDependencies()); crossPart.Style = base.Style; Parts.Add(crossPart); } if (Parts != null) { foreach (IFigure f in Parts) { Children.Add(f); foreach (IPoint p in f.Dependencies) { Dependencies.Add(p); DependencyPoints.Add(p.Coordinates); } } } break; case Reinforcement.BarStyle.BoundLine: break; case Reinforcement.BarStyle.FilledLine: break; } }
public void Clear() { Parts.Clear(); }
/// <summary> /// Generates the datas. /// </summary> public override void GenerateDatas() { LowPoints.Clear(); HighPoints.Clear(); OpenPoints.Clear(); ClosePoints.Clear(); if (!IsPointsGenerated) { Parts.Clear(); } if (this.Points != null && this.SeriesContainer != null) { CalculateMinAndMax(); OpenOffPoints = new PointCollection(); CloseOffPoints = new PointCollection(); ChartPoint oldPoint = new ChartPoint() { XValue = double.MinValue, YValue = double.MinValue }; IntializePoints(); int index = 0; Point startAndEndPoint = CalculateSeriesInfo(); foreach (ChartPoint point in this.Points) { if (CheckValuePoint(oldPoint, point)) { Point highPoint = NormalizePoint(new Point(point.XValue, point.YValue)); Point lowPoint = NormalizePoint(new Point(lowPoints[index].XValue, lowPoints[index].YValue)); Point openPoint = NormalizePoint(new Point(openPoints[index].XValue, openPoints[index].YValue)); Point closePoint = NormalizePoint(new Point(closePoints[index].XValue, closePoints[index].YValue)); Point openOffPoint = NormalizePoint(new Point(openPoints[index].XValue + startAndEndPoint.X, openPoints[index].YValue)); Point closeOffPoint = NormalizePoint(new Point(closePoints[index].XValue - startAndEndPoint.X, closePoints[index].YValue)); HighPoints.Add(highPoint); LowPoints.Add(lowPoint); OpenPoints.Add(openPoint); ClosePoints.Add(closePoint); OpenOffPoints.Add(openOffPoint); CloseOffPoints.Add(closeOffPoint); oldPoint = point; } index++; } if (this.RenderingMode == RenderingMode.Default) { if (!IsPointsGenerated) { for (int i = 0; i < this.HighPoints.Count; i++) { HiLoOpenClosePart hiLoOpenClosePart = new HiLoOpenClosePart(this.HighPoints[i], this.LowPoints[i], this.ClosePoints[i], this.CloseOffPoints[i], this.OpenPoints[i], this.OpenOffPoints[i]); if (this.openPoints[i].YValue <= this.closePoints[i].YValue) { hiLoOpenClosePart.IsBearfill = true; } else { hiLoOpenClosePart.IsBearfill = false; } SetBindingForStrokeandStrokeThickness(hiLoOpenClosePart); this.Parts.Add(hiLoOpenClosePart); } IsPointsGenerated = true; } else { int i = 0; foreach (HiLoOpenClosePart part in this.Parts) { part.Point1 = this.HighPoints[i]; part.Point2 = this.LowPoints[i]; part.Point3 = this.ClosePoints[i]; part.Point4 = this.CloseOffPoints[i]; part.Point5 = this.OpenPoints[i]; part.Point6 = this.OpenOffPoints[i]; part.Refresh(); i++; } } } } else { Parts.Clear(); } if (this.SeriesContainer != null) { this.SeriesContainer.Invalidate(); } IsRefreshed = false; }
/// <summary> /// Generates the datas. /// </summary> override public void GenerateDatas() { CalculateMinAndMax(); ChartPoint oldPoint = new ChartPoint() { XValue = double.MinValue, YValue = double.MinValue }; IntializePoints(); SplinePoints.Clear(); if (!IsPointsGenerated) { Parts.Clear(); } if (this.Points != null && this.SeriesContainer != null) { CalculateMinAndMax(); foreach (ChartPoint point in this.Points) { if (CheckValuePoint(oldPoint, point)) { Point linePoint = NormalizePoint(new Point(point.XValue, point.YValue)); this.SplinePoints.Add(linePoint); } } if (this.SplinePoints.Count > 1) { BezierSpline.GetCurveControlPoints(this.SplinePoints.ToArray(), out FirstControlPoints, out SecondControlPoints); } if (this.RenderingMode == RenderingMode.Default) { if (!IsPointsGenerated) { for (int i = 0; i < this.SplinePoints.Count - 1; i++) { SplinePart splinePart = new SplinePart(SplinePoints[i], FirstControlPoints[i], SecondControlPoints[i], SplinePoints[i + 1]); SetBindingForStrokeandStrokeThickness(splinePart); this.Parts.Add(splinePart); } IsPointsGenerated = true; } else { int i = 0; foreach (SplinePart part in this.Parts) { part.StartPoint = SplinePoints[i]; part.FirstControlPoint = FirstControlPoints[i]; part.EndControlPoint = SecondControlPoints[i]; part.EndPoint = SplinePoints[i + 1]; part.Refresh(); i++; } } } } else { Parts.Clear(); } if (this.SeriesContainer != null) { this.SeriesContainer.Invalidate(); } IsRefreshed = false; }
/// <summary> /// Generates the datas. /// </summary> override public void GenerateDatas() { if (Points != null && SeriesContainer != null) { PiePoints = new PointCollection(); var centerPoint = (SeriesContainer.Collection.ActualHeight <= SeriesContainer.Collection.ActualWidth) ? new Point(SeriesContainer.Collection.ActualHeight / 2, SeriesContainer.Collection.ActualHeight / 2) : new Point(SeriesContainer.Collection.ActualWidth / 2, SeriesContainer.Collection.ActualWidth / 2); PiePoints.Add(centerPoint); if (PointsSource == null && Points.Count > 0) { TotalYValues = Points.Sum(point => point.YValue); } if (!IsPointsGenerated) { Parts.Clear(); } double rad = (SeriesContainer.Collection.ActualHeight <= SeriesContainer.Collection.ActualWidth) ? SeriesContainer.Collection.ActualHeight : SeriesContainer.Collection.ActualWidth; double width = SeriesContainer.Collection.ActualWidth; double height = SeriesContainer.Collection.ActualHeight; if (RenderingMode == RenderingMode.Default) { var angle = -Math.PI / 2; if (!IsPointsGenerated) { foreach (var point in Points) { var path = new Path(); Geometry geometry = new PathGeometry(); var x = Math.Cos(angle) * rad / 2 + rad / 2; var y = Math.Sin(angle) * rad / 2 + rad / 2; var lingeSeg = new LineSegment(new Point(x, y), true); double angleShare = (point.YValue / TotalYValues) * 360; angle += DegreeToRadian(angleShare); x = Math.Cos(angle) * rad / 2 + rad / 2; y = Math.Sin(angle) * rad / 2 + rad / 2; var arcSeg = new ArcSegment(new Point(x, y), new Size(rad / 2, rad / 2), angleShare, angleShare > 180, SweepDirection.Clockwise, false); var lingeSeg2 = new LineSegment(new Point(rad / 2, rad / 2), true); var fig = new PathFigure(new Point(rad / 2, rad / 2), new PathSegment[] { lingeSeg, arcSeg, lingeSeg2 }, false); ((PathGeometry)geometry).Figures.Add(fig); var brush = Brushes[Points.IndexOf(point) % (Brushes.Count)]; path.Data = geometry; Parts.Add(new PiePart(path) { Stroke = brush }); } IsPointsGenerated = true; } else { foreach (var point in Points) { Geometry geometry = new PathGeometry(); var x = Math.Cos(angle) * rad / 2 + rad / 2; var y = Math.Sin(angle) * rad / 2 + rad / 2; var lingeSeg = new LineSegment(new Point(x, y), true); double angleShare = (point.YValue / TotalYValues) * 360; angle += DegreeToRadian(angleShare); x = Math.Cos(angle) * rad / 2 + rad / 2; y = Math.Sin(angle) * rad / 2 + rad / 2; var arcSeg = new ArcSegment(new Point(x, y), new Size(rad / 2, rad / 2), angleShare, angleShare > 180, SweepDirection.Clockwise, false); var lingeSeg2 = new LineSegment(new Point(rad / 2, rad / 2), true); var fig = new PathFigure(new Point(rad / 2, rad / 2), new PathSegment[] { lingeSeg, arcSeg, lingeSeg2 }, false); ((PathGeometry)geometry).Figures.Add(fig); ((Parts[Points.IndexOf(point)] as PiePart).Slice as Path).Data = geometry; } } } } else { Parts.Clear(); } if (this.SeriesContainer != null) { this.SeriesContainer.Invalidate(); } IsRefreshed = false; }
/// <summary> /// Generates the datas. /// </summary> public override void GenerateDatas() { LowPoints.Clear(); HighPoints.Clear(); OpenPoints.Clear(); ClosePoints.Clear(); //if (!IsPointsGenerated) Parts.Clear(); if (this.Points != null && this.SeriesContainer != null) { CalculateMinAndMax(); OpenOffPoints = new PointCollection(); CloseOffPoints = new PointCollection(); ChartPoint oldPoint = new ChartPoint() { XValue = double.MinValue, YValue = double.MinValue }; IntializePoints(); int index = 0; Point startAndEndPoint = CalculateSeriesInfo(); foreach (ChartPoint point in this.Points) { if (CheckValuePoint(oldPoint, point)) { Point highPoint = NormalizePoint(new Point(point.XValue, point.YValue)); Point lowPoint = NormalizePoint(new Point(lowPoints[index].XValue, lowPoints[index].YValue)); Point openPoint = NormalizePoint(new Point(openPoints[index].XValue - startAndEndPoint.X / 4, openPoints[index].YValue)); Point closePoint = NormalizePoint(new Point(closePoints[index].XValue + startAndEndPoint.X / 4, closePoints[index].YValue)); Point openOffPoint = NormalizePoint(new Point(openPoints[index].XValue + startAndEndPoint.X / 4, openPoints[index].YValue)); Point closeOffPoint = NormalizePoint(new Point(closePoints[index].XValue - startAndEndPoint.X / 4, closePoints[index].YValue)); HighPoints.Add(highPoint); LowPoints.Add(lowPoint); OpenPoints.Add(openPoint); ClosePoints.Add(closePoint); OpenOffPoints.Add(openOffPoint); CloseOffPoints.Add(closeOffPoint); oldPoint = point; } index++; } if (this.RenderingMode == RenderingMode.Default) { //if (!IsPointsGenerated) { StrokeThickness = HighPoints.Count > 3 ? NormalizePoint(new Point(1, 0)).X / (HighPoints.Count) : 30; for (int i = 0; i < this.HighPoints.Count; i++) { BarErrorPart barErrorPart = new BarErrorPart(this.HighPoints[i], this.LowPoints[i], this.ClosePoints[i], this.CloseOffPoints[i], this.OpenPoints[i], this.OpenOffPoints[i], HighValues[i], ErrorValues[i], Chart.ActualCategoryValues[i]); if (this.openPoints[i].YValue <= this.closePoints[i].YValue) { barErrorPart.IsBearfill = true; } else { barErrorPart.IsBearfill = false; } SetBindingForStrokeandStrokeThickness(barErrorPart); this.Parts.Add(barErrorPart); } IsPointsGenerated = true; } //else //{ //int i = 0; //foreach (BarErrorPart part in this.Parts) //{ // part.Point1 = this.HighPoints[i]; // part.Point2 = this.LowPoints[i]; // part.Point3 = this.ClosePoints[i]; // part.Point4 = this.CloseOffPoints[i]; // part.Point5 = this.OpenPoints[i]; // part.Point6 = this.OpenOffPoints[i]; // part.Mean = HighValues[i]; // part.Error = ErrorValues[i]; // part.XName = Chart.ActualCategoryValues[i]; // part.Refresh(); // i++; // } //} } } else { Parts.Clear(); } if (this.SeriesContainer != null) { this.SeriesContainer.Invalidate(); } IsRefreshed = false; //Refresh(); }