public static long SaveCnsDataType(string dataTypeName, bool dataTypeIsDefault, bool dataTypeIsActive, long dataTypeId, out string retMessage) { long id = 0; string message = ""; try { bool validationFail = false; if (UtilsSecurity.HaveAdminRole() == false) { message = "Please login as User Having Admin Role to Save RefType"; validationFail = true; } if (validationFail == false) { if (string.IsNullOrEmpty(dataTypeName) == true) { message = "Missing or Empty DataType Argument"; validationFail = true; } } if (validationFail == false) { CNS_DataType cnsDataTypeExisting = GetCnsDataType(dataTypeName); if ((cnsDataTypeExisting != null) && (cnsDataTypeExisting.DataTypeID != dataTypeId)) { message = "The DataType [" + dataTypeName + "] allready exists"; validationFail = true; } } var cnsDataType = new CNS_DataType(); if (validationFail == false) { if (dataTypeId != 0) { cnsDataType = GetCnsDataType(dataTypeId); if (cnsDataType == null) { message = "The DataType having ID [" + dataTypeId + "] cannot be Retrieved"; validationFail = true; } } } if (validationFail == false) { long maxDataTypeId = GetMaxCnsDataTypeId() + 1; cnsDataType.IsActive = dataTypeIsActive; if (dataTypeId == 0) { cnsDataType.Sequence = maxDataTypeId; cnsDataType.IsActive = true; cnsDataType.IsSystem = false; } cnsDataType.DataType = dataTypeName; cnsDataType.IsDefault = dataTypeIsDefault; DataSource.BeginTransaction(); if (cnsDataType.IsDefault) { CNS_DataType defaultCnsDataType = GetDefaultCnsDataType(); if (defaultCnsDataType != null) { if (defaultCnsDataType.DataTypeID != cnsDataType.DataTypeID) { defaultCnsDataType.IsDefault = false; DataSource.UpdateCnsDataType(defaultCnsDataType); } } } if (cnsDataType.DataTypeID == 0) { cnsDataType.DataTypeID = maxDataTypeId; DataSource.InsertCnsDataType(cnsDataType); id = cnsDataType.DataTypeID; } else { DataSource.UpdateCnsDataType(cnsDataType); id = cnsDataType.DataTypeID; } DataSource.CompleteTransaction(); } } catch (Exception ex) { id = 0; message = "DBError:" + ex.Message; LogManager.Log(LogLevel.Error, "DataCommon-SaveCnsDataType", message); DataSource.AbortTransaction(); } retMessage = message; return id; }
public static bool SaveCNSDataTypeData(Dictionary<Guid, CNS_DataType> cnsDataTypeList) { bool ret = false; if (cnsDataTypeList.Count > 0) { List<CNS_DataType> cnsDataTypeValueList = new List<CNS_DataType>(); CNS_DataType[] cnsDataTypeArray = new CNS_DataType[cnsDataTypeList.Values.Count]; cnsDataTypeList.Values.CopyTo(cnsDataTypeArray, 0); cnsDataTypeValueList.AddRange(cnsDataTypeArray); ret = JsonStore<CNS_DataType>.SaveData(cnsDataTypeValueList, true); } return ret; }
public static long InsertCnsDataType(CNS_DataType cnsDataType) { long id = 0; if (cnsDataType.DataTypeGUID != Guid.Empty) throw new Exception("Cannot Set the GUID for a Insert"); cnsDataType.DataTypeGUID = Guid.NewGuid(); cnsDataType.RevisionNo = GetMaxCnsDataTypeRevisionNo() + 1; Database db = HaveDb(); if (db != null) { using (ITransaction scope = db.GetTransaction()) { db.Insert(cnsDataType); id = cnsDataType.DataTypeID; scope.Complete(); } } else { Dictionary<Guid, CNS_DataType> fileCnsDataTypeList = FileSource.LoadCNSDataTypeData(); fileCnsDataTypeList.Add(cnsDataType.DataTypeGUID, cnsDataType); FileSource.SaveCNSDataTypeData(fileCnsDataTypeList); id = cnsDataType.DataTypeID; } return id; }
public static bool UpdateCnsDataType(CNS_DataType cnsDataType) { bool ret = false; Database db = HaveDb(); if (db != null) { CNS_DataType cnsDataTypeExisting = GetCnsDataType(cnsDataType.DataTypeID, ""); if (cnsDataTypeExisting != null) { cnsDataType.RevisionNo = GetMaxCnsDataTypeRevisionNo() + 1; using (ITransaction scope = db.GetTransaction()) { db.Update(cnsDataType); scope.Complete(); ret = true; } } } else { Dictionary<Guid, CNS_DataType> fileCnsDataTypeList = FileSource.LoadCNSDataTypeData(); if (fileCnsDataTypeList.ContainsKey(cnsDataType.DataTypeGUID) == true) { fileCnsDataTypeList.Remove(cnsDataType.DataTypeGUID); fileCnsDataTypeList.Add(cnsDataType.DataTypeGUID, cnsDataType); FileSource.SaveCNSDataTypeData(fileCnsDataTypeList); } } return ret; }
private static string GetListSingleItemView(CNS_DataType cnsDataType, long pageNo, long itemsPerPage, long dataIndex, string templateSuffix) { string htmlTextItem = ""; if (cnsDataType != null) { string message; List<TemplateDataTypeListDetailItem.EditAction> editActionList = new List<TemplateDataTypeListDetailItem.EditAction>(); if (UtilsSecurity.HaveAdminRole() == true) { editActionList.Add(new TemplateDataTypeListDetailItem.EditAction { Id = cnsDataType.DataTypeID.ToString(), DataIndex = dataIndex.ToString(), PageNo = pageNo.ToString(), ItemsPerPage = itemsPerPage.ToString(), TemplateSuffix = templateSuffix }); } var templateItem = new TemplateDataTypeListDetailItem { DataType = cnsDataType.DataType, IsDefault = cnsDataType.IsDefault, IsInActive = !cnsDataType.IsActive, EditActionList = editActionList }; htmlTextItem = templateItem.GetFilled(templateSuffix, UtilsGeneric.Validate, UtilsGeneric.ThrowException, out message); } return htmlTextItem; }