示例#1
0
        //------------------------------------------
        #endregion

        #region --------------Create--------------
        /// <summary>
        /// Converts the Messages object properties to SQL paramters and executes the create Messages procedure
        /// and updates the Messages object with the SQL data by reference.
        /// <example>[Example]bool status=MessagesSqlDataPrvider.Instance.Create(msg);.</example>
        /// </summary>
        /// <param name="msg">The Messages object.</param>
        /// <returns>The status of create query.</returns>
        public bool Create(MessagesEntity msg)
        {
            using (SqlConnection myConnection = GetSqlConnection())
            {
                SqlCommand myCommand = new SqlCommand("Messages_Create", myConnection);
                myCommand.CommandType = CommandType.StoredProcedure;
                // Set the parameters
                myCommand.Parameters.Add("@MessageID", SqlDbType.Int, 4).Direction = ParameterDirection.Output;
                myCommand.Parameters.Add("@Name", SqlDbType.NVarChar, 128).Value   = msg.Name;
                myCommand.Parameters.Add("@Mobile", SqlDbType.NVarChar, 32).Value  = msg.Mobile;
                myCommand.Parameters.Add("@EMail", SqlDbType.VarChar, 128).Value   = msg.EMail;

                myCommand.Parameters.Add("@NationalityID", SqlDbType.Int, 4).Value    = msg.NationalityID;
                myCommand.Parameters.Add("@CountryID", SqlDbType.Int, 4).Value        = msg.CountryID;
                myCommand.Parameters.Add("@Address", SqlDbType.NVarChar, 256).Value   = msg.Address;
                myCommand.Parameters.Add("@JobTel", SqlDbType.NVarChar, 32).Value     = msg.JobTel;
                myCommand.Parameters.Add("@Type", SqlDbType.Int, 4).Value             = msg.Type;
                myCommand.Parameters.Add("@Title", SqlDbType.NVarChar, 128).Value     = msg.Title;
                myCommand.Parameters.Add("@Details", SqlDbType.NText).Value           = msg.Details;
                myCommand.Parameters.Add("@UserId", SqlDbType.UniqueIdentifier).Value = msg.UserId;
                myCommand.Parameters.Add("@ToItemID", SqlDbType.Int, 4).Value         = msg.ToItemID;
                myCommand.Parameters.Add("@ModuleTypeID", SqlDbType.Int, 4).Value     = (int)msg.ModuleTypeID;
                //------------------------------------------------------
                myCommand.Parameters.Add("@CategoryID", SqlDbType.Int, 4).Value         = msg.CategoryID;
                myCommand.Parameters.Add("@LangID", SqlDbType.Int, 4).Value             = (int)msg.LangID;
                myCommand.Parameters.Add("@ToUserID", SqlDbType.UniqueIdentifier).Value = msg.ToUserID;
                //------------------------------------------------------
                myCommand.Parameters.Add("@EmpNo", SqlDbType.Int, 4).Value           = msg.EmpNo;
                myCommand.Parameters.Add("@Gender", SqlDbType.Int, 4).Value          = (int)msg.Gender;
                myCommand.Parameters.Add("@BirthDate", SqlDbType.VarChar, 32).Value  = msg.BirthDate;
                myCommand.Parameters.Add("@SocialStatus", SqlDbType.Int, 4).Value    = msg.SocialStatus;
                myCommand.Parameters.Add("@EducationLevel", SqlDbType.Int, 4).Value  = msg.EducationLevel;
                myCommand.Parameters.Add("@CityID", SqlDbType.Int, 4).Value          = msg.CityID;
                myCommand.Parameters.Add("@UserCityName", SqlDbType.NVarChar).Value  = msg.UserCityName;
                myCommand.Parameters.Add("@Tel", SqlDbType.NVarChar, 32).Value       = msg.Tel;
                myCommand.Parameters.Add("@HasSmsService", SqlDbType.Bit, 1).Value   = msg.HasSmsService;
                myCommand.Parameters.Add("@HasEmailService", SqlDbType.Bit, 1).Value = msg.HasEmailService;
                myCommand.Parameters.Add("@AgeRang", SqlDbType.Int, 4).Value         = msg.AgeRang;
                //------------------------------------------------------
                myCommand.Parameters.Add("@Notes1", SqlDbType.NVarChar, 512).Value = msg.Notes1;
                myCommand.Parameters.Add("@Notes2", SqlDbType.NVarChar, 512).Value = msg.Notes2;
                //------------------------------------------------------
                myCommand.Parameters.Add("@Fax", SqlDbType.NVarChar, 32).Value          = msg.Fax;
                myCommand.Parameters.Add("@MailBox", SqlDbType.NVarChar, 32).Value      = msg.MailBox;
                myCommand.Parameters.Add("@ZipCode", SqlDbType.NVarChar, 32).Value      = msg.ZipCode;
                myCommand.Parameters.Add("@JobID", SqlDbType.Int, 4).Value              = msg.JobID;
                myCommand.Parameters.Add("@JobText", SqlDbType.NVarChar, 64).Value      = msg.JobText;
                myCommand.Parameters.Add("@Url", SqlDbType.NVarChar, 128).Value         = msg.Url;
                myCommand.Parameters.Add("@PhotoExtension", SqlDbType.VarChar, 5).Value = msg.PhotoExtension;
                //------------------------------------------------------
                myCommand.Parameters.Add("@Company", SqlDbType.NVarChar, 64).Value = msg.Company;
                myCommand.Parameters.Add("@ActivitiesID", SqlDbType.Int, 4).Value  = msg.ActivitiesID;
                myCommand.Parameters.Add("@ExtraData", SqlDbType.NVarChar).Value   = OurSerializer.Serialize(msg.ExtraData);
                //------------------------------------------------------
                myCommand.Parameters.Add("@FileExtension", SqlDbType.VarChar, 5).Value = msg.FileExtension;
                //------------------------------------------------------
                //New Parameters
                //-----------------
                myCommand.Parameters.Add("@IsMain", SqlDbType.Bit).Value = msg.IsMain;
                myCommand.Parameters.Add("@VideoExtension", SqlDbType.VarChar, 5).Value  = msg.VideoExtension;
                myCommand.Parameters.Add("@AudioExtension", SqlDbType.VarChar, 5).Value  = msg.AudioExtension;
                myCommand.Parameters.Add("@Priority", SqlDbType.Int, 4).Value            = (int)msg.Priority;
                myCommand.Parameters.Add("@Photo2Extension", SqlDbType.VarChar, 5).Value = msg.Photo2Extension;
                myCommand.Parameters.Add("@Height", SqlDbType.Int, 4).Value = msg.Height;
                myCommand.Parameters.Add("@Width", SqlDbType.Int, 4).Value  = msg.Width;
                //----------------------------------------------------------------------------------
                if (msg.ItemDate != DateTime.MinValue)
                {
                    myCommand.Parameters.Add("@ItemDate", SqlDbType.DateTime).Value = (DateTime)msg.ItemDate;
                }
                else
                {
                    myCommand.Parameters.Add("@ItemDate", SqlDbType.DateTime).Value = DBNull.Value;
                }
                //----------------------------------------------------------------------------------
                myCommand.Parameters.Add("@InsertUserName", SqlDbType.NVarChar, 64).Value = (string)msg.InsertUserName;
                myCommand.Parameters.Add("@YoutubeCode", SqlDbType.VarChar, 16).Value     = (string)msg.YoutubeCode;
                //----------------------------------------------------------------------------------
                myCommand.Parameters.Add("@GoogleLatitude", SqlDbType.NVarChar).Value  = msg.GoogleLatitude;
                myCommand.Parameters.Add("@GoogleLongitude", SqlDbType.NVarChar).Value = msg.GoogleLongitude;
                myCommand.Parameters.Add("@Price", SqlDbType.NVarChar, 128).Value      = msg.Price;
                myCommand.Parameters.Add("@OnlyForRegisered", SqlDbType.Bit).Value     = msg.OnlyForRegisered;
                //-------------------------------------
                myCommand.Parameters.Add("@PublishPhoto", SqlDbType.Bit).Value  = msg.PublishPhoto;
                myCommand.Parameters.Add("@PublishPhoto2", SqlDbType.Bit).Value = msg.PublishPhoto2;
                myCommand.Parameters.Add("@PublishFile", SqlDbType.Bit).Value   = msg.PublishFile;
                myCommand.Parameters.Add("@PublishAudio", SqlDbType.Bit).Value  = msg.PublishAudio;
                myCommand.Parameters.Add("@PublishVideo", SqlDbType.Bit).Value  = msg.PublishVideo;
                myCommand.Parameters.Add("@PublishYoutbe", SqlDbType.Bit).Value = msg.PublishYoutbe;
                //----------------------------------------------------------------------------------
                myCommand.Parameters.Add("@ShortDescription", SqlDbType.NText).Value = msg.ShortDescription;
                //----------------------------------------------------------------------------------
                myCommand.Parameters.Add("@OwnerID", SqlDbType.UniqueIdentifier).Value = msg.OwnerID;
                myCommand.Parameters.Add("@OwnerName", SqlDbType.VarChar).Value        = msg.OwnerName;
                //----------------------------------------------------------------------------------
                myCommand.Parameters.Add("@KeyWords", SqlDbType.NVarChar, 256).Value = msg.KeyWords;
                //----------------------------------------------------------------------------------


                // Execute the command
                bool status = false;
                myConnection.Open();
                if (myCommand.ExecuteNonQuery() > 0)
                {
                    status = true;
                    //Get ID value from database and set it in object
                    msg.MessageID = (int)myCommand.Parameters["@MessageID"].Value;
                }
                myConnection.Close();
                return(status);
            }
        }
