Exemplo n.º 1
0
        public bool ValidateLogin()
        {
            bool result;

            StoredProcedure proc = new StoredProcedure(Constants.CONNECTION_STRING, Constants.STORED_PROC_VALIDATE_LOGIN);

            proc.AddInput("@userName", UserName.Trim(), System.Data.SqlDbType.VarChar);
            proc.AddInput("@password", Password.Trim(), System.Data.SqlDbType.VarChar);

            System.Data.SqlClient.SqlParameter idParam = proc.AddOutput("@userId", System.Data.SqlDbType.Int);

            result = proc.Execute();

            if (result)
            {
                if (idParam.Value != DBNull.Value)
                {
                    UserId = Convert.ToInt32(idParam.Value);
                }
                else
                {
                    UserId = 0;
                }
            }
            else
            {
                UserId = 0;
            }

            return(result);
        }
Exemplo n.º 2
0
        public bool UpdatePassword(string oldPassword)
        {
            bool result;

            StoredProcedure proc = new StoredProcedure(Constants.CONNECTION_STRING, Constants.STORED_PROC_CHANGE_PASSWORD);

            proc.AddInput("@userId", UserId, System.Data.SqlDbType.Int);
            proc.AddInput("@oldPassword", oldPassword.Trim(), System.Data.SqlDbType.VarChar);
            proc.AddInput("@newPassword", Password.Trim(), System.Data.SqlDbType.VarChar);

            System.Data.SqlClient.SqlParameter resultParam = proc.AddOutput("@result", System.Data.SqlDbType.Bit);

            result = proc.Execute();

            if (result)
            {
                result = Convert.ToBoolean(resultParam.Value);

                if (!result)
                {
                    throw new Exception("Old password incorrect.");
                }
            }

            return(result);
        }
        public GetNotificationsResponse GetNotifications(LacesRequest request)
        {
            GetNotificationsResponse response = new GetNotificationsResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    StoredProcedure proc = new StoredProcedure(Constants.CONNECTION_STRING, Constants.STORED_PROC_GET_NOTIFICATIONS);

                    proc.AddInput("@userId", request.UserId, System.Data.SqlDbType.Int);

                    DataSet resultSet = proc.ExecuteDataSet();

                    if (resultSet.Tables.Count > 0 && resultSet.Tables[0].Rows != null && resultSet.Tables[0].Rows.Count > 0)
                    {
                        response.Notifications = new List <Notification>();

                        foreach (DataRow row in resultSet.Tables[0].Rows)
                        {
                            Notification alert = new Notification();

                            alert.CreatedDate      = Convert.ToDateTime(row["CreatedDate"]);
                            alert.NotificationType = Convert.ToInt32(row["NotificationTypeId"]);
                            alert.ProductId        = Convert.ToInt32(row["ProductId"]);
                            alert.UserName         = Convert.ToString(row["UserName"]);

                            response.Notifications.Add(alert);
                        }

                        response.Success = true;
                        response.Message = "Notifications retrieved succesfully.";
                    }
                    else
                    {
                        response.Success = true;
                        response.Message = "Could not find any notifications to display.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch
            {
                response         = new GetNotificationsResponse();
                response.Success = false;
                response.Message = "An unexpected error has occurred; please verify the format of your request.";
            }

            return(response);
        }
Exemplo n.º 4
0
        // User must use a stored procedure so that the SQL server can handle password encryption.
        public override bool Add()
        {
            bool result;

            StoredProcedure proc = new StoredProcedure(Constants.CONNECTION_STRING, Constants.STORED_PROC_ADD_USER);

            proc.AddInput("@userName", UserName.Trim(), System.Data.SqlDbType.VarChar);
            proc.AddInput("@email", Email.Trim(), System.Data.SqlDbType.VarChar);
            proc.AddInput("@password", Password.Trim(), System.Data.SqlDbType.VarChar);
            proc.AddInput("@displayName", DisplayName.Trim(), System.Data.SqlDbType.VarChar);
            proc.AddInput("@description", Description.Trim(), System.Data.SqlDbType.VarChar);

            System.Data.SqlClient.SqlParameter idParam = proc.AddOutput("@userId", System.Data.SqlDbType.Int);

            result = proc.Execute();

            if (result)
            {
                UserId = Convert.ToInt32(idParam.Value);
            }

            return(result);
        }
Exemplo n.º 5
0
        public GetInterestFeedResponse GetInterestFeed(LacesRequest request)
        {
            GetInterestFeedResponse response = new GetInterestFeedResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    StoredProcedure proc = new StoredProcedure(Constants.CONNECTION_STRING, Constants.STORED_PROC_GET_INTEREST_FEED);

                    proc.AddInput("@userId", request.UserId, System.Data.SqlDbType.Int);

                    DataSet resultSet = proc.ExecuteDataSet();

                    if (resultSet.Tables.Count > 0 && resultSet.Tables[0].Rows != null && resultSet.Tables[0].Rows.Count > 0)
                    {
                        response.Products = new List <int>();

                        foreach (DataRow row in resultSet.Tables[0].Rows)
                        {
                            response.Products.Add(Convert.ToInt32(row["ProductId"]));
                        }

                        response.Success = true;
                        response.Message = "Operation complete.";
                    }
                    else
                    {
                        response.Success = true;
                        response.Message = "Could not find any products to display.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch
            {
                response         = new GetInterestFeedResponse();
                response.Success = false;
                response.Message = "An unexpected error has occurred; please verify the format of your request.";
            }

            return(response);
        }
Exemplo n.º 6
0
        public override bool Update()
        {
            bool result;

            StoredProcedure proc = new StoredProcedure(Constants.CONNECTION_STRING, Constants.STORED_PROC_UPDATE_USER);

            proc.AddInput("@UserId", UserId, System.Data.SqlDbType.Int);
            proc.AddInput("@displayName", DisplayName.Trim(), System.Data.SqlDbType.VarChar);
            proc.AddInput("@description", Description.Trim(), System.Data.SqlDbType.VarChar);
            proc.AddInput("@usersFollowed", UsersFollowed, System.Data.SqlDbType.Int);
            proc.AddInput("@usersFollowing", UsersFollowing, System.Data.SqlDbType.Int);
            proc.AddInput("@lastAlertCheck", LastAlertCheck, System.Data.SqlDbType.DateTime);

            result = proc.Execute();

            return(result);
        }
Exemplo n.º 7
0
        public GetFollowingFeedResponse GetFollowingFeed(LacesRequest request)
        {
            GetFollowingFeedResponse response = new GetFollowingFeedResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    StoredProcedure proc = new StoredProcedure(Constants.CONNECTION_STRING, Constants.STORED_PROC_GET_FOLLOWING_FEED);

                    proc.AddInput("@userId", request.UserId, System.Data.SqlDbType.Int);

                    DataSet resultSet = proc.ExecuteDataSet();

                    if (resultSet.Tables.Count > 0 && resultSet.Tables[0].Rows != null && resultSet.Tables[0].Rows.Count > 0)
                    {
                        response.Products = new List <FeedItem>();

                        foreach (DataRow row in resultSet.Tables[0].Rows)
                        {
                            FeedItem item = new FeedItem();

                            int feedResultType = Convert.ToInt32(row["FeedResultType"]);

                            item.CreatedDate = Convert.ToDateTime(row["CreatedDate"]);

                            switch (feedResultType)
                            {
                            case 0: item.FeedResultTypeMessage = string.Empty; break;

                            case 1: item.FeedResultTypeMessage = Convert.ToString(row["UserName"]) + " liked this."; break;

                            case 2: item.FeedResultTypeMessage = Convert.ToString(row["UserName"]) + " commented on this."; break;
                            }

                            item.ProductId = Convert.ToInt32(row["ProductId"]);

                            response.Products.Add(item);
                        }
                    }
                    else
                    {
                        response.Success = true;
                        response.Message = "Could not find any products to display.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch
            {
                response         = new GetFollowingFeedResponse();
                response.Success = false;
                response.Message = "An unexpected error has occurred; please verify the format of your request.";
            }

            return(response);
        }