Пример #1
0
        public async Task <ApiResult <bool> > ChangeStatus(int id)
        {
            try
            {
                var coupon = await _context.Coupons.FindAsync(id);

                if (coupon != null)
                {
                    if (coupon.isActive)
                    {
                        coupon.isActive = false;
                    }
                    else
                    {
                        coupon.isActive = true;
                    }
                    await _context.SaveChangesAsync();

                    return(new ApiSuccessResult <bool>());
                }
                else
                {
                    return(new ApiErrorResult <bool>("Không tìm thấy mã giảm giá này"));
                }
            }
            catch
            {
                return(new ApiErrorResult <bool>("Cập nhật thất bại"));
            }
        }
Пример #2
0
        public async Task <ApiResult <bool> > Create(CreateCategoryRequest request)
        {
            try
            {
                if (request.parent_id == null)
                {
                    request.parent_id = 0;
                }
                else
                {
                    request.parent_id = request.parent_id;
                }
                var cate = new TechShopSolution.Data.Entities.Category
                {
                    cate_name         = request.cate_name,
                    parent_id         = request.parent_id,
                    meta_descriptions = request.meta_descriptions,
                    meta_keywords     = request.meta_keywords,
                    meta_title        = request.meta_title,
                    cate_slug         = request.cate_slug,
                    ProductInCategory = new List <Data.Entities.CategoryProduct>(),
                    isActive          = request.isActive,
                    isDelete          = false,
                    create_at         = DateTime.Now
                };
                _context.Categories.Add(cate);
                await _context.SaveChangesAsync();

                return(new ApiSuccessResult <bool>());
            }
            catch
            {
                return(new ApiErrorResult <bool>("Thêm thất bại"));
            }
        }
Пример #3
0
        public async Task <ApiResult <bool> > ChangeStatus(int id)
        {
            try
            {
                var result = await _context.Slides.FindAsync(id);

                if (result != null)
                {
                    if (result.status)
                    {
                        result.status = false;
                    }
                    else
                    {
                        result.status = true;
                    }
                    await _context.SaveChangesAsync();

                    return(new ApiSuccessResult <bool>());
                }
                else
                {
                    return(new ApiErrorResult <bool>("Không tìm thấy Slide này"));
                }
            }
            catch
            {
                return(new ApiErrorResult <bool>("Cập nhật thất bại"));
            }
        }
Пример #4
0
        public async Task <ApiResult <bool> > ChangeStatus(int id)
        {
            try
            {
                var brandExist = await _context.Brands.FindAsync(id);

                if (brandExist != null || brandExist.isDelete)
                {
                    if (brandExist.isActive)
                    {
                        brandExist.isActive = false;
                    }
                    else
                    {
                        brandExist.isActive = true;
                    }
                    brandExist.update_at = DateTime.Now;
                    await _context.SaveChangesAsync();

                    return(new ApiSuccessResult <bool>());
                }
                else
                {
                    return(new ApiErrorResult <bool>("Không tìm thấy thương hiệu này"));
                }
            }
            catch
            {
                return(new ApiErrorResult <bool>("Cập nhật thất bại"));
            }
        }
Пример #5
0
        public async Task <ApiResult <bool> > ChangeStatus(int id)
        {
            try
            {
                var payment = await _context.PaymentMethods.FindAsync(id);

                if (payment != null)
                {
                    if (payment.isActive)
                    {
                        payment.isActive = false;
                    }
                    else
                    {
                        payment.isActive = true;
                    }
                    await _context.SaveChangesAsync();

                    return(new ApiSuccessResult <bool>());
                }
                else
                {
                    return(new ApiErrorResult <bool>("Không tìm thấy phương thức này"));
                }
            }
            catch
            {
                return(new ApiErrorResult <bool>("Cập nhật thất bại"));
            }
        }
Пример #6
0
        public async Task <ApiResult <bool> > Create(CustomerCreateRequest request)
        {
            try
            {
                SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();

                byte[] password_bytes  = Encoding.ASCII.GetBytes(request.password);
                byte[] encrypted_bytes = sha1.ComputeHash(password_bytes);

                request.password = Convert.ToBase64String(encrypted_bytes);

                string addressCustomer = request.House + " " + request.Ward + ", " + request.District + ", " + request.City;
                var    customer        = new TechShopSolution.Data.Entities.Customer
                {
                    name      = request.name,
                    address   = addressCustomer,
                    birthday  = request.birthday,
                    email     = request.email,
                    password  = request.password,
                    phone     = request.phone,
                    sex       = request.sex,
                    isActive  = request.isActive,
                    isDelete  = false,
                    create_at = DateTime.Now
                };
                _context.Customers.Add(customer);
                await _context.SaveChangesAsync();

                return(new ApiSuccessResult <bool>());
            }
            catch
            {
                return(new ApiErrorResult <bool>("Thêm thất bại"));
            }
        }