示例#2
0
        protected object GetEntity(IDataReader reader, Type t)
        {
            object obj = Activator.CreateInstance(t);
            //object obj = new t();
            StringDictionary columnsNames = new StringDictionary();
            DataTable        dt           = reader.GetSchemaTable();
            //---------------------------------
            ProfilesEntity profile = null;
            string         columnname;

            for (int i = 0; i < reader.FieldCount; i++)
            {
                columnname = reader.GetName(i);
                if (!columnsNames.ContainsKey(columnname))
                {
                    columnsNames.Add(columnname, null);
                    PropertyInfo myPropInfo;
                    myPropInfo = t.GetProperty(columnname);
                    if (reader[columnname] != DBNull.Value && myPropInfo != null)
                    {
                        //myPropInfo.SetValue(obj, Convert.ChangeType(reader[columnname], myPropInfo.PropertyType), null);

                        if (myPropInfo.PropertyType.BaseType == typeof(System.Enum))
                        {
                            //int intVal = Convert.ToInt32(attr.Value);
                            myPropInfo.SetValue(obj, Enum.Parse(myPropInfo.PropertyType, reader[columnname].ToString()), null);
                            //Enum.Parse(typeof(myPropInfo.), "FirstName");
                        }

                        /*
                         * else if (reader[columnname].GetType() == typeof(Byte[]))
                         * {
                         * byte[] buf = (byte[])reader[columnname];
                         * myPropInfo.SetValue(obj, Convert.ChangeType(OurSerializer.Deserialize(buf), myPropInfo.PropertyType), null);
                         * }*/
                        else if (columnname.ToLower() == "extradata")
                        {
                            string buf = (string)reader[columnname];
                            myPropInfo.SetValue(obj, Convert.ChangeType(OurSerializer.Deserialize(buf), myPropInfo.PropertyType), null);
                        }

                        else
                        {
                            myPropInfo.SetValue(obj, Convert.ChangeType(reader[columnname], myPropInfo.PropertyType), null);
                        }
                    }
                    else
                    {
                        if (columnname.ToLower() == "propertynames")
                        {
                            if (profile == null)
                            {
                                profile = new ProfilesEntity();
                            }
                            if (reader["PropertyNames"] != DBNull.Value)
                            {
                                profile.PropertyNames = (string)reader["PropertyNames"];
                            }
                        }
                        else if (columnname.ToLower() == "propertyvaluesstring")
                        {
                            if (profile == null)
                            {
                                profile = new ProfilesEntity();
                            }
                            if (reader["PropertyValuesString"] != DBNull.Value)
                            {
                                profile.PropertyValuesString = (string)reader["PropertyValuesString"];
                            }
                        }
                    }
                }
            }
            if (profile != null)
            {
                PropertyInfo myPropInfo = t.GetProperty("Profile");
                if (myPropInfo != null)
                {
                    //-------------------------------------------------------------
                    object objProfile = Activator.CreateInstance(myPropInfo.PropertyType);
                    //-------------------------------------------------------------
                    //-------------------------------------------------------------
                    ProfilesEntity Tempprofile = (ProfilesEntity)objProfile;
                    Tempprofile.PropertyNames        = profile.PropertyNames;
                    Tempprofile.PropertyValuesString = profile.PropertyValuesString;
                    //-------------------------------------------------------------
                    ProfileBuilder.ParseProfileData(Tempprofile.PropertyNames, Tempprofile.PropertyValuesString, Tempprofile.PropertyValueCollection);
                    //-------------------------------------------------------------
                    myPropInfo.SetValue(obj, objProfile, null);
                    //-------------------------------------------------------------
                }
            }
            //---------------------------------
            return(obj);
        }