コード例 #1
0
        public void LoadData()
        {
            string username = Request.Cookies["loginHiddenPage"].Value;
            var    acc      = AccountController.GetByUsername(username);

            DateTime DateConfig = new DateTime(2019, 12, 15);

            var config = ConfigController.GetByTop1();

            if (config.ViewAllOrders == 1)
            {
                DateConfig = new DateTime(2018, 6, 22);
            }

            DateTime fromDate = DateConfig;
            DateTime toDate   = DateTime.Now;

            if (!String.IsNullOrEmpty(Request.QueryString["orderfromdate"]))
            {
                fromDate = Convert.ToDateTime(Request.QueryString["orderfromdate"]);
            }

            if (!String.IsNullOrEmpty(Request.QueryString["ordertodate"]))
            {
                toDate = Convert.ToDateTime(Request.QueryString["ordertodate"]).AddDays(1).AddMinutes(-1);
            }

            rFromDate.SelectedDate = fromDate;
            rFromDate.MinDate      = DateConfig;
            rFromDate.MaxDate      = DateTime.Now;

            rToDate.SelectedDate = toDate;
            rToDate.MinDate      = DateConfig;
            rToDate.MaxDate      = DateTime.Now;

            string textSearch     = "";
            int    categoryID     = 0;
            int    registerStatus = 0;
            int    Page           = 1;

            if (Request.QueryString["textsearch"] != null)
            {
                textSearch = Request.QueryString["textsearch"].Trim();
            }
            if (Request.QueryString["categoryid"] != null)
            {
                categoryID = Request.QueryString["categoryid"].ToInt();
            }
            if (Request.QueryString["registerstatus"] != null)
            {
                registerStatus = Request.QueryString["registerstatus"].ToInt(0);
            }
            if (Request.QueryString["Page"] != null)
            {
                Page = Request.QueryString["Page"].ToInt();
            }

            txtSearchProduct.Text           = textSearch;
            ddlCategory.SelectedValue       = categoryID.ToString();
            ddlRegisterStatus.SelectedValue = registerStatus.ToString();

            // Create order fileter
            var filter = new RegisterProductFilterModel()
            {
                search    = textSearch,
                category  = categoryID,
                status    = registerStatus,
                createdBy = acc.Username,
                fromDate  = fromDate,
                toDate    = toDate
            };
            // Create pagination
            var page = new PaginationMetadataModel()
            {
                currentPage = Page,
                pageSize    = 30
            };
            List <RegisterProductList> rs = new List <RegisterProductList>();

            rs = RegisterProductController.Filter(filter, ref page);

            pagingall(rs, page);
            ltrHeading.Text = "Danh sách đặt hàng (" + page.totalCount.ToString() + ")";
            ltrAccount.Text = "Tài khoản: <strong>" + acc.Username + "</strong>";
        }
コード例 #2
0
        public static List <RegisterProductList> Filter(RegisterProductFilterModel filter, ref PaginationMetadataModel page)
        {
            using (var con = new inventorymanagementEntities())
            {
                var data  = con.RegisterProducts.Where(x => 1 == 1);
                var staff = con.tbl_Account.Where(x => 1 == 1);

                #region Thực hiện trích xuất dữ liệu theo bộ lọc
                // Filter theo ký tự search
                if (!String.IsNullOrEmpty(filter.search))
                {
                    data = data.Where(x =>
                                      x.Title.Contains(filter.search) ||
                                      x.Customer.Contains(filter.search) ||
                                      x.SKU.Contains(filter.search)
                                      );
                }
                // Filter theo category
                if (filter.category > 0)
                {
                    var parentCatogory = con.tbl_Category.Where(x => x.ID == filter.category).FirstOrDefault();
                    var catogoryFilter = CategoryController.getCategoryChild(parentCatogory).Select(x => x.ID).ToList();

                    var product = con.tbl_Product
                                  .Where(x =>
                                         catogoryFilter.Contains(
                                             x.CategoryID.HasValue ? x.CategoryID.Value : 0
                                             )
                                         );

                    data = data
                           .Join(
                        product,
                        d => d.ProductID,
                        p => p.ID,
                        (d, p) => d
                        );
                }
                // Filter theo trang thái
                if (filter.status != 0)
                {
                    data = data.Where(x => x.Status == filter.status);
                }
                // Filter theo người khở tạo
                if (!String.IsNullOrEmpty(filter.createdBy))
                {
                    staff = staff.Where(x => x.Username == filter.createdBy);

                    data = data
                           .Join(
                        staff,
                        d => d.CreatedBy,
                        s => s.ID,
                        (d, s) => d
                        );
                }
                // Filter Order Created Date
                if (filter.fromDate.HasValue && filter.toDate.HasValue)
                {
                    data = data.Where(x =>
                                      x.CreatedDate >= filter.fromDate.Value &&
                                      x.CreatedDate <= filter.toDate.Value
                                      );
                }
                // Filter color
                if (!String.IsNullOrEmpty(filter.color))
                {
                    data = data.Where(x => x.Color.Contains(filter.color));
                }

                // Filter color
                if (!String.IsNullOrEmpty(filter.size))
                {
                    data = data.Where(x => x.Size.Contains(filter.size));
                }

                // Filter theo đã chọn
                if (filter.selected)
                {
                    var session = SessionController.getRegisterProductSession(filter.account)
                                  .Select(x => x.id)
                                  .ToList();
                    data = data.Where(x => session.Contains(x.ID));
                }
                #endregion

                #region Tính toán phân trang
                // Calculate pagination
                page.totalCount = data.Count();
                page.totalPages = (int)Math.Ceiling(page.totalCount / (double)page.pageSize);

                data = data
                       .OrderByDescending(x => x.ID)
                       .Skip((page.currentPage - 1) * page.pageSize)
                       .Take(page.pageSize);
                #endregion

                var result = data
                             .Join(
                    staff,
                    d => d.CreatedBy,
                    s => s.ID,
                    (d, s) => new {
                    register = d,
                    staff    = s
                }
                    )
                             .OrderByDescending(o => o.register.ID)
                             .ToList();

                return(result
                       .Select(x => {
                    var statusName = "";

                    switch (x.register.Status)
                    {
                    case (int)RegisterProductStatus.Approve:
                        statusName = "Đã duyệt";
                        break;

                    case (int)RegisterProductStatus.Ordering:
                        statusName = "Đã đặt hàng";
                        break;

                    case (int)RegisterProductStatus.Done:
                        statusName = "Hàng về";
                        break;

                    default:
                        statusName = "Chưa duyệt";
                        break;
                    }

                    return new RegisterProductList()
                    {
                        check = false,
                        id = x.register.ID,
                        customer = x.register.Customer,
                        productID = x.register.ProductID,
                        variableID = x.register.VariableID,
                        sku = x.register.SKU,
                        productStyle = x.register.ProductStyle,
                        status = x.register.Status,
                        statusName = statusName,
                        title = x.register.Title,
                        image = x.register.Image,
                        color = x.register.Color,
                        size = x.register.Size,
                        numberchild = x.register.NumberChild,
                        quantity = x.register.Quantity,
                        expectedDate = x.register.ExpectedDate,
                        note1 = x.register.Note1,
                        note2 = x.register.Note2,
                        staffID = x.register.CreatedBy,
                        staffName = x.staff.Username,
                        createdDate = x.register.CreatedDate
                    };
                })
                       .ToList());
            }
        }
