/// <summary>
        /// Saves the configuration.
        /// </summary>
        /// <param name="name">The name.</param>
        /// <param name="obj">The obj.</param>
        /// <param name="userName">Name of the user.</param>
        /// <returns></returns>
        public virtual int SaveConfiguration(string name, object obj, string userName)
        {
            Validator.ValidateStringArgumentIsNotNullOrEmptyString(name, NAME);
            Validator.ValidateArgumentIsSerializable(obj, OBJ);
            Validator.ValidateStringArgumentIsNotNullOrEmptyString(userName, USERNAME);

            Serializer serializer = new Serializer();
            string     xml        = serializer.SerializeObject(obj, obj.GetType());

            ConfigurationDatum configurationDatum = new ConfigurationDatum(ConfigurationDatum.Columns.Name, name);

            configurationDatum.Name   = name;
            configurationDatum.Type   = obj.GetType().AssemblyQualifiedName;
            configurationDatum.ValueX = xml.Trim();
            if (configurationDatum.ConfigurationDataId == 0)
            {
                configurationDatum.CreatedDate = DateTime.UtcNow;
            }
            else
            {
                configurationDatum.ModifiedDate = DateTime.UtcNow;
            }
            configurationDatum.Save(userName);
            return(configurationDatum.ConfigurationDataId);
        }
        public void Insert(string Name,string Type,string ValueX,string CreatedBy,DateTime CreatedDate,string ModifiedBy,DateTime ModifiedDate,bool IsDeleted)
        {
            ConfigurationDatum item = new ConfigurationDatum();

            item.Name = Name;

            item.Type = Type;

            item.ValueX = ValueX;

            item.CreatedBy = CreatedBy;

            item.CreatedDate = CreatedDate;

            item.ModifiedBy = ModifiedBy;

            item.ModifiedDate = ModifiedDate;

            item.IsDeleted = IsDeleted;

            item.Save(UserName);
        }
        /// <summary>
        /// Saves the configuration.
        /// </summary>
        /// <param name="name">The name.</param>
        /// <param name="obj">The obj.</param>
        /// <param name="userName">Name of the user.</param>
        /// <returns></returns>
        public virtual int SaveConfiguration(string name, object obj, string userName)
        {
            Validator.ValidateStringArgumentIsNotNullOrEmptyString(name, NAME);
              Validator.ValidateArgumentIsSerializable(obj, OBJ);
              Validator.ValidateStringArgumentIsNotNullOrEmptyString(userName, USERNAME);

              Serializer serializer = new Serializer();
              string xml = serializer.SerializeObject(obj, obj.GetType());

              ConfigurationDatum configurationDatum = new ConfigurationDatum(ConfigurationDatum.Columns.Name, name);
              configurationDatum.Name = name;
              configurationDatum.Type = obj.GetType().AssemblyQualifiedName;
              configurationDatum.ValueX = xml.Trim();
              if (configurationDatum.ConfigurationDataId == 0) {
            configurationDatum.CreatedDate = DateTime.UtcNow;
              }
              else {
            configurationDatum.ModifiedDate = DateTime.UtcNow;
              }
              configurationDatum.Save(userName);
              return configurationDatum.ConfigurationDataId;
        }