Exemplo n.º 1
0
        /// <summary>
        /// Log a dialog view
        /// </summary>
        /// <returns>true, if the view has been added</returns>
        internal static bool AddView(Guid userId, Business.Dialog dialog, int recurring)
        {
            bool viewAdded = false;
            SqlConnectionHelper sqlConnection = new SqlConnectionHelper();

            try
            {
                sqlConnection.Command.CommandType = CommandType.StoredProcedure;
                sqlConnection.Command.CommandText = "hisp_Dialogs_AddView";
                sqlConnection.Command.Parameters.Add(new SqlParameter("@DialogId", SqlDbType.UniqueIdentifier));
                sqlConnection.Command.Parameters["@DialogId"].Value = dialog.DialogId;
                sqlConnection.Command.Parameters.Add(new SqlParameter("@UserId", SqlDbType.UniqueIdentifier));
                sqlConnection.Command.Parameters["@UserId"].Value = userId;
                sqlConnection.Command.Parameters.Add(new SqlParameter("@TimeSpanSecond", SqlDbType.Int));
                sqlConnection.Command.Parameters["@TimeSpanSecond"].Value = recurring;
                sqlConnection.Command.Parameters.Add(new SqlParameter("@ViewAdded", SqlDbType.Bit));
                sqlConnection.Command.Parameters["@ViewAdded"].Direction = ParameterDirection.ReturnValue;
                sqlConnection.Command.ExecuteNonQuery();
                viewAdded = ((int)sqlConnection.Command.Parameters["@ViewAdded"].Value == 1) ? true : false;
            }
            finally
            {
                sqlConnection.Close();
            }
            return(viewAdded);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Get the number of joined communities
        /// </summary>
        internal static int GetCommunityMembershipCount(Guid userId, Business.Dialog dialog)
        {
            int communityMembershipCount      = 0;
            SqlConnectionHelper sqlConnection = new SqlConnectionHelper();

            System.Data.SqlClient.SqlDataReader sqlDataReader = null;
            try
            {
                sqlConnection.Command.CommandType = CommandType.StoredProcedure;
                sqlConnection.Command.CommandText = "hisp_Community_MembershipCount";
                sqlConnection.Command.Parameters.Add(new SqlParameter("@UserId", SqlDbType.UniqueIdentifier));
                sqlConnection.Command.Parameters["@UserId"].Value = userId;
                sqlDataReader = sqlConnection.Command.ExecuteReader(CommandBehavior.CloseConnection);
                if (sqlDataReader.Read())
                {
                    communityMembershipCount = int.Parse(sqlDataReader["CUR_Count"].ToString());
                }
                sqlDataReader.Close();
            }
            finally
            {
                sqlConnection.Close();
            }
            return(communityMembershipCount);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Get the number of days since the user registration, if the user never changed its profile
        /// </summary>
        internal static int GetProfileUnchangedInDays(Guid userId, Business.Dialog dialog)
        {
            int daysWithoutChange = 0;

            try
            {
                Business.DataObjectUser dataObjectUser = Business.DataObject.Load <Business.DataObjectUser>(userId);
                TimeSpan lifeSpan          = DateTime.Now - dataObjectUser.Inserted;
                TimeSpan unChangedTimeSpan = dataObjectUser.Updated - dataObjectUser.Inserted;
                if (dialog.Parameters["type"].ToLower() == "photo")
                {
                    if (string.IsNullOrEmpty(dataObjectUser.Image) && unChangedTimeSpan.Days < 1)
                    {
                        daysWithoutChange = lifeSpan.Days;
                    }
                }
                else if (dialog.Parameters["type"].ToLower() == "data")
                {
                    if (unChangedTimeSpan.Days < 1)
                    {
                        daysWithoutChange = lifeSpan.Days;
                    }
                }
            }
            finally
            {
            }
            return(daysWithoutChange);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Check if the dialog condition method return value is >= the condition true value
        /// </summary>
        /// <param name="userId">A unique user id</param>
        /// <returns>true, if the dialog should be displayed</returns>
        internal static bool IsConditionTrue(Guid userId, Business.Dialog dialog)
        {
            try
            {
                int recurring = 0;
                if (dialog.Parameters.ContainsKey("recurring"))
                {
                    recurring = int.Parse(dialog.Parameters["recurring"]);
                }

                MembershipUser user = Membership.GetUser(userId);
                if (user.CreationDate > dialog.ActiveFromDate && !Data.Dialog.AlreadyViewed(userId, dialog, recurring))
                {
                    int conditionReturnValue = (int)dialog.ConditionMethodInfo.Invoke(null, new object[] { userId, dialog });
                    if (conditionReturnValue >= dialog.ConditionTrueValue)
                    {
                        if (Data.Dialog.AddView(userId, dialog, recurring))
                        {
                            return(true);
                        }
                    }
                }
            }
            finally
            {
            }
            return(false);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Get the number of created objects for a given type id
        /// </summary>
        internal static int GetObjectCountByType(Guid userId, Business.Dialog dialog)
        {
            int objectCount = 0;
            SqlConnectionHelper sqlConnection = new SqlConnectionHelper();

            System.Data.SqlClient.SqlDataReader sqlDataReader = null;
            try
            {
                sqlConnection.Command.CommandType = CommandType.StoredProcedure;
                sqlConnection.Command.CommandText = "hisp_DataObject_CountByUserAndType";
                sqlConnection.Command.Parameters.Add(new SqlParameter("@UserId", SqlDbType.UniqueIdentifier));
                sqlConnection.Command.Parameters["@UserId"].Value = userId;
                sqlConnection.Command.Parameters.Add(new SqlParameter("@ObjectTypeId", SqlDbType.Int));
                sqlConnection.Command.Parameters["@ObjectTypeId"].Value = dialog.Parameters["objectTypeId"];
                sqlDataReader = sqlConnection.Command.ExecuteReader(CommandBehavior.CloseConnection);
                if (sqlDataReader.Read())
                {
                    objectCount = int.Parse(sqlDataReader["OBJ_Count"].ToString());
                }
                sqlDataReader.Close();
            }
            finally
            {
                sqlConnection.Close();
            }
            return(objectCount);
        }
Exemplo n.º 6
0
 internal bool IsMatch(Business.Dialog dialog)
 {
     foreach (string pageName in pageNames)
     {
         if (dialog.PageName == pageName)
         {
             return(true);
         }
     }
     return(false);
 }
Exemplo n.º 7
0
 /// <summary>
 /// Get the number of months since the user registration
 /// </summary>
 internal static int GetMembershipAgeInMonth(Guid userId, Business.Dialog dialog)
 {
     try
     {
         MembershipUser user     = Membership.GetUser(userId);
         TimeSpan       timeSpan = DateTime.Now - user.CreationDate;
         return(timeSpan.Days / 30);
     }
     catch
     {
         return(0);
     }
     finally
     {
     }
 }
Exemplo n.º 8
0
 /// <summary>
 /// Get the number of days since the last login
 /// </summary>
 internal static int GetLastLoginInDays(Guid userId, Business.Dialog dialog)
 {
     try
     {
         MembershipUser user     = Membership.GetUser(userId);
         TimeSpan       timeSpan = DateTime.Now - user.LastLoginDate;
         return(timeSpan.Days);
     }
     catch
     {
         return(0);
     }
     finally
     {
     }
 }
Exemplo n.º 9
0
        /// <summary>
        /// Get the number of incentive points
        /// </summary>
        internal static int GetIncentivePoints(Guid userId, Business.Dialog dialog)
        {
            int incentivePoints = 0;

            try
            {
                List <IncentivePoint> points = IncentivePointsManager.GetIncentivePointsHistory(userId);
                foreach (IncentivePoint point in points)
                {
                    incentivePoints += point.TotalPoints;
                }
            }
            finally
            {
            }
            return(incentivePoints);
        }
Exemplo n.º 10
0
        private static void InitDialogEngine()
        {
            dialogList = new List <Business.Dialog>();

            SqlConnectionHelper sqlConnection = new SqlConnectionHelper();

            System.Data.SqlClient.SqlDataReader sqlDataReader = null;
            try
            {
                sqlConnection.Command.CommandType = CommandType.StoredProcedure;
                sqlConnection.Command.CommandText = "hisp_Dialogs_LoadAll";
                sqlDataReader = sqlConnection.Command.ExecuteReader(CommandBehavior.CloseConnection);
                while (sqlDataReader.Read())
                {
                    Dictionary <string, string> parameterTable = new Dictionary <string, string>();
                    string rawParameters = sqlDataReader["DIA_Parameter"].ToString();
                    if (!string.IsNullOrEmpty(rawParameters))
                    {
                        string[] parametersArray = rawParameters.Split(new char[] { ';' });
                        foreach (string parameterPair in parametersArray)
                        {
                            string[] parameterPairArray = parameterPair.Split(new char[] { '=' });
                            if (parameterPairArray.Length == 2)
                            {
                                parameterTable.Add(parameterPairArray[0], parameterPairArray[1]);
                            }
                        }
                    }

                    MethodInfo methodInfo = typeof(Data.Dialog).GetMethod(sqlDataReader["DIA_Condition"].ToString(), BindingFlags.Static | BindingFlags.NonPublic, null, new Type[] { typeof(Guid), typeof(Business.Dialog) }, null);

                    Business.Dialog dialog = new Business.Dialog(new Guid(sqlDataReader["DIA_ID"].ToString()), sqlDataReader["DIA_Page"].ToString(), (DateTime)sqlDataReader["DIA_ActiveFromDate"], methodInfo, parameterTable, (int)sqlDataReader["DIA_ConditionTrueValue"], sqlDataReader["DIA_Title"].ToString(), sqlDataReader["DIA_Content"].ToString());
                    dialogList.Add(dialog);
                }
                sqlDataReader.Close();
            }
            finally
            {
                sqlConnection.Close();
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// Get the number of upcoming birthdays for all activated friends
        /// </summary>
        internal static int GetFriendsBirthdays(Guid userId, Business.Dialog dialog)
        {
            int friendsBirthdayCount          = 0;
            SqlConnectionHelper sqlConnection = new SqlConnectionHelper();

            System.Data.SqlClient.SqlDataReader sqlDataReader = null;
            try
            {
                sqlConnection.Command.CommandType = CommandType.StoredProcedure;
                sqlConnection.Command.CommandText = "hisp_UserFriend_GetBirthdates";
                sqlConnection.Command.Parameters.Add(new SqlParameter("@UserId", SqlDbType.UniqueIdentifier));
                sqlConnection.Command.Parameters["@UserId"].Value = userId;
                sqlDataReader = sqlConnection.Command.ExecuteReader(CommandBehavior.CloseConnection);
                while (sqlDataReader.Read())
                {
                    try
                    {
                        DateTime birthDate         = (DateTime)sqlDataReader["UPD_Birthday"];
                        DateTime birthDay          = new DateTime(DateTime.Now.Year, birthDate.Month, birthDate.Day);
                        TimeSpan daysUntilBirthday = birthDay - new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59);
                        if (daysUntilBirthday.TotalDays > 0 && daysUntilBirthday.TotalDays <= 1)
                        {
                            friendsBirthdayCount++;
                        }
                    }
                    catch
                    {
                    }
                }
                sqlDataReader.Close();
            }
            finally
            {
                sqlConnection.Close();
            }
            return(friendsBirthdayCount);
        }
Exemplo n.º 12
0
 /// <summary>
 /// Always returns 1
 /// </summary>
 internal static int GetUnconditional(Guid userId, Business.Dialog dialog)
 {
     return(1);
 }