Пример #1
0
        public LacesResponse ProcessTransaction(ProcessTransactionRequest request)
        {
            LacesResponse response = new LacesResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    LacesDataModel.User.User       buyer   = new LacesDataModel.User.User(request.BuyerId);
                    LacesDataModel.User.User       seller  = new LacesDataModel.User.User(request.SellerId);
                    LacesDataModel.Product.Product product = new LacesDataModel.Product.Product(request.ProductId);

                    Transaction trans = new Transaction();

                    trans.Amount          = request.Amount;
                    trans.BuyerId         = buyer.UserId;
                    trans.ProductId       = product.ProductId;
                    trans.ReferenceNumber = request.ReferenceNumber;
                    trans.SellerId        = seller.UserId;
                    trans.CreatedDate     = DateTime.Now;

                    if (trans.Add())
                    {
                        product.ProductStatusId = (int)ProductStatusOptions.Sold;

                        product.Update();

                        response.Success = true;
                        response.Message = "Transaction data saved succesfully.";
                    }
                    else
                    {
                        response.Success = false;
                        response.Message = "An error occurred when communicating with the database.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch (Exception ex)
            {
                response         = new LacesResponse();
                response.Success = false;

                if (ex.Message.Contains("find user") || ex.Message.Contains("find product"))
                {
                    response.Message = ex.Message;
                }
                else
                {
                    response.Message = "An unexpected error has occurred; please verify the format of your request.";
                }
            }

            return(response);
        }
Пример #2
0
        public LacesResponse UnfollowUser(UserFollowRequest request)
        {
            LacesResponse response = new LacesResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    LacesDataModel.User.User followedUser  = new LacesDataModel.User.User(request.FollowedUserId);
                    LacesDataModel.User.User followingUser = new LacesDataModel.User.User(request.UserId);

                    UserFollow follow = new UserFollow();
                    follow.LoadByUserids(followingUser.UserId, followedUser.UserId);

                    if (follow.UserFollowId > 0 && follow.Delete())
                    {
                        followedUser.UsersFollowing--;
                        followedUser.Update();

                        followingUser.UsersFollowed--;
                        followingUser.Update();

                        response.Success = true;
                        response.Message = "Operation completed successfully";
                    }
                    else
                    {
                        response.Success = false;
                        response.Message = "An error occurred when communicating with the database.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch (Exception ex)
            {
                response.Success = false;

                if (ex.Message.Contains("find user"))
                {
                    response.Message = ex.Message;
                }
                else
                {
                    response.Message = "An unexpected error has occurred; please verify the format of your request.";
                }
            }

            return(response);
        }
Пример #3
0
        public LacesResponse LikeProduct(ProductRequest request)
        {
            LacesResponse response = new LacesResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    // Confirm user and product exist
                    LacesDataModel.User.User       user    = new LacesDataModel.User.User(request.UserId);
                    LacesDataModel.Product.Product product = new LacesDataModel.Product.Product(request.ProductId);

                    UserLike like = new UserLike();
                    like.UserId      = user.UserId;
                    like.ProductId   = product.ProductId;
                    like.CreatedDate = DateTime.Now;

                    if (like.Add())
                    {
                        response.Success = true;
                        response.Message = "Operation completed.";
                    }
                    else
                    {
                        response.Success = false;
                        response.Message = "An error occurred when communicating with the database.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch (Exception ex)
            {
                response         = new LacesResponse();
                response.Success = false;

                if (ex.Message.Contains("find user") || ex.Message.Contains("find product") || ex.Message.Contains("find like"))
                {
                    response.Message = ex.Message;
                }
                else
                {
                    response.Message = "An unexpected error has occurred; please verify the format of your request.";
                }
            }

            return(response);
        }
Пример #4
0
        public LacesResponse AddTag(AddTagRequest request)
        {
            LacesResponse response = new LacesResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    LacesDataModel.Product.Product product = new LacesDataModel.Product.Product(request.ProductId); // Verify product exists

                    LacesDataModel.Product.Tag tag = new LacesDataModel.Product.Tag();

                    tag.ProductId   = product.ProductId;
                    tag.Description = request.Description;

                    if (tag.Add())
                    {
                        response.Success = true;
                        response.Message = "Tag succesfully added.";
                    }
                    else
                    {
                        response.Success = false;
                        response.Message = "An error occurred when communicating with the database.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch (Exception ex)
            {
                response         = new LacesResponse();
                response.Success = false;

                if (ex.Message.Contains("find product"))
                {
                    response.Message = ex.Message;
                }
                else
                {
                    response.Message = "An unexpected error has occurred; please verify the format of your request.";
                }
            }

            return(response);
        }
Пример #5
0
        public LacesResponse UpdateComment(UpdateCommentRequest request)
        {
            LacesResponse response = new LacesResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    Comment comment = new Comment(request.CommentId);

                    comment.Text        = request.Text;
                    comment.UpdatedDate = DateTime.Now;

                    if (comment.Update())
                    {
                        response.Success = true;
                        response.Message = "Comment updated succesfully.";
                    }
                    else
                    {
                        response.Success = false;
                        response.Message = "An error occurred when communicating with the database.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch (Exception ex)
            {
                response         = new LacesResponse();
                response.Success = false;

                if (ex.Message.Contains("find comment"))
                {
                    response.Message = ex.Message;
                }
                else
                {
                    response.Message = "An unexpected error has occurred; please verify the format of your request.";
                }
            }

            return(response);
        }
Пример #6
0
        public LacesResponse AddComment(AddCommentRequest request)
        {
            LacesResponse response = new LacesResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    Comment comment = new Comment();

                    // Confirm user and product exist
                    LacesDataModel.User.User       user    = new LacesDataModel.User.User(request.UserId);
                    LacesDataModel.Product.Product product = new LacesDataModel.Product.Product(request.ProductId);

                    comment.CreatedDate = DateTime.Now;
                    comment.ProductId   = product.ProductId;
                    comment.Text        = request.Text;
                    comment.UpdatedDate = DateTime.Now;
                    comment.UserId      = user.UserId;

                    if (comment.Add())
                    {
                        response.Success = true;
                        response.Message = "Comment added succesfully.";
                    }
                    else
                    {
                        response.Success = false;
                        response.Message = "An error occurred when communicating with the database.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch
            {
                response         = new LacesResponse();
                response.Success = false;
                response.Message = "An unexpected error has occurred; please verify the format of your request.";
            }

            return(response);
        }
        public LacesResponse UpdateAlertCheckTime(LacesRequest request)
        {
            LacesResponse response = new LacesResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    LacesDataModel.User.User user = new LacesDataModel.User.User(request.UserId);

                    user.LastAlertCheck = DateTime.Now;

                    if (user.Update())
                    {
                        response.Success = true;
                        response.Message = "Operation complete.";
                    }
                    else
                    {
                        response.Success = false;
                        response.Message = "An error occurred when communicating with the database.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch (Exception ex)
            {
                response         = new LacesResponse();
                response.Success = false;

                if (ex.Message.Contains("find user"))
                {
                    response.Message = ex.Message;
                }
                else
                {
                    response.Message = "An unexpected error has occurred; please verify the format of your request.";
                }
            }

            return(response);
        }
Пример #8
0
        public LacesResponse RemoveProduct(ProductRequest request)
        {
            LacesResponse response = new LacesResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    LacesDataModel.Product.Product product = new LacesDataModel.Product.Product(request.ProductId);

                    product.ProductStatusId = (int)ProductStatusOptions.Removed;

                    if (product.Update())
                    {
                        response.Success = true;
                        response.Message = "Product succesfully removed.";
                    }
                    else
                    {
                        response.Success = false;
                        response.Message = "An error occurred when communicating with the database.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch (Exception ex)
            {
                response         = new LacesResponse();
                response.Success = false;

                if (ex.Message.Contains("find product"))
                {
                    response.Message = ex.Message;
                }
                else
                {
                    response.Message = "An unexpected error has occurred; please verify the format of your request.";
                }
            }

            return(response);
        }
Пример #9
0
        public LacesResponse ChangeUserPassword(UpdatePasswordRequest request)
        {
            LacesResponse response = new LacesResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    LacesDataModel.User.User user = new LacesDataModel.User.User(request.UserId);

                    user.Password = request.NewPassword;

                    if (user.UpdatePassword(request.OldPassword))
                    {
                        response.Success = true;
                        response.Message = "Update complete.";
                    }
                    else
                    {
                        response.Success = false;
                        response.Message = "An error occurred when communicating with the database.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch (Exception ex)
            {
                response.Success = false;

                if (ex.Message.Contains("incorrect") || ex.Message.Contains("find user"))
                {
                    response.Message = ex.Message;
                }
                else
                {
                    response.Message = "An unexpected error has occurred; please verify the format of your request.";
                }
            }

            return(response);
        }
Пример #10
0
        public LacesResponse RemoveLike(RemoveLikeRequest request)
        {
            LacesResponse response = new LacesResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    UserLike like = new UserLike(request.UserLikeId);

                    if (like.Delete())
                    {
                        response.Success = true;
                        response.Message = "Operation completed.";
                    }
                    else
                    {
                        response.Success = false;
                        response.Message = "An error occurred when communicating with the database.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch (Exception ex)
            {
                response.Success = false;

                if (ex.Message.Contains("find like"))
                {
                    response.Message = ex.Message;
                }
                else
                {
                    response.Message = "An unexpected error has occurred; please verify the format of your request.";
                }
            }

            return(response);
        }
Пример #11
0
        public LacesResponse RemoveFromInterestQueue(ProductRequest request)
        {
            LacesResponse response = new LacesResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    // Confirm user and product exist
                    LacesDataModel.User.User       user    = new LacesDataModel.User.User(request.UserId);
                    LacesDataModel.Product.Product product = new LacesDataModel.Product.Product(request.ProductId);

                    UserInterestQueue userInterest = new UserInterestQueue();

                    userInterest.LoadByUserAndProductIds(user.UserId, product.ProductId);

                    if (userInterest.UserInterestQueueId == 0)
                    {
                        userInterest.UserId     = user.UserId;
                        userInterest.ProductId  = product.ProductId;
                        userInterest.Interested = false;

                        if (userInterest.Add())
                        {
                            response.Success = true;
                            response.Message = "Operation completed.";
                        }
                        else
                        {
                            response.Success = false;
                            response.Message = "An error occurred when communicating with the database.";
                        }
                    }
                    else if (userInterest.Interested == true)
                    {
                        userInterest.Interested = false;

                        if (userInterest.Update())
                        {
                            response.Success = true;
                            response.Message = "Operation completed.";
                        }
                        else
                        {
                            response.Success = false;
                            response.Message = "An error occurred when communicating with the database.";
                        }
                    }
                    else
                    {
                        response.Success = true;
                        response.Message = "Operation completed.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch (Exception ex)
            {
                response         = new LacesResponse();
                response.Success = false;

                if (ex.Message.Contains("find user") || ex.Message.Contains("find product") || ex.Message.Contains("find like"))
                {
                    response.Message = ex.Message;
                }
                else
                {
                    response.Message = "An unexpected error has occurred; please verify the format of your request.";
                }
            }

            return(response);
        }
Пример #12
0
        public LacesResponse UpdateProfileImage(AddImageRequest request)
        {
            LacesResponse response = new LacesResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    LacesDataModel.User.User user = new LacesDataModel.User.User(request.AssociatedEntityId);

                    string fileName = user.UserName + "." + request.ImageInfo.FileFormat;
                    string filePath = ConfigurationManager.AppSettings[Constants.APP_SETTING_USER_AVATAR_DIRECTORY] + fileName;

                    File.WriteAllBytes(filePath, request.ImageInfo.ImageData);

                    Image userAvatar = new Image();

                    bool success;

                    if (userAvatar.LoadAvatarByUserId(user.UserId))
                    {
                        userAvatar.FileFormat  = request.ImageInfo.FileFormat;
                        userAvatar.UpdatedDate = DateTime.Now;
                        success = userAvatar.Update();
                    }
                    else
                    {
                        userAvatar.AssociatedEntityId = user.UserId;
                        userAvatar.FileFormat         = request.ImageInfo.FileFormat;
                        userAvatar.FileName           = fileName;
                        userAvatar.FilePath           = filePath;
                        userAvatar.ImageEntityTypeId  = (int)ImageEntityTypeOptions.User;
                        userAvatar.CreatedDate        = DateTime.Now;
                        userAvatar.UpdatedDate        = DateTime.Now;
                        success = userAvatar.Add();
                    }

                    if (success)
                    {
                        response.Success = true;
                        response.Message = "User profile picture succesfully updated.";
                    }
                    else
                    {
                        response.Success = false;
                        response.Message = "An error occurred when communicating with the database.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch (Exception ex)
            {
                response.Success = false;

                if (ex.Message.Contains("find user"))
                {
                    response.Message = ex.Message;
                }
                else
                {
                    response.Message = "An unexpected error has occurred; please verify the format of your request.";
                }
            }

            return(response);
        }
Пример #13
0
        public LacesResponse FollowUser(UserFollowRequest request)
        {
            LacesResponse response = new LacesResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    LacesDataModel.User.User followedUser  = new LacesDataModel.User.User(request.FollowedUserId);
                    LacesDataModel.User.User followingUser = new LacesDataModel.User.User(request.UserId);

                    UserFollow follow = new UserFollow();

                    follow.LoadByUserids(followingUser.UserId, followedUser.UserId); // Make sure follow does not already exist.

                    if (follow.UserFollowId == 0)
                    {
                        follow.FollowedUserId  = followedUser.UserId;
                        follow.FollowingUserId = followingUser.UserId;
                        follow.CreatedDate     = DateTime.Now;

                        if (follow.Add())
                        {
                            followedUser.UsersFollowing++;
                            followedUser.Update();

                            followingUser.UsersFollowed++;
                            followingUser.Update();

                            response.Success = true;
                            response.Message = "Operation completed successfully.";
                        }
                        else
                        {
                            response.Success = false;
                            response.Message = "Failed to add user follow.";
                        }
                    }
                    else
                    {
                        response.Success = true;
                        response.Message = "User is already being followed.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch (Exception ex)
            {
                response.Success = false;

                if (ex.Message.Contains("find user"))
                {
                    response.Message = ex.Message;
                }
                else
                {
                    response.Message = "An unexpected error has occurred; please verify the format of your request.";
                }
            }

            return(response);
        }
Пример #14
0
        public LacesResponse UpdateUserInfo(UpdateUserInfoRequest request)
        {
            LacesResponse response = new LacesResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    LacesDataModel.User.User user = new LacesDataModel.User.User(request.UserId);

                    bool changed = false;

                    if (request.Description != null && request.Description != user.Description)
                    {
                        user.Description = request.Description;
                        changed          = true;
                    }

                    if (request.DisplayName != null && request.DisplayName != user.DisplayName)
                    {
                        user.DisplayName = request.DisplayName;
                        changed          = true;
                    }

                    if (changed)
                    {
                        if (user.Update())
                        {
                            response.Success = true;
                            response.Message = "User updated succesfully.";
                        }
                        else
                        {
                            response.Success = false;
                            response.Message = "An error occurred when communicating with the database.";
                        }
                    }
                    else
                    {
                        response.Success = true;
                        response.Message = "No changes made.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch (Exception ex)
            {
                response         = new LacesResponse();
                response.Success = false;

                if (ex.Message.Contains("find user"))
                {
                    response.Message = ex.Message;
                }
                else
                {
                    response.Message = "An unexpected error has occurred; please verify the format of your request.";
                }
            }

            return(response);
        }
Пример #15
0
        public LacesResponse UpdateProduct(UpdateProductRequest request)
        {
            LacesResponse response = new LacesResponse();

            try
            {
                if (request.SecurityString == ConfigurationManager.AppSettings[Constants.APP_SETTING_SECURITY_TOKEN])
                {
                    LacesDataModel.Product.Product product = new LacesDataModel.Product.Product(request.ProductId);

                    if (product.SellerId == request.UserId)
                    {
                        bool changed = false;

                        if (request.AskingPrice > 0)
                        {
                            product.AskingPrice = request.AskingPrice;
                            changed             = true;
                        }

                        if (request.Brand != null)
                        {
                            product.Brand = request.Brand;
                            changed       = true;
                        }

                        if (request.ConditionId > 0)
                        {
                            product.ConditionId = request.ConditionId;
                            changed             = true;
                        }

                        if (request.Description != null)
                        {
                            product.Description = request.Description;
                            changed             = true;
                        }

                        if (request.ProductName != null)
                        {
                            product.Name = request.ProductName;
                            changed      = true;
                        }

                        if (request.ProductStatusId > 0)
                        {
                            product.ProductStatusId = request.ProductStatusId;
                            changed = true;
                        }

                        if (request.ProductTypeId > 0)
                        {
                            product.ProductTypeId = request.ProductTypeId;
                            changed = true;
                        }

                        if (request.Size != null)
                        {
                            product.Size = request.Size;
                            changed      = true;
                        }

                        if (changed)
                        {
                            product.UpdatedDate = DateTime.Now;

                            if (product.Update())
                            {
                                response.Success = true;
                                response.Message = "Product successfully updated.";
                            }
                            else
                            {
                                response.Success = false;
                                response.Message = "An error occurred when communicating with the database.";
                            }
                        }
                        else
                        {
                            response.Success = true;
                            response.Message = "No changes were made.";
                        }
                    }
                    else
                    {
                        response.Success = false;
                        response.Message = "User cannot update this product.";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "Invalid security token.";
                }
            }
            catch (Exception ex)
            {
                response         = new LacesResponse();
                response.Success = false;

                if (ex.Message.Contains("find product"))
                {
                    response.Message = ex.Message;
                }
                else
                {
                    response.Message = "An unexpected error has occurred; please verify the format of your request.";
                }
            }

            return(response);
        }