Ejemplo n.º 1
0
        public ElsevierMaterials.Models.Domain.Comparison.Comparison RemoveMaterial(int materialId, int sourceMaterialId, int sourceId, int subgroupId)
        {
            ElsevierMaterials.Models.Domain.Comparison.Comparison comparison = GetComparison();

            comparison.MaterialNames.Remove(comparison.MaterialNames.Where(m => m.MaterialId == materialId && m.SubgroupId == subgroupId && m.SourceId == sourceId && m.SourceMaterialId == sourceMaterialId).FirstOrDefault());

            foreach (var prop in comparison.Properties)
            {
                prop.Materials.Remove(prop.Materials.Where(m => m.MaterialId == materialId && m.SubgroupId == subgroupId && m.SourceId == sourceId && m.SourceMaterialId == sourceMaterialId).FirstOrDefault());
            }

            IList <ElsevierMaterials.Models.Domain.Comparison.Property> propertiesForDeleting = new List <ElsevierMaterials.Models.Domain.Comparison.Property>();

            foreach (var prop in comparison.Properties)
            {
                if (prop.Materials.Count == 0)
                {
                    propertiesForDeleting.Add(prop);
                }
            }
            foreach (var prop in propertiesForDeleting)
            {
                comparison.Properties.Remove(prop);
            }

            return(comparison);
        }
Ejemplo n.º 2
0
        public ElsevierMaterials.Models.Domain.Comparison.Property FillPropertyData(int materialId, int sourceMaterialId, int sourceId, int subgroupId, IMaterialsContextUow context, PropertyFilter propertyClient, ElsevierMaterials.Models.Condition condition)
        {
            ElsevierMaterials.Models.Domain.Comparison.Comparison comparison = GetComparison();

            PropertyBasicInfo propertyInfo = _propertyBinder.FillPropertyBasicData(context, propertyClient, null);

            ElsevierMaterials.Models.Domain.Comparison.Property property = new ElsevierMaterials.Models.Domain.Comparison.Property();
            property.PropertyInfo      = propertyInfo;
            property.PropertyInfo.Name = _propertyBinder.FillPropertyName(sourceMaterialId, sourceId, subgroupId, context, propertyClient, condition);
            property.PropertyInfo.Unit = _propertyBinder.FillPropertyUnit(sourceMaterialId, sourceId, subgroupId, context, propertyClient, condition);

            return(property);
        }
Ejemplo n.º 3
0
 public ElsevierMaterials.Models.Domain.Comparison.Comparison GetComparison()
 {
     ElsevierMaterials.Models.Domain.Comparison.Comparison comparison = (ElsevierMaterials.Models.Domain.Comparison.Comparison)System.Web.HttpContext.Current.Session["ComparisonContainer"];
     if (comparison != null)
     {
         return(comparison);
     }
     else
     {
         comparison = new ElsevierMaterials.Models.Domain.Comparison.Comparison();
         System.Web.HttpContext.Current.Session["ComparisonContainer"] = comparison;
         return(comparison);
     }
 }
Ejemplo n.º 4
0
        public bool RemoveProperty(int propertyId, int sourcePropertyId, int rowId)
        {
            ElsevierMaterials.Models.Domain.Comparison.Comparison comparison = GetComparison();

            if (propertyId == 0 && sourcePropertyId == 0)
            {
                comparison.Properties.Remove(comparison.Properties.Where(m => m.PropertyInfo.RowId == rowId).FirstOrDefault());
            }
            else
            {
                comparison.Properties.Remove(comparison.Properties.Where(m => m.PropertyInfo.TypeId == propertyId && m.PropertyInfo.SourceTypeId == sourcePropertyId).FirstOrDefault());
            }

            return(true);
        }