Пример #7
0
        public async Task <ApiResult <bool> > ChangeStatus(int id)
        {
            try
            {
                var result = await _context.Transporters.FindAsync(id);

                if (result != null)
                {
                    if (result.isActive)
                    {
                        result.isActive = false;
                    }
                    else
                    {
                        result.isActive = true;
                    }
                    await _context.SaveChangesAsync();

                    return(new ApiSuccessResult <bool>());
                }
                else
                {
                    return(new ApiErrorResult <bool>("Không tìm thấy đơn vị vận chuyển này"));
                }
            }
            catch
            {
                return(new ApiErrorResult <bool>("Cập nhật thất bại"));
            }
        }
Пример #8
0
        public async Task <ApiResult <bool> > Update(ContactUpdateRequest request)
        {
            try
            {
                var result = await _context.Contacts.FindAsync(request.id);

                if (result != null)
                {
                    if (request.company_logo != null)
                    {
                        await _storageService.DeleteFileAsync(result.company_logo);

                        result.company_logo = await this.SaveFile(request.company_logo);
                    }
                    result.adress           = request.adress;
                    result.company_name     = request.company_name;
                    result.email            = request.email;
                    result.fax              = request.fax;
                    result.hotline          = request.hotline;
                    result.phone            = request.phone;
                    result.social_fb        = request.social_fb;
                    result.social_instagram = request.social_instagram;
                    result.social_twitter   = request.social_twitter;
                    result.social_youtube   = request.social_youtube;
                    await _context.SaveChangesAsync();

                    return(new ApiSuccessResult <bool>());
                }
                else
                {
                    return(new ApiErrorResult <bool>("Dữ liệu liên hệ trống"));
                }
            }
            catch
            {
                return(new ApiErrorResult <bool>("Cập nhật thất bại"));
            }
        }
Пример #9
0
        public async Task <ApiResult <bool> > Create(ProductCreateRequest request)
        {
            var product = new TechShopSolution.Data.Entities.Product
            {
                name              = request.Name,
                best_seller       = request.Best_seller,
                brand_id          = request.Brand_id,
                code              = request.Code,
                create_at         = DateTime.Now,
                descriptions      = request.Descriptions,
                featured          = request.Featured,
                instock           = request.Instock,
                meta_descriptions = request.Meta_descriptions,
                meta_keywords     = request.Meta_keywords,
                meta_tittle       = request.Meta_tittle,
                promotion_price   = !string.IsNullOrWhiteSpace(request.Promotion_price) ? decimal.Parse(request.Promotion_price) : 0,
                short_desc        = request.Short_desc,
                slug              = request.Slug,
                specifications    = request.Specifications,
                isActive          = request.IsActive,
                isDelete          = false,
                unit_price        = decimal.Parse(request.Unit_price),
                warranty          = request.Warranty != null ? (int)request.Warranty : 0,
            };

            if (request.Image != null)
            {
                product.image = await this.SaveFile(request.Image);
            }
            if (request.More_images != null)
            {
                if (request.More_images.Count == 1)
                {
                    product.more_images = await this.SaveFile(request.More_images[0]);
                }
                else
                {
                    for (int i = 0; i < request.More_images.Count(); i++)
                    {
                        product.more_images += await this.SaveFile(request.More_images[i]) + ",";
                    }
                }
            }
            _context.Products.Add(product);
            await _context.SaveChangesAsync();

            string[] cateIDs = request.CateID.Split(",");
            foreach (string cateID in cateIDs)
            {
                if (cateID != "")
                {
                    var productInCategory = new TechShopSolution.Data.Entities.CategoryProduct
                    {
                        cate_id    = int.Parse(cateID),
                        product_id = product.id
                    };
                    _context.CategoryProducts.Add(productInCategory);
                }
            }
            await _context.SaveChangesAsync();

            return(new ApiSuccessResult <bool>());
        }
