コード例 #1
0
        public async Task <IResult> AddProductAttributeValue(ProductAttributeValues productAttribute)
        {
            var result = new Result()
            {
                Operation = Operation.Create,
                Status    = Status.Success
            };

            try
            {
                _context.ProductAttributeValues.Add(productAttribute);
                var product = await _context.Products.Where(x => x.ProductId == productAttribute.ProductId).FirstOrDefaultAsync();

                product.ModifiedBy   = _specificClaim.GetSpecificClaim("Id");
                product.ModifiedDate = DateTime.Now;
                await _context.SaveChangesAsync();

                result.StatusCode = HttpStatusCode.OK;
                return(result);
            }
            catch (Exception e)
            {
                result.Status     = Status.Error;
                result.StatusCode = HttpStatusCode.InternalServerError;
                result.Body       = e;
                return(result);
            }
        }
コード例 #2
0
        public async Task <IResult> ChangePassword(string oldPassword, string newPassword)
        {
            var result = new Result
            {
                Operation = Operation.Update,
                Status    = Status.Success
            };

            try
            {
                var userId        = _specificClaim.GetSpecificClaim("Id");
                var PasswordCheck = await _userRepository.CheckOldPassword(userId, oldPassword);

                if (PasswordCheck.Status != Status.Success)
                {
                    return(PasswordCheck);
                }
                UserModel userModel = new UserModel();
                userModel = PasswordCheck.Body;
                if (userId == userModel.UserId)
                {
                    if (userModel.Password != oldPassword)
                    {
                        result.Status     = Status.Fail;
                        result.StatusCode = HttpStatusCode.BadRequest;
                        result.Message    = "Incorrect password entered.";
                        return(result);
                    }
                    else
                    {
                        var changePassword = await _userRepository.ChangePassword(userModel.UserId, newPassword);

                        if (changePassword.Status == Status.Success)
                        {
                            result.Status     = Status.Success;
                            result.StatusCode = HttpStatusCode.OK;
                            result.Message    = "Password changed successfully.";
                            return(result);
                        }
                        else
                        {
                            return(changePassword);
                        }
                    }
                }
                result.Status     = Status.Success;
                result.StatusCode = HttpStatusCode.OK;
                result.Message    = "Incorrect Password entered.";
                return(result);
            }
            catch (Exception e)
            {
                result.Status     = Status.Error;
                result.Message    = e.Message;
                result.StatusCode = HttpStatusCode.InternalServerError;

                return(result);
            }
        }
コード例 #3
0
        public async Task <IResult> InsertProduct(ProductViewModel productView)
        {
            var result = new Result
            {
                Operation = Operation.Create,
                Status    = Status.Success
            };

            try
            {
                ProductModel product = new ProductModel();
                product.MapFromViewModel(productView);
                var productCheck = _productRepository.CheckProduct(product);
                if (productCheck.Status != Status.Success)
                {
                    return(productCheck);
                }

                product.CreatedDate = DateTime.Now;
                product.CreatedBy   = _specificClaim.GetSpecificClaim("Id");

                var insertPdt = await _productRepository.InsertProduct(product);

                return(insertPdt);
            }
            catch (Exception e)
            {
                result.Status     = Status.Error;
                result.Message    = e.Message;
                result.StatusCode = HttpStatusCode.InternalServerError;

                return(result);
            }
        }
コード例 #4
0
        public async Task <IResult> Insert(CategoryViewModel categoryView, IFormFile img)
        {
            var result = new Result
            {
                Operation = Operation.Create,
                Status    = Status.Success
            };

            try
            {
                var categoryCheck = _categoryRepository.CheckCategory(categoryView.CategoryName, categoryView.CategoryId);
                if (!categoryCheck)
                {
                    result.Status     = Status.Fail;
                    result.StatusCode = HttpStatusCode.BadRequest;
                    result.Message    = "This category already exists.";
                    return(result);
                }
                CategoryModel category = new CategoryModel();
                category.MapFromViewModel(categoryView);
                category.CreatedBy   = _specificClaim.GetSpecificClaim("Id");
                category.CreatedDate = DateTime.Now;
                if (!category.ParentCategory)
                {
                    category.ChildCategory = categoryView.ChildCategory;
                }
                if (img != null)
                {
                    Images         image          = new Images();
                    ImageExtention imageExtention = new ImageExtention();
                    image.ImageName       = img.FileName;
                    image.ImageContent    = imageExtention.Image(img);
                    image.ImageExtenstion = Path.GetExtension(img.FileName);
                    category.Images       = image;
                }
                var insertCategory = await _categoryRepository.InsertCategory(category);

                return(insertCategory);
            }
            catch (Exception e)
            {
                result.Status     = Status.Error;
                result.Message    = e.Message;
                result.StatusCode = HttpStatusCode.InternalServerError;
                return(result);
            }
        }
コード例 #5
0
        public async Task <IResult> Insert(ProductAttributeViewModel productAttribute)
        {
            var result = new Result
            {
                Operation = Operation.Create,
                Status    = Status.Success
            };

            try
            {
                var attributeNameCheck = await _productAttributeRepository.CheckExistingAttribute(productAttribute.AttributeName);

                if (!attributeNameCheck)
                {
                    result.Status     = Status.Fail;
                    result.StatusCode = HttpStatusCode.BadRequest;
                    result.Message    = "isPresent";
                    return(result);
                }
                productAttribute.CreatedDate = DateTime.Now;
                productAttribute.CreatedBy   = _specificClaim.GetSpecificClaim("Id");
                ProductAttributeModel attributeModel = new ProductAttributeModel();
                attributeModel.MapFromViewModel(productAttribute);

                var addAttr = await _productAttributeRepository.InsertAttribute(attributeModel);

                return(addAttr);
            }
            catch (Exception e)
            {
                result.Status     = Status.Error;
                result.Message    = e.Message;
                result.StatusCode = HttpStatusCode.InternalServerError;

                return(result);
            }
        }
コード例 #6
0
        public async Task <IResult> AddProductsToWislist(int id)
        {
            var result = new Result()
            {
                Operation = Operation.Create,
                Status    = Status.Success
            };

            try
            {
                if (id != 0)
                {
                    int userDetail = _specificClaim.GetSpecificClaim("Id");
                    var duplicate  = _cartRepository.CheckWishlist(userDetail, id);
                    if (duplicate)
                    {
                        result.Message    = "product-present";
                        result.Status     = Status.Fail;
                        result.StatusCode = HttpStatusCode.BadRequest;
                        return(result);
                    }
                    var addPdt = await _cartRepository.AddProductsToWishlist(userDetail, id);

                    return(addPdt);
                }
                result.Message    = "Product ID is not valid.";
                result.Status     = Status.Fail;
                result.StatusCode = HttpStatusCode.BadRequest;
                return(result);
            }
            catch (Exception e)
            {
                result.Body       = e;
                result.Message    = e.Message;
                result.Status     = Status.Error;
                result.StatusCode = HttpStatusCode.InternalServerError;
                return(result);
            }
        }