Exemplo n.º 1
0
        public HttpResponseMessage RemoveCartItem(int userId, int productId)
        {
            var httpResponse = new HttpResponseMessage();

            try
            {
                using (var userCartEntity = new RepositoryDataAccessLayer <UserCartEntity>())
                {
                    var userCart = userCartEntity
                                   .FindBy(a => a.UserId == userId && a.ProductId == productId && !a.IsDeleted).FirstOrDefault();
                    if (userCart != null)
                    {
                        userCart.IsDeleted = true;
                        userCartEntity.Update(userCart);
                        return(httpResponse = Request.CreateResponse(HttpStatusCode.OK,
                                                                     new Status {
                            IsSuccess = true, Message = "Cart item successfully deleted."
                        }));
                    }

                    return(httpResponse = Request.CreateResponse(HttpStatusCode.OK,
                                                                 new Status {
                        IsSuccess = false, Message = "Cart item is not deleted."
                    }));
                }
            }
            catch (Exception ex)
            {
                httpResponse = Request.CreateResponse(HttpStatusCode.OK, new { IsSuccess = false, ex.Message });
            }

            return(httpResponse);
        }
Exemplo n.º 2
0
        public HttpResponseMessage UpdateCart(int userId, int productId, int quantity)
        {
            var httpResponse = new HttpResponseMessage();

            try
            {
                using (var userCartEntity = new RepositoryDataAccessLayer <UserCartEntity>())
                {
                    var userCart = userCartEntity
                                   .FindBy(a => a.UserId == userId && a.ProductId == productId && !a.IsDeleted).FirstOrDefault();
                    if (userCart == null)
                    {
                        return(httpResponse = Request.CreateResponse(HttpStatusCode.OK,
                                                                     new Status {
                            IsSuccess = false, Message = "Product is not found."
                        }));
                    }

                    userCart.TotalQuantity = quantity;
                    userCartEntity.Update(userCart);
                    return(httpResponse = Request.CreateResponse(HttpStatusCode.OK, new Status {
                        IsSuccess = true
                    }));
                }
            }
            catch (Exception ex)
            {
                httpResponse = Request.CreateResponse(HttpStatusCode.OK,
                                                      new Status {
                    IsSuccess = false, Message = ex.Message
                });
            }

            return(httpResponse);
        }
        public HttpResponseMessage ForgotPassword(string emailId)
        {
            var httpResponse = new HttpResponseMessage();

            try
            {
                using (var userEntity = new RepositoryDataAccessLayer <UserEntity>())
                {
                    var user = userEntity
                               .FindBy(a => a.EmailId.Trim().ToLower() == emailId.Trim().ToLower() && !a.IsDeleted)
                               .FirstOrDefault();

                    if (user == null)
                    {
                        return(httpResponse = Request.CreateResponse(HttpStatusCode.OK,
                                                                     new Status {
                            IsSuccess = false, Message = "Invalid email id."
                        }));
                    }

                    user.ForgotPassword = EncryptPassword(GetTempPassword(), user.Salt);
                    user.UpdatedDate    = DateTime.Now;
                    userEntity.Update(user);

                    var email = new EmailSender
                    {
                        RecipientName = $"{user.Name}",
                        To            = user.EmailId
                    };
                    var newPassword = DecryptPassword(user.ForgotPassword, user.Salt);
                    email.SendForgotPasswordAsync(newPassword);

                    return(httpResponse = Request.CreateResponse(HttpStatusCode.OK, new Status {
                        IsSuccess = true
                    }));
                }
            }
            catch (Exception ex)
            {
                httpResponse = Request.CreateResponse(HttpStatusCode.OK,
                                                      new Status {
                    IsSuccess = false, Message = ex.Message
                });
            }

            return(httpResponse);
        }
        public HttpResponseMessage AddOrUpdateUserWishlist(int userId, int productId, bool isFavorite)
        {
            var httpResponse = new HttpResponseMessage();

            try
            {
                using (var userWishlistEntity = new RepositoryDataAccessLayer <UserWishlistEntity>())
                {
                    var userWishlist = userWishlistEntity.FindBy(a => a.UserId == userId && a.ProductId == productId)
                                       .FirstOrDefault();
                    if (userWishlist != null)
                    {
                        userWishlist.IsFavorite = isFavorite;
                        userWishlistEntity.Update(userWishlist);
                        return(httpResponse = Request.CreateResponse(HttpStatusCode.OK, new Status {
                            IsSuccess = true
                        }));
                    }

                    var newProduct = new UserWishlistEntity
                    {
                        UserId     = userId,
                        ProductId  = productId,
                        IsFavorite = true
                    };
                    userWishlistEntity.Add(newProduct);
                    return(httpResponse = Request.CreateResponse(HttpStatusCode.OK, new Status {
                        IsSuccess = true
                    }));
                }
            }
            catch (Exception ex)
            {
                httpResponse = Request.CreateResponse(HttpStatusCode.OK,
                                                      new Status {
                    IsSuccess = false, Message = ex.Message
                });
            }

            return(httpResponse);
        }
