/// <summary> /// /// </summary> /// <remarks></remarks> /// <seealso cref=""/> /// <param name="styleIndex"></param> /// <param name="systemType"></param> /// <returns></returns> private uint getExcelStyleIndex(BExIS.Dlm.Entities.DataStructure.DataType dataType, uint[] styleIndex) { string systemType = dataType.SystemType; if (systemType == "Double" || systemType == "Decimal") { return(styleIndex[0]); } if (systemType == "Int16" || systemType == "Int32" || systemType == "Int64" || systemType == "UInt16" || systemType == "UInt32" || systemType == "UInt64") { return(styleIndex[1]); } if (systemType == "Char" || systemType == "String") { return(styleIndex[2]); } if (systemType == "Boolean") { return(styleIndex[2]); } //for time and date only if (dataType.Extra != null) { DataTypeDisplayPattern displayPattern = DataTypeDisplayPattern.Materialize(dataType.Extra); //date if (systemType == "DateTime" && displayPattern.Name.ToLower().Contains("date")) { return(styleIndex[4]); } //time if (systemType == "DateTime" && (displayPattern.Name.ToLower().Equals("time") || displayPattern.Name.ToLower().Equals("time 12h"))) { return(styleIndex[5]); } } if (systemType == "DateTime") { return(styleIndex[3]); } return(styleIndex[2]); }
public DataType Create(string name, string description, System.TypeCode systemType) { Contract.Requires(!string.IsNullOrWhiteSpace(name)); Contract.Ensures(Contract.Result<DataType>() != null && Contract.Result<DataType>().Id >= 0); DataType u = new DataType() { Name = name, Description = description, SystemType = systemType.ToString(), }; using (IUnitOfWork uow = this.GetUnitOfWork()) { IRepository<DataType> repo = uow.GetRepository<DataType>(); repo.Put(u); uow.Commit(); } return (u); }
public bool Delete(DataType entity) { Contract.Requires(entity != null); Contract.Requires(entity.Id >= 0); using (IUnitOfWork uow = this.GetUnitOfWork()) { IRepository<DataType> repo = uow.GetRepository<DataType>(); entity = repo.Reload(entity); // remove all associations entity.ApplicableUnits.ToList().ForEach(u => u.AssociatedDataTypes.Remove(entity)); entity.ApplicableUnits.Clear(); entity.DataContainers.Clear(); repo.Delete(entity); uow.Commit(); } // if any problem was detected during the commit, an exception will be thrown! return (true); }
public bool AddAssociatedDataType(Unit end1, DataType end2) { Contract.Requires(end1 != null && end1.Id >= 0); Contract.Requires(end2 != null && end2.Id >= 0); bool result = false; using (IUnitOfWork uow = this.GetUnitOfWork()) { IRepository<Unit> repo = uow.GetRepository<Unit>(); end1 = repo.Reload(end1); repo.LoadIfNot(end1.AssociatedDataTypes); if (!end1.AssociatedDataTypes.Contains(end2)) { end1.AssociatedDataTypes.Add(end2); end2.ApplicableUnits.Add(end1); uow.Commit(); result = true; } } return (result); }
/// <summary> /// /// </summary> /// <remarks></remarks> /// <seealso cref=""/> /// <param name="systemType"></param> /// <param name="styleIndex"></param> /// <returns></returns> private uint getExcelStyleIndex(BExIS.Dlm.Entities.DataStructure.DataType dataType, List <StyleIndexStruct> styleIndex) { if (dataType.SystemType == DataTypeCode.Double.ToString() || dataType.SystemType == DataTypeCode.Decimal.ToString()) { return(styleIndex.Where(p => p.Name.Equals("Decimal")).FirstOrDefault().Index); } if (dataType.SystemType == DataTypeCode.Int16.ToString() || dataType.SystemType == DataTypeCode.Int32.ToString() || dataType.SystemType == DataTypeCode.Int64.ToString() || dataType.SystemType == DataTypeCode.UInt16.ToString() || dataType.SystemType == DataTypeCode.Int32.ToString() || dataType.SystemType == DataTypeCode.Int64.ToString()) { return(styleIndex.Where(p => p.Name.Equals("Number")).FirstOrDefault().Index); } if (dataType.SystemType == DataTypeCode.String.ToString() || dataType.SystemType == DataTypeCode.Char.ToString()) { return(styleIndex.Where(p => p.Name.Equals("Text")).FirstOrDefault().Index); } if (dataType.SystemType == DataTypeCode.DateTime.ToString()) { if (dataType.Extra != null) { if (DataTypeDisplayPattern.Materialize(dataType.Extra).Name == "DateTimeIso" && DataTypeDisplayPattern.Materialize(dataType.Extra).Systemtype == DataTypeCode.DateTime) { return(styleIndex.Where(p => p.Name.Equals("DateTime")).FirstOrDefault().Index); } if ((DataTypeDisplayPattern.Materialize(dataType.Extra).Name == "DateIso" || DataTypeDisplayPattern.Materialize(dataType.Extra).Name == "DateUs" || DataTypeDisplayPattern.Materialize(dataType.Extra).Name == "DateUk" || DataTypeDisplayPattern.Materialize(dataType.Extra).Name == "DateEu") && DataTypeDisplayPattern.Materialize(dataType.Extra).Systemtype == DataTypeCode.DateTime) { return(styleIndex.Where(p => p.Name.Equals("Date")).FirstOrDefault().Index); } if (DataTypeDisplayPattern.Materialize(dataType.Extra).Name == "Time" && DataTypeDisplayPattern.Materialize(dataType.Extra).Systemtype == DataTypeCode.DateTime) { return(styleIndex.Where(p => p.Name.Equals("Time")).FirstOrDefault().Index); } } return(styleIndex.Where(p => p.Name.Equals("DateTime")).FirstOrDefault().Index); } if (dataType.SystemType == DataTypeCode.Boolean.ToString()) { return(styleIndex.Where(p => p.Name.Equals("Text")).FirstOrDefault().Index); } return(styleIndex.Where(p => p.Name.Equals("Text")).FirstOrDefault().Index); }
public DataAttribute CreateDataAttribute(string shortName, string name, string description, bool isMultiValue, bool isBuiltIn, string scope, MeasurementScale measurementScale, DataContainerType containerType, string entitySelectionPredicate, DataType dataType, Unit unit, Methodology methodology, Classifier classifier, ICollection<AggregateFunction> functions, ICollection<GlobalizationInfo> globalizationInfos, ICollection<Constraint> constraints, ICollection<ExtendedProperty> extendedProperies ) { Contract.Requires(!string.IsNullOrWhiteSpace(shortName)); Contract.Requires(dataType != null && dataType.Id >= 0); Contract.Requires(unit != null && unit.Id >= 0); Contract.Ensures(Contract.Result<DataAttribute>() != null && Contract.Result<DataAttribute>().Id >= 0); DataAttribute e = new DataAttribute() { ShortName = shortName, Name = name, Description = description, IsMultiValue = isMultiValue, IsBuiltIn = isBuiltIn, Scope = scope, MeasurementScale = measurementScale, ContainerType = containerType, EntitySelectionPredicate = entitySelectionPredicate, DataType = dataType, Unit = unit, Methodology = methodology, AggregateFunctions = functions, GlobalizationInfos = globalizationInfos, Constraints = constraints, ExtendedProperties = extendedProperies, }; if (classifier != null && classifier.Id > 0) e.Classification = classifier; using (IUnitOfWork uow = this.GetUnitOfWork()) { IRepository<DataAttribute> repo = uow.GetRepository<DataAttribute>(); repo.Put(e); uow.Commit(); } return (e); }
public ActionResult editAttribute(DataAttributeModel Model) { ViewBag.Title = PresentationModel.GetViewTitleForTenant( "Manage Data Attributes", this.Session.GetTenant()); DataContainerManager dataAttributeManager = new DataContainerManager(); IList<DataAttribute> DataAttributeList = dataAttributeManager.DataAttributeRepo.Get(); long tempUnitId = Convert.ToInt64(Model.Unit.Id); long tempDataTypeId = Convert.ToInt64(Model.DataType.Id); Model.Id = Model.Id; Model.ShortName = cutSpaces(Model.ShortName); Model.Name = cutSpaces(Model.Name); Model.Description = cutSpaces(Model.Description); //if (Model.DomainConstraints.Count > 0) //{ // if (Model.DomainConstraints. != null && Model.DomainItems.Count > 0) // { // Model.DomainConstraints.FirstOrDefault().DomainItems = clearEmptyItems(Model.DomainItems); // } //} if (Model.Name == "" | Model.Name == null) { Session["nameMsg"] = "invalid Name"; Session["Window"] = true; return View("AttributeManager", new DataAttributeManagerModel(Model)); } else { bool nameNotExist = DataAttributeList.Where(p => p.Name.ToLower().Equals(Model.Name.ToLower())).Count().Equals(0); if (Model.Id == 0) { if (nameNotExist) { UnitManager UM = new UnitManager(); Unit unit = new Unit(); DataTypeManager DTM = new DataTypeManager(); DataType dataType = new DataType(); DataContainerManager DAM = new DataContainerManager(); DataAttribute temp = new DataAttribute(); if(UM.Repo.Get(tempUnitId)!= null) unit = UM.Repo.Get(tempUnitId); else unit = UM.Repo.Get().Where(u => u.Name.ToLower() == "none").FirstOrDefault(); if (DTM.Repo.Get(tempDataTypeId) != null) dataType = DTM.Repo.Get(tempDataTypeId); else dataType = DTM.Repo.Get().ToList().FirstOrDefault(); temp = DAM.CreateDataAttribute(Model.ShortName, Model.Name, Model.Description, false, false, "", MeasurementScale.Categorial, DataContainerType.ReferenceType, "", dataType, unit, null, null, null, null, null, null); #region store constraint if (Model.RangeConstraints.Count > 0 && (Model.RangeConstraints.FirstOrDefault().Min !=null || Model.RangeConstraints.FirstOrDefault().Max !=null) && (Model.RangeConstraints.FirstOrDefault().Min != 0.0 || Model.RangeConstraints.FirstOrDefault().Max != 0.0 )) temp = storeConstraint(Model.RangeConstraints.First(), temp); if (Model.PatternConstraints.Count > 0 && !String.IsNullOrEmpty(Model.PatternConstraints.FirstOrDefault().MatchingPhrase)) temp = storeConstraint(Model.PatternConstraints.First(), temp); if (Model.DomainConstraints.Count > 0) { foreach (DomainConstraintModel d in Model.DomainConstraints) { temp = storeConstraint(d, temp); } } #endregion temp = DAM.UpdateDataAttribute(temp); } else { Session["nameMsg"] = "Name already exist"; Session["Window"] = true; return View("AttributeManager", new DataAttributeManagerModel(Model)); } } else { if (nameNotExist || DataAttributeList.Where(p => p.Name.Equals(Model.Name)).ToList().First().Id == Model.Id) { DataAttribute dataAttribute = DataAttributeList.Where(p => p.Id.Equals(Model.Id)).ToList().First(); if (!attributeInUse(dataAttribute)) { DataContainerManager DAM = new DataContainerManager(); dataAttribute.Name = cutSpaces(Model.Name); dataAttribute.ShortName = Model.ShortName; dataAttribute.Description = Model.Description; UnitManager UM = new UnitManager(); if (UM.Repo.Get(tempUnitId) != null) dataAttribute.Unit = UM.Repo.Get(tempUnitId); else dataAttribute.Unit = UM.Repo.Get().Where(u => u.Name.ToLower() == "none").FirstOrDefault(); DataTypeManager DTM = new DataTypeManager(); if (DTM.Repo.Get(tempDataTypeId) != null) dataAttribute.DataType = DTM.Repo.Get(tempDataTypeId); else dataAttribute.DataType = DTM.Repo.Get().ToList().FirstOrDefault(); #region store constraint if (Model.RangeConstraints.Count > 0 && (Model.RangeConstraints.FirstOrDefault().Min != null || Model.RangeConstraints.FirstOrDefault().Max != null) && (Model.RangeConstraints.FirstOrDefault().Min != 0.0 || Model.RangeConstraints.FirstOrDefault().Max != 0.0)) dataAttribute = storeConstraint(Model.RangeConstraints.First(), dataAttribute); else dataAttribute = deletConstraint(Model.RangeConstraints.First().Id, dataAttribute); if (Model.PatternConstraints.Count > 0 && !String.IsNullOrEmpty(Model.PatternConstraints.FirstOrDefault().MatchingPhrase)) dataAttribute = storeConstraint(Model.PatternConstraints.First(), dataAttribute); else dataAttribute = deletConstraint(Model.PatternConstraints.First().Id, dataAttribute); if (Model.PatternConstraints.Count > 0 && !String.IsNullOrEmpty(Model.DomainConstraints.FirstOrDefault().Terms)) dataAttribute = storeConstraint(Model.DomainConstraints.First(), dataAttribute); else dataAttribute = deletConstraint(Model.DomainConstraints.First().Id, dataAttribute); #endregion DAM.UpdateDataAttribute(dataAttribute); } } else { Session["nameMsg"] = "Name already exist"; Session["Window"] = true; return View("AttributeManager", new DataAttributeManagerModel(Model)); } } } Session["Window"] = false; return RedirectToAction("AttributeManager"); }
public DataType Update(DataType entity) { Contract.Requires(entity != null, "provided entity can not be null"); Contract.Requires(entity.Id >= 0, "provided entity must have a permant ID"); Contract.Ensures(Contract.Result<DataType>() != null && Contract.Result<DataType>().Id >= 0, "No entity is persisted!"); using (IUnitOfWork uow = entity.GetUnitOfWork()) { IRepository<DataType> repo = uow.GetRepository<DataType>(); repo.Put(entity); // Merge is required here!!!! uow.Commit(); } return (entity); }
public DataTypeItemModel(DataType dataType) { Id = dataType.Id; Name = dataType.Name; }
// create read data types in bpp public void CreateDataTypes(ref DataTable mappedDataTypes) { DataTypeManager dataTypeManager = new DataTypeManager(); foreach (DataRow mappedDataType in mappedDataTypes.Rows) { string dtName = mappedDataType["Name"].ToString(); string dtDescription = mappedDataType["Description"].ToString(); DataTypeDisplayPattern dtDisplayPettern = new DataTypeDisplayPattern(); TypeCode dtSystemType = new TypeCode(); foreach (TypeCode type in Enum.GetValues(typeof(TypeCode))) { if (type.ToString().Equals(mappedDataType["SystemType"].ToString())) { dtSystemType = type; } } if (dtSystemType == TypeCode.DateTime) { if (mappedDataType["DisplayPattern"] != null && mappedDataType["DisplayPattern"].ToString() != "") { dtDisplayPettern = DataTypeDisplayPattern.Pattern.Where(p => p.Systemtype.Equals(DataTypeCode.DateTime) && p.Name.Equals(mappedDataType["DisplayPattern"].ToString())).FirstOrDefault(); } else { dtDisplayPettern = DataTypeDisplayPattern.Pattern.Where(p => p.Name.Equals("DateTimeIso")).FirstOrDefault(); } } DataType dataType = new DataType(); // get existing dataTypes DataType existDT = dataTypeManager.Repo.Get().Where(d => d.Name.Equals(dtName) && d.SystemType.ToString().Equals(mappedDataType["SystemType"].ToString()) ).FirstOrDefault(); // return ID of existing dataType or create dataType if (existDT == null && dtSystemType != null) { dataType = dataTypeManager.Create(dtName, dtDescription, dtSystemType); XmlDocument xmlDoc = new XmlDocument(); XmlNode xmlNode; xmlNode = xmlDoc.CreateNode(XmlNodeType.Element, "Extra", null); xmlDoc.AppendChild(xmlNode); xmlNode = xmlDoc.CreateNode(XmlNodeType.Element, "DisplayPattern", null); xmlNode.InnerXml = DataTypeDisplayPattern.Dematerialize(dtDisplayPettern).InnerXml; xmlDoc.DocumentElement.AppendChild(xmlNode); dataType.Extra = xmlDoc; dataTypeManager.Update(dataType); } else { dataType = existDT; } mappedDataType["DataTypesId"] = dataType.Id; } }
private void addDataTypes(long unitId, List<string> datatypeNames) { UnitManager unitManager = new UnitManager(); DataTypeManager dataTypeManger = new DataTypeManager(); Unit unit = unitManager.Repo.Get(unitId); // add bpp-dataTypes to the unit DataType dt = new DataType(); foreach (string type in datatypeNames) { dt = dataTypeManger.Repo.Get().Where(d => d.Name.ToLower().Equals(type.ToLower())).FirstOrDefault(); if (dt != null && !(unit.AssociatedDataTypes.Contains(dt))) unit.AssociatedDataTypes.Add(dt); } unitManager.Update(unit); }
/// <summary> /// /// </summary> /// <remarks></remarks> /// <seealso cref=""/> /// <param name="systemType"></param> /// <param name="styleIndex"></param> /// <returns></returns> private uint getExcelStyleIndex(DataType dataType, List<StyleIndexStruct> styleIndex) { if (dataType.SystemType == DataTypeCode.Double.ToString() || dataType.SystemType == DataTypeCode.Decimal.ToString()) return styleIndex.Where(p => p.Name.Equals("Decimal")).FirstOrDefault().Index; if (dataType.SystemType == DataTypeCode.Int16.ToString() || dataType.SystemType == DataTypeCode.Int32.ToString() || dataType.SystemType == DataTypeCode.Int64.ToString() || dataType.SystemType == DataTypeCode.UInt16.ToString() || dataType.SystemType == DataTypeCode.Int32.ToString() || dataType.SystemType == DataTypeCode.Int64.ToString()) return styleIndex.Where(p => p.Name.Equals("Number")).FirstOrDefault().Index; if (dataType.SystemType == DataTypeCode.String.ToString() || dataType.SystemType == DataTypeCode.Char.ToString()) return styleIndex.Where(p => p.Name.Equals("Text")).FirstOrDefault().Index; if (dataType.SystemType == DataTypeCode.DateTime.ToString()) { if (dataType.Extra != null) { if (DataTypeDisplayPattern.Materialize(dataType.Extra).Name == "DateTimeIso" && DataTypeDisplayPattern.Materialize(dataType.Extra).Systemtype == DataTypeCode.DateTime) { return styleIndex.Where(p => p.Name.Equals("DateTime")).FirstOrDefault().Index; } if ((DataTypeDisplayPattern.Materialize(dataType.Extra).Name == "DateIso" || DataTypeDisplayPattern.Materialize(dataType.Extra).Name == "DateUs" || DataTypeDisplayPattern.Materialize(dataType.Extra).Name == "DateUk" || DataTypeDisplayPattern.Materialize(dataType.Extra).Name == "DateEu") && DataTypeDisplayPattern.Materialize(dataType.Extra).Systemtype == DataTypeCode.DateTime) { return styleIndex.Where(p => p.Name.Equals("Date")).FirstOrDefault().Index; } if (DataTypeDisplayPattern.Materialize(dataType.Extra).Name == "Time" && DataTypeDisplayPattern.Materialize(dataType.Extra).Systemtype == DataTypeCode.DateTime) { return styleIndex.Where(p => p.Name.Equals("Time")).FirstOrDefault().Index; } } return styleIndex.Where(p => p.Name.Equals("DateTime")).FirstOrDefault().Index; } if (dataType.SystemType == DataTypeCode.Boolean.ToString()) return styleIndex.Where(p => p.Name.Equals("Text")).FirstOrDefault().Index; return styleIndex.Where(p => p.Name.Equals("Text")).FirstOrDefault().Index; }