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); }
public HttpResponseMessage GetBanners() { var httpResponse = new HttpResponseMessage(); try { using (var bannerEntity = new RepositoryDataAccessLayer <BannerEntity>()) { var banners = bannerEntity.FindBy(a => !a.IsDeleted).ToList(); if (banners != null && banners.Count > 0) { return(httpResponse = Request.CreateResponse(HttpStatusCode.OK, banners)); } } } catch (Exception ex) { httpResponse = Request.CreateResponse(HttpStatusCode.OK, new Status { IsSuccess = false, Message = ex.Message }); } return(httpResponse); }
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 GetRecentProducts(int userId) { var httpResponse = new HttpResponseMessage(); try { using (var recentProductEntity = new RepositoryDataAccessLayer <RecentEntity>()) { var recentProducts = recentProductEntity.FindBy(a => a.UserId == userId).Include(b => b.Product) .Select(s => s.Product); var products = recentProducts.Where(a => !a.IsDeleted).Include(s => s.PreviewImages).ToList(); if (recentProducts != null && products.Count > 0) { return(httpResponse = Request.CreateResponse(HttpStatusCode.OK, products)); } } } catch (Exception ex) { httpResponse = Request.CreateResponse(HttpStatusCode.OK, new Status { IsSuccess = false, Message = ex.Message }); } return(httpResponse); }
public HttpResponseMessage GetUserAddress(int?userId) { var httpResponse = new HttpResponseMessage(); try { using (var addressEntity = new RepositoryDataAccessLayer <AddressEntity>()) { var address = addressEntity .FindBy(a => userId == null && !a.IsDeleted || userId != null && a.UserId == userId && !a.IsDeleted) .Include(s => s.User).ToList(); if (address != null) { return(httpResponse = Request.CreateResponse(HttpStatusCode.OK, address)); } } } catch (Exception ex) { httpResponse = Request.CreateResponse(HttpStatusCode.OK, new Status { IsSuccess = false, Message = ex.Message }); } return(httpResponse); }
public HttpResponseMessage AddRecentProduct(int userId, int productId) { var httpResponse = new HttpResponseMessage(); try { using (var recentEntity = new RepositoryDataAccessLayer <RecentEntity>()) { var isItemAlreadyExists = recentEntity.FindBy(a => a.UserId == userId && a.ProductId == productId).Any(); if (!isItemAlreadyExists) { var recent = new RecentEntity { UserId = userId, ProductId = productId, ViewedDate = DateTime.Now }; recentEntity.Add(recent); 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 GetProductById(int productId) { var httpResponse = new HttpResponseMessage(); try { using (var productEntity = new RepositoryDataAccessLayer <ProductEntity>()) { var product = productEntity.FindBy(a => a.ID == productId && !a.IsDeleted).Include(s => s.Reviews) .Include(w => w.Reviews.Select(q => q.ReviewImages)).Include(d => d.PreviewImages) .Include(a => a.User.UserWishlists).FirstOrDefault(); product.Reviews.Where(s => !s.IsDeleted); if (product != null) { return(httpResponse = Request.CreateResponse(HttpStatusCode.OK, product)); } } } catch (Exception ex) { httpResponse = Request.CreateResponse(HttpStatusCode.OK, new { IsSuccess = false, ex.Message }); } return(httpResponse); }
public HttpResponseMessage GetUserCard(int userId) { var httpResponse = new HttpResponseMessage(); try { using (var userCardEntity = new RepositoryDataAccessLayer <UserCardEntity>()) { var userCards = userCardEntity.FindBy(a => a.UserId == userId && !a.IsDeleted || a.UserId == null) .ToList(); if (userCards != null && userCards.Count > 0) { return(httpResponse = Request.CreateResponse(HttpStatusCode.OK, userCards)); } } } catch (Exception ex) { httpResponse = Request.CreateResponse(HttpStatusCode.OK, new Status { IsSuccess = false, Message = ex.Message }); } return(httpResponse); }
public HttpResponseMessage GetOfferProducts() { var httpResponse = new HttpResponseMessage(); try { using (var productEntity = new RepositoryDataAccessLayer <ProductEntity>()) { var offerProducts = productEntity.FindBy(a => a.DiscountPercent > 0 && !a.IsDeleted) .Include(a => a.PreviewImages).ToList(); if (offerProducts != null && offerProducts.Count > 0) { return(httpResponse = Request.CreateResponse(HttpStatusCode.OK, offerProducts)); } } } catch (Exception ex) { httpResponse = Request.CreateResponse(HttpStatusCode.OK, new Status { IsSuccess = false, Message = ex.Message }); } return(httpResponse); }
public HttpResponseMessage GetSubCategories(int categoryId) { var httpResponse = new HttpResponseMessage(); try { using (var subCategoryEntity = new RepositoryDataAccessLayer <SubCategoryEntity>()) { var subCategories = subCategoryEntity.FindBy(a => a.CategoryId == categoryId).ToList(); if (subCategories != null && subCategories.Count > 0) { var categories = new List <Category>(); foreach (var subCategory in subCategories) { categories.Add(new Category { ID = subCategory.ID, Name = subCategory.Name, Icon = subCategory.Icon }); } return(httpResponse = Request.CreateResponse(HttpStatusCode.OK, categories)); } } } catch (Exception ex) { httpResponse = Request.CreateResponse(HttpStatusCode.OK, new Status { IsSuccess = false, Message = ex.Message }); } return(httpResponse); }
public HttpResponseMessage SignUp(User user) { var httpResponse = new HttpResponseMessage(); try { using (var userEntity = new RepositoryDataAccessLayer <UserEntity>()) { var isEmailAlreadyRegistered = userEntity.FindBy(a => a.EmailId.Trim().ToLower() == user.EmailId.Trim().ToLower() && !a.IsDeleted).Any(); if (isEmailAlreadyRegistered) { return(httpResponse = Request.CreateResponse(HttpStatusCode.OK, new Status { IsSuccess = false, Message = "This email is already registered." })); } if (user != null) { var newEntity = new UserEntity { Name = user.Name, EmailId = user.EmailId, Salt = GenerateSalt(8) }; if (!string.IsNullOrEmpty(newEntity.Salt)) { newEntity.Password = EncryptPassword(user.Password, newEntity.Salt); } newEntity.IsDeleted = false; newEntity.CreatedDate = DateTime.Now; newEntity.UpdatedDate = DateTime.Now; userEntity.Add(newEntity); httpResponse = Request.CreateResponse(HttpStatusCode.OK, new Status { IsSuccess = true, Message = "Signed up successfully" }); } } } 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 GetReviews(int productId) { var httpResponse = new HttpResponseMessage(); try { using (var reviewEntity = new RepositoryDataAccessLayer <ReviewEntity>()) { var reviews = reviewEntity.FindBy(a => a.ProductId == productId && !a.IsDeleted) .Include(a => a.ReviewImages).ToList(); return(httpResponse = Request.CreateResponse(HttpStatusCode.OK, reviews)); } } catch (Exception ex) { httpResponse = Request.CreateResponse(HttpStatusCode.OK, new { IsSuccess = false, 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); }
public HttpResponseMessage GetOrderedItems(int userId) { HttpResponseMessage httpResponse = null; var status = new Status(); try { using (var myOrderEntity = new RepositoryDataAccessLayer <MyOrderEntity>()) { var userCart = myOrderEntity.FindBy(a => a.UserId == userId && !a.IsDeleted) .Include(s => s.Product).Include(q => q.Product.PreviewImages).ToList(); userCart.Where(s => !s.Product.IsDeleted).ToList(); return(httpResponse = Request.CreateResponse(HttpStatusCode.OK, userCart)); } } catch (Exception ex) { httpResponse = Request.CreateResponse(HttpStatusCode.OK, new { IsSuccess = false, ex.Message }); } return(httpResponse); }
public HttpResponseMessage AddOrderedItem(int userId, int productId) { HttpResponseMessage response = null; try { using (var userCartEntity = new RepositoryDataAccessLayer <MyOrderEntity>()) { var isProductAlreadyAdded = userCartEntity .FindBy(a => a.UserId == userId && a.ProductId == productId && !a.IsDeleted).Any(); if (!isProductAlreadyAdded) { var userCart = new MyOrderEntity() { UserId = userId, TotalQuantity = 1, AddedDateTime = DateTime.Now, IsDeleted = false, ProductId = productId }; userCartEntity.Add(userCart); return(response = Request.CreateResponse(HttpStatusCode.OK, new Status { IsSuccess = true, Message = "Item added to cart successfully." })); } } } catch (Exception ex) { response = Request.CreateResponse(HttpStatusCode.OK, new Status { IsSuccess = false, Message = ex.Message }); } return(response); }
public HttpResponseMessage GetProductByCategoryId(int subCategoryId) { var httpResponse = new HttpResponseMessage(); try { using (var productEntity = new RepositoryDataAccessLayer <ProductEntity>()) { var products = productEntity.FindBy(a => a.SubCategoryId == subCategoryId && !a.IsDeleted) .Include(a => a.User.UserWishlists).Include(a => a.PreviewImages).ToList(); if (products != null) { return(httpResponse = Request.CreateResponse(HttpStatusCode.OK, products)); } } } catch (Exception ex) { httpResponse = Request.CreateResponse(HttpStatusCode.OK, new { IsSuccess = false, ex.Message }); } return(httpResponse); }
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); }