Exemplo n.º 5
0
        public HttpResponseMessage RemoveCartItems(int userId)
        {
            var httpResponse = new HttpResponseMessage();

            try
            {
                using (var userCartEntity = new RepositoryDataAccessLayer <UserCartEntity>())
                {
                    var userCart = userCartEntity.FindBy(a => a.UserId == userId && !a.IsDeleted).ToList();
                    if (userCart != null && userCart.Any())
                    {
                        foreach (var item in userCart)
                        {
                            item.IsDeleted = true;
                            userCartEntity.Update(item);
                        }

                        return(httpResponse = Request.CreateResponse(HttpStatusCode.OK,
                                                                     new Status {
                            IsSuccess = true, Message = "Cart item successfully deleted."
                        }));
                    }

                    return(httpResponse = Request.CreateResponse(HttpStatusCode.OK,
                                                                 new Status {
                        IsSuccess = false, Message = "Cart item is not deleted."
                    }));
                }
            }
            catch (Exception ex)
            {
                httpResponse = Request.CreateResponse(HttpStatusCode.OK, new { IsSuccess = false, ex.Message });
            }

            return(httpResponse);
        }
        public HttpResponseMessage Login(string email, string password)
        {
            var response = new HttpResponseMessage();

            try
            {
                if (!string.IsNullOrEmpty(email) && !string.IsNullOrEmpty(password))
                {
                    using (var userEntity = new RepositoryDataAccessLayer <UserEntity>())
                    {
                        var currentUser = userEntity
                                          .FindBy(a => a.EmailId.Trim().ToLower() == email.Trim().ToLower() && !a.IsDeleted)
                                          .FirstOrDefault();

                        if (currentUser == null)
                        {
                            return(response = Request.CreateResponse(HttpStatusCode.OK,
                                                                     new { IsSuccess = false, Message = "Invalid email id" }));
                        }

                        var isValidUser = false;

                        if (!string.IsNullOrEmpty(currentUser.ForgotPassword))
                        {
                            isValidUser = CheckValidUser(password, currentUser.Salt, currentUser.ForgotPassword);
                            if (isValidUser)
                            {
                                currentUser.Password       = currentUser.ForgotPassword;
                                currentUser.ForgotPassword = null;
                                userEntity.Update(currentUser);
                            }
                        }
                        else
                        {
                            isValidUser = CheckValidUser(password, currentUser.Salt, currentUser.Password);
                        }

                        if (isValidUser)
                        {
                            response = Request.CreateResponse(HttpStatusCode.OK,
                                                              new Status
                            {
                                IsSuccess = true, Message = currentUser.ID.ToString(), UserName = currentUser.Name
                            });
                        }
                        else
                        {
                            response = Request.CreateResponse(HttpStatusCode.OK,
                                                              new Status {
                                IsSuccess = false, Message = "Password is not valid"
                            });
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(response = Request.CreateResponse(HttpStatusCode.OK,
                                                         new Status {
                    IsSuccess = false, Message = ex.Message
                }));
            }

            return(response);
        }