public ActionResult GetMaterialDetails(int materialId = 0, int subgroupId = 0, int sourceId = 0, int sourceMaterialId = 0, string searchText = "", string tabId = "divProperties", int type = 1) { string sessionId = System.Web.HttpContext.Current.Session["TotalMateriaSession"].ToString(); BreadcrumbNavigationGetSet(ref materialId, ref subgroupId, ref sourceId, ref sourceMaterialId, ref searchText, ref type); MaterialDetailsModel model = MaterialDetailsBinder.GetMaterial(materialId, subgroupId, sourceId, sourceMaterialId, searchText, sessionId, materialContextUow, tabId); model.ChemicalElsProperties = new ElsevierMaterialsMVC.BL.Binders.PropertyDescriptionBinder().GetProperties(materialId, materialContextUow); model.ActiveTab = tabId; return(View("MaterialDetailsContainer", model)); }
public void OrderPropertiesGroups(MaterialDetailsModel model, IDictionary <ProductGroup.ProductGroupType, ProductGroup> listOfGroups) { ProductGroup orderedGroups = new ProductGroup(); IList <ProductGroup.ProductGroupType> list = orderedGroups.GetOrder(); foreach (var item in list) { if (listOfGroups.ContainsKey(item)) { model.Properties.ProductGroups.Add(item, listOfGroups[item]); } } }
public TableFilters GetMaterialDetailsMaterialInfoColumns() { ElsevierMaterialsMVC.Models.Shared.TableFilters TableFiltersModel = new ElsevierMaterialsMVC.Models.Shared.TableFilters(); TableFiltersModel.Page = ElsevierMaterialsMVC.Models.Shared.PageEnum.MaterialDetails; TableFiltersModel.HasColumnsHidePosibility = true; TableFiltersModel.TableName = "materialDetailsInfoTable"; ElsevierMaterials.Models.Domain.SearchFilterColumnsAll allFilters = (ElsevierMaterials.Models.Domain.SearchFilterColumnsAll)System.Web.HttpContext.Current.Session["MaterialDetailsMaterialInfo"]; if (allFilters != null) { foreach (var colItem in allFilters.AllFilters) { TableFiltersModel.Columns.Add(new ElsevierMaterialsMVC.Models.Shared.Column { Id = colItem.Id, Class = "cbSelectColumn1", IsChecked = colItem.isVisible, IsDisabled = (colItem.Id == 0 ? true : false), Name = colItem.Name }); } } else { MaterialDetailsModel material = (MaterialDetailsModel)System.Web.HttpContext.Current.Session["materialInfoData"]; TableFiltersModel.Columns.Add(new ElsevierMaterialsMVC.Models.Shared.Column { Id = 0, Class = "cbSelectColumn1", IsChecked = true, IsDisabled = true, Name = "Material Name" }); TableFiltersModel.Columns.Add(new ElsevierMaterialsMVC.Models.Shared.Column { Id = 1, Class = "cbSelectColumn1", IsChecked = true, IsDisabled = false, Name = "Type" }); TableFiltersModel.Columns.Add(new ElsevierMaterialsMVC.Models.Shared.Column { Id = 2, Class = "cbSelectColumn1", IsChecked = true, IsDisabled = false, Name = "Class" }); TableFiltersModel.Columns.Add(new ElsevierMaterialsMVC.Models.Shared.Column { Id = 3, Class = "cbSelectColumn1", IsChecked = true, IsDisabled = false, Name = "Subclass" }); TableFiltersModel.Columns.Add(new ElsevierMaterialsMVC.Models.Shared.Column { Id = 4, Class = "cbSelectColumn1", IsChecked = ((!string.IsNullOrEmpty(material.SubClassName) && material.SubClassName != "-" && material.SubClassName != "")), IsDisabled = false, Name = "Group" }); TableFiltersModel.Columns.Add(new ElsevierMaterialsMVC.Models.Shared.Column { Id = 5, Class = "cbSelectColumn1", IsChecked = true, IsDisabled = false, Name = "Reference" }); TableFiltersModel.Columns.Add(new ElsevierMaterialsMVC.Models.Shared.Column { Id = 6, Class = "cbSelectColumn1", IsChecked = (!string.IsNullOrEmpty(material.Material.Manufacturer) && material.Material.Manufacturer != "-") ? true : false, IsDisabled = false, Name = "Supplier" }); TableFiltersModel.Columns.Add(new ElsevierMaterialsMVC.Models.Shared.Column { Id = 7, Class = "cbSelectColumn1", IsChecked = ((!string.IsNullOrEmpty(material.Material.Standard) && material.Material.Standard != "-") || (!string.IsNullOrEmpty(material.Material.Specification)) && material.Material.Specification != "-") ? true : false, IsDisabled = false, Name = "Std. Org.<span> / </span>Specification" }); TableFiltersModel.Columns.Add(new ElsevierMaterialsMVC.Models.Shared.Column { Id = 8, Class = "cbSelectColumn1", IsChecked = (!string.IsNullOrEmpty(material.Material.Filler) && material.Material.Filler != "-") ? true : false, IsDisabled = false, Name = "Filler" }); TableFiltersModel.Columns.Add(new ElsevierMaterialsMVC.Models.Shared.Column { Id = 9, Class = "cbSelectColumn1", IsChecked = (!string.IsNullOrEmpty(material.Material.UNSNo) && material.Material.UNSNo != "-") ? true : false, IsDisabled = false, Name = "UNS No." }); TableFiltersModel.Columns.Add(new ElsevierMaterialsMVC.Models.Shared.Column { Id = 10, Class = "cbSelectColumn1", IsChecked = (!string.IsNullOrEmpty(material.Material.CASRN) && material.Material.CASRN != "-") ? true : false, IsDisabled = false, Name = "CAS RN" }); } return(TableFiltersModel); }
public void FillElsMaterial(int materialId, int subgroupId, int sourceMaterialId, IMaterialsContextUow context, MaterialDetailsModel model, int type) { int setId = (int)context.RecordLinks.All.Where(m => m.MaterialID == materialId && m.SubgroupID == subgroupId).FirstOrDefault().SetID; IList <RecordLink> conditions = context.RecordLinks.All.Where(n => n.MaterialID == materialId && n.SubgroupID == subgroupId).ToList(); IDictionary <ProductGroup.ProductGroupType, ProductGroup> listOfGroups = new Dictionary <ProductGroup.ProductGroupType, ProductGroup>(); IList <ConditionModel> conditionWithProperties = new List <ConditionModel>(); foreach (var conditionObj in conditions) { IList <MaterialProperty> propertiesPerCond = context.MaterialProperties.All.Where(m => m.MaterialId == materialId && m.SubgroupId == subgroupId && m.RowId == conditionObj.RowID).ToList(); foreach (var prop in propertiesPerCond) { ProductGroup.ProductGroupType groupId = (ProductGroup.ProductGroupType)context.Trees.Find(n => n.PN_ID == prop.PropertyId).BT_ID; if (!listOfGroups.ContainsKey(groupId)) { conditionWithProperties = new List <ConditionModel>(); ConditionModel condition = new ConditionElsBinder().FillElsCondition(materialId, subgroupId, context, conditionObj, prop, type); conditionWithProperties.Add(condition); ProductGroup productGroup = FillElsProductGroup(conditionWithProperties, groupId, context); productGroup.MaterialConditions = productGroup.MaterialConditions.OrderBy(c => c.ConditionName).ToList(); listOfGroups.Add(groupId, productGroup); } else { ProductGroup selectedGroup = listOfGroups[groupId]; if (!selectedGroup.MaterialConditions.Any(v => v.ConditionId == conditionObj.RowID)) { ConditionModel condition = new ConditionElsBinder().FillElsCondition(materialId, subgroupId, context, conditionObj, prop, type); selectedGroup.MaterialConditions.Add(condition); } else { ConditionModel condition = selectedGroup.MaterialConditions.Where(v => v.ConditionId == conditionObj.RowID).FirstOrDefault(); string unitName = prop.OrigUnit == null ? "" : context.Units.Find(n => n.UnitId == prop.OrigUnit).UnitText; ElsevierMaterials.Models.Property property = context.PropertiesWithConvertedValues.GetPropertyInfoForMaterialForSelectedMetric(context.PreferredNames.Find(o => o.PN_ID == prop.PropertyId).PN, materialId, subgroupId, conditionObj.RowID, prop.PropertyId, prop.ValueId, type, unitName); condition.Properties.Add(property); } } listOfGroups[groupId].PropertyCount++; } } model.Properties = new PropertiesModel(); OrderPropertiesGroups(model, listOfGroups); }