Пример #10
0
        public async Task <ApiResult <string> > Create(CheckoutRequest request)
        {
            using (var dbContextTransaction = _context.Database.BeginTransaction())
            {
                try
                {
                    var customer = await _context.Customers.FindAsync(request.Order.cus_id);

                    if (customer == null)
                    {
                        return(new ApiErrorResult <string>("Không tìm thấy tài khoản này của bạn trong CSDL, liên hệ QTV để biết thêm chi tiết"));
                    }
                    else if (customer.isDelete)
                    {
                        return(new ApiErrorResult <string>("Tài khoản của bạn đã bị xóa, liên hệ QTV để biết thêm chi tiết"));
                    }
                    else if (!customer.isActive)
                    {
                        return(new ApiErrorResult <string>("Tài khoản của bạn đã bị khóa, không thể mua hàng ngay bây giờ"));
                    }
                    else
                    {
                        if (customer.address == "")
                        {
                            customer.address = request.Order.address_receiver;
                        }
                    }

                    foreach (var item in request.OrderDetails)
                    {
                        var product = await _context.Products.FindAsync(item.product_id);

                        if (product != null)
                        {
                            if (product.isDelete)
                            {
                                return(new ApiErrorResult <string>("Một sản phẩm trong giỏ hàng của bạn đã bị xóa vui lòng kiểm tra lại giỏ hàng."));
                            }
                            else if (!product.isActive)
                            {
                                return(new ApiErrorResult <string>("Một sản phẩm trong giỏ hàng của bạn đã bị khóa vui lòng kiểm tra lại giỏ hàng."));
                            }

                            if (product.instock != null)
                            {
                                if (product.instock == 0)
                                {
                                    return(new ApiErrorResult <string>("Một sản phẩm trong giỏ hàng của bạn đã hết hàng vui lòng bỏ sản phẩm ra khỏi giỏ hàng."));
                                }
                                else
                                {
                                    product.instock = product.instock - item.quantity;
                                }
                            }
                        }
                        else
                        {
                            return(new ApiErrorResult <string>("Một sản phẩm trong giỏ hàng của bạn không tồn tại vui lòng kiểm tra lại giỏ hàng."));
                        }
                    }

                    int coupon_id = 0;
                    if (request.Order.coupon_code != null)
                    {
                        var coupon = await _context.Coupons.Where(x => x.code.Equals(request.Order.coupon_code)).FirstOrDefaultAsync();

                        if (coupon != null)
                        {
                            if (coupon.start_at > DateTime.Today || coupon.end_at < DateTime.Today)
                            {
                                return(new ApiErrorResult <string>("Mã giảm giá hiện không khả dụng, vui lòng kiểm tra lại"));
                            }
                            else if (!coupon.isActive)
                            {
                                return(new ApiErrorResult <string>("Mã giảm giá  đã bị vô hiệu hóa, vui lòng kiểm tra lại"));
                            }
                            else if (coupon.quantity == 0)
                            {
                                return(new ApiErrorResult <string>("Mã giảm giá đã được sử dụng hết, vui lòng kiểm tra lại"));
                            }
                            coupon_id = coupon.id;
                            if (coupon.quantity != 0 && coupon.quantity != null)
                            {
                                coupon.quantity = coupon.quantity - 1;
                            }
                        }
                    }
                    var order = new TechShopSolution.Data.Entities.Order
                    {
                        address_receiver = request.Order.address_receiver,
                        coupon_id        = coupon_id == 0 ? (int?)null : coupon_id,
                        create_at        = DateTime.Now,
                        transport_fee    = request.Order.transport_fee == null ? 0 : (decimal)request.Order.transport_fee,
                        cus_id           = request.Order.cus_id,
                        discount         = request.Order.discount,
                        isPay            = false,
                        payment_id       = (int)request.Order.payment_id,
                        name_receiver    = request.Order.name_receiver,
                        note             = request.Order.note,
                        phone_receiver   = request.Order.phone_receiver,
                        status           = 0,
                        total            = request.Order.total,
                    };
                    _context.Orders.Add(order);
                    await _context.SaveChangesAsync();

                    foreach (var item in request.OrderDetails)
                    {
                        var detail = new TechShopSolution.Data.Entities.OrderDetail
                        {
                            order_id        = order.id,
                            product_id      = item.product_id,
                            promotion_price = item.promotion_price,
                            quantity        = item.quantity,
                            unit_price      = item.unit_price,
                        };
                        _context.OrDetails.Add(detail);
                    }

                    await _context.SaveChangesAsync();

                    dbContextTransaction.Commit();
                    return(new ApiSuccessResult <string>(order.id.ToString()));
                }
                catch
                {
                    dbContextTransaction.Rollback();
                    return(new ApiErrorResult <string>("Tạo đơn đặt hàng thất bại, quý khách vui lòng thử lại sau"));
                }
            }
        }