コード例 #3
0
        public void LoadData()
        {
            string username = Request.Cookies["usernameLoginSystem"].Value;
            var    acc      = AccountController.GetByUsername(username);

            if (acc != null)
            {
                DateTime DateConfig = new DateTime(2019, 12, 15);

                var config = ConfigController.GetByTop1();
                if (config.ViewAllOrders == 1)
                {
                    DateConfig = new DateTime(2018, 6, 22);
                }

                DateTime fromDate = DateConfig;
                DateTime toDate   = DateTime.Now;

                if (!String.IsNullOrEmpty(Request.QueryString["orderfromdate"]))
                {
                    fromDate = Convert.ToDateTime(Request.QueryString["orderfromdate"]);
                }

                if (!String.IsNullOrEmpty(Request.QueryString["ordertodate"]))
                {
                    toDate = Convert.ToDateTime(Request.QueryString["ordertodate"]).AddDays(1).AddMinutes(-1);
                }

                rFromDate.SelectedDate = fromDate;
                rFromDate.MinDate      = DateConfig;
                rFromDate.MaxDate      = DateTime.Now;

                rToDate.SelectedDate = toDate;
                rToDate.MinDate      = DateConfig;
                rToDate.MaxDate      = DateTime.Now;

                string textSearch               = String.Empty;
                int    registerStatus           = 0;
                string createdBy                = String.Empty;
                string color                    = String.Empty;
                string size                     = String.Empty;
                var    isRegisterProductSession = false;
                int    Page                     = 1;

                if (Request.QueryString["textsearch"] != null)
                {
                    textSearch = Request.QueryString["textsearch"].Trim();
                }
                if (Request.QueryString["registerstatus"] != null)
                {
                    registerStatus = Request.QueryString["registerstatus"].ToInt(0);
                }
                if (Request.QueryString["createdby"] != null)
                {
                    createdBy = Request.QueryString["createdby"];
                }
                if (Request.QueryString["color"] != null)
                {
                    color = Request.QueryString["color"];
                }
                if (Request.QueryString["size"] != null)
                {
                    size = Request.QueryString["size"];
                }
                if (Request.QueryString["isregisterproductsession"] != null)
                {
                    isRegisterProductSession = true;
                }
                if (Request.QueryString["Page"] != null)
                {
                    Page = Request.QueryString["Page"].ToInt();
                }

                txtSearchOrder.Text             = textSearch;
                ddlRegisterStatus.SelectedValue = registerStatus.ToString();
                ddlCreatedBy.SelectedValue      = createdBy.ToString();

                // Create order fileter
                var filter = new RegisterProductFilterModel()
                {
                    search    = textSearch,
                    status    = registerStatus,
                    createdBy = createdBy,
                    fromDate  = fromDate,
                    toDate    = toDate,
                    color     = color,
                    size      = size,
                    selected  = isRegisterProductSession,
                    account   = acc
                };
                // Create pagination
                var page = new PaginationMetadataModel()
                {
                    currentPage = Page
                };
                List <RegisterProductList> rs = new List <RegisterProductList>();
                rs = RegisterProductController.Filter(filter, ref page);

                var data = SessionController.getRegisterProductSession(acc);
                hdfSession.Value = JsonConvert.SerializeObject(data);

                pagingall(rs, page);
                ltrNumberOfOrder.Text = page.totalCount.ToString();
            }
        }