Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
        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;
        }
Exemplo n.º 5
0
        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;
        }