Ejemplo n.º 5
0
        public bool AddMaterialToMaterialNamesList(int materialId, int sourceMaterialId, int sourceId, int subgroupId, IMaterialsContextUow materialContextUow)
        {
            ElsevierMaterials.Models.Domain.Comparison.Comparison comparison = GetComparison();


            if (!comparison.MaterialNames.Where(m => m.MaterialId == materialId && m.SourceMaterialId == sourceMaterialId && m.SourceId == sourceId && m.SubgroupId == subgroupId).Any())
            {
                if (comparison.MaterialNames.Count == 5)
                {
                    return(false);
                }

                ElsevierMaterials.Models.Domain.Material.MaterialBasicInfo material = _binderMaterial.GetMaterialInfo(materialId, sourceMaterialId, sourceId, subgroupId, materialContextUow);

                comparison.MaterialNames.Add(new ElsevierMaterials.Models.Domain.Material.MaterialBasicInfo {
                    MaterialId = material.MaterialId, SourceId = sourceId, SourceMaterialId = sourceMaterialId, SubgroupId = subgroupId, Name = material.Name, SubgroupName = material.SubgroupName
                });
            }

            return(true);
        }
        public string GenerateChart(int propertyId, int sourcePropertyId, ref System.Web.UI.DataVisualization.Charting.Chart chart)
        {
            ElsevierMaterials.Models.Domain.Comparison.Comparison comparison = GetComparison();

            ElsevierMaterials.Models.Domain.Comparison.Property         property             = comparison.Properties.Where(m => m.PropertyInfo.TypeId == propertyId && m.PropertyInfo.SourceTypeId == sourcePropertyId).Select(x => x).FirstOrDefault();
            IList <ElsevierMaterials.Models.Domain.Comparison.Material> materialsForProeprty = property.Materials;

            foreach (var y in materialsForProeprty)
            {
                if (y.Value.Contains("&GreaterEqual;"))
                {
                    y.Value = y.Value.Replace("&GreaterEqual;", "");
                }


                if (y.Value.Contains("&le;"))
                {
                    y.Value = y.Value.Replace("&le;", "");
                }

                if (y.Value.Contains("-") && !y.Value.Contains("E"))
                {
                    if (y.Value.Split('-')[0] != "")
                    {
                        y.Value = y.Value.Split('-')[0];
                    }
                }

                if (y.Value.Contains(">") || y.Value.Contains(">=") || y.Value.Contains("<") || y.Value.Contains("<="))
                {
                    y.Value = y.Value.Replace(">", "").Replace(">=", "").Replace("<", "").Replace("<=", "").Replace(" ", "").Trim();
                }
                if (y.Value.Contains("E"))
                {
                    double d = double.Parse(y.Value, System.Globalization.NumberStyles.Float);
                    y.Value = d.ToString();
                }
            }

            IList <string> yAxesValues = materialsForProeprty.Select(x => x.Value).ToList();
            IList <string> xAxesValues = property.Materials.Select(x => x.Name).ToList();

            chart.BorderSkin.SkinStyle = BorderSkinStyle.None;
            chart.BackColor            = Color.White;
            chart.BackSecondaryColor   = Color.White;
            chart.BackGradientStyle    = GradientStyle.TopBottom;

            chart.Width  = 850;
            chart.Height = 500;

            ChartArea area = new ChartArea("Main");

            area.BorderColor                  = Color.FromArgb(64, 64, 64, 64);
            area.BorderDashStyle              = ChartDashStyle.Solid;
            area.BackColor                    = Color.White;
            area.BackSecondaryColor           = Color.White;
            area.ShadowColor                  = Color.Transparent;
            area.BackGradientStyle            = GradientStyle.TopBottom;
            area.Area3DStyle.Rotation         = 25;
            area.Area3DStyle.Perspective      = 9;
            area.Area3DStyle.LightStyle       = LightStyle.Realistic;
            area.Area3DStyle.Inclination      = 40;
            area.Area3DStyle.IsRightAngleAxes = false;
            area.Area3DStyle.WallWidth        = 3;
            area.Area3DStyle.IsClustered      = false;
            area.Area3DStyle.Enable3D         = false;

            Font axesTitleFont = new Font("Arial", (float)13, FontStyle.Regular);

            area.AxisY.TitleFont = axesTitleFont;

            if (property.PropertyInfo.Unit != "" && property.PropertyInfo.Unit != null)
            {
                area.AxisY.Title = property.PropertyInfo.Name + " (" + property.PropertyInfo.Unit.Replace("<sup>", "^").Replace("</sup>", "").Replace("<sub>", "").Replace("</sub>", "").Replace("&deg;", "°") + ")";
            }
            else
            {
                area.AxisY.Title = property.PropertyInfo.Name;
            }

            chart.ChartAreas.Add(area);
            chart.Series.Add("pie");
            chart.Series["pie"].Points.DataBindXY(xAxesValues, yAxesValues);
            chart.Series["pie"].ChartType = SeriesChartType.Column;
            chart.DataBind();
            string imageName = Guid.NewGuid().ToString() + ".png";

            return(imageName);
        }