/// <summary>
        /// 新增报备信息
        /// </summary>
        /// <param name="customerreport">实体</param>
        /// <param name="cancellationToken">验证</param>
        /// <returns></returns>
        public async Task <CustomerReport> CreateAsync(CustomerReport customerreport, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (customerreport == null)
            {
                throw new ArgumentNullException(nameof(customerreport));
            }
            Context.Add(customerreport);

            Context.Add(new CustomerFollowUp
            {
                Id               = Guid.NewGuid().ToString(),
                CustomerId       = customerreport.CustomerId,
                TypeId           = CustomerFollowUpType.CustomerReported,
                UserId           = customerreport.UserId,
                DepartmentId     = customerreport.DepartmentId,
                FollowUpTime     = customerreport.CreateTime,
                TrueName         = customerreport.CustomerInfo.CustomerName,
                FollowUpContents = "带看报备",
                CustomerNo       = customerreport.CustomerInfo.CustomerNo,
                IsRealFollow     = false,
                CreateTime       = DateTime.Now,
                CreateUser       = customerreport.UserId
            });

            await Context.SaveChangesAsync(cancellationToken);

            return(customerreport);
        }
示例#2
0
        public async Task <IActionResult> GetCustomersReport()
        {
            List <CustomerReport> customersReport = new List <CustomerReport>();
            var connectionString = _configuration.GetConnectionString("WarehouseDB");

            await using var conn = new NpgsqlConnection(connectionString);
            await conn.OpenAsync();

            string sql = "SELECT c.customer_name, c.customer_address, c.customer_phone, p.part_name, s.shipment_qty, s.shipment_date FROM shipments s JOIN customers c ON s.shipment_id = c.customer_id JOIN parts p ON s.part_id = p.part_id;";

            await using (var cmd = new NpgsqlCommand(sql, conn))
                await using (var reader = await cmd.ExecuteReaderAsync())
                    while (await reader.ReadAsync())
                    {
                        var info = new CustomerReport();

                        info.CustomerName    = reader["customer_name"].ToString();
                        info.CustomerAddress = reader["customer_address"].ToString();
                        info.CustomerPhone   = reader["customer_phone"].ToString();
                        info.PartName        = reader["part_name"].ToString();
                        info.ShipmentQty     = Convert.ToInt32(reader["shipment_qty"]);
                        info.ShipmentDate    = Convert.ToDateTime(reader["shipment_date"]);
                        customersReport.Add(info);
                    }
            return(Ok(customersReport));
        }
        private void btnCusName_Click(object sender, EventArgs e)
        {
            CustomerReport objCus  = new CustomerReport();
            rptViewer      objView = new rptViewer();

            if (!string.IsNullOrEmpty(txtSearch.Text))
            {
                objCus.SetParameterValue("@CustomerID", txtSearch.Text);
                CustomerBL objBL = new CustomerBL()
                {
                    CustomerID = Convert.ToInt32(txtSearch.Text),
                };
                var dt = objBL.SelectByCus();
                if (dt != null)
                {
                    objCus.SetDataSource(dt);
                    objView.crptViewer.ReportSource = objCus;
                    objView.WindowState             = FormWindowState.Maximized;
                    objView.ShowDialog();
                }
                //crptViewerCus.ReportSource = objCus;
                else
                {
                    MessageBox.Show("No Record Found");
                }
                txtSearch.Clear();
            }
            else
            {
                MessageBox.Show("Please Enter Enter ID");
            }
        }
        /// <summary>
        /// 删除报备
        /// </summary>
        /// <param name="user">登陆用户基本信息</param>
        /// <param name="customerreport">报备实体</param>
        /// <param name="cancellationToken">验证</param>
        /// <returns></returns>
        public async Task DeleteAsync(SimpleUser user, CustomerReport customerreport, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }

            if (customerreport == null)
            {
                throw new ArgumentNullException(nameof(customerreport));
            }
            //删除基本信息
            customerreport.DeleteTime = DateTime.Now;
            customerreport.DeleteUser = user.Id;
            customerreport.IsDeleted  = true;
            Context.Attach(customerreport);
            var entry = Context.Entry(customerreport);

            entry.Property(x => x.IsDeleted).IsModified  = true;
            entry.Property(x => x.DeleteUser).IsModified = true;
            entry.Property(x => x.DeleteTime).IsModified = true;
            try
            {
                await Context.SaveChangesAsync(cancellationToken);
            }
            catch (DbUpdateConcurrencyException)
            {
                throw;
            }
        }
示例#5
0
        //GET: api/Reports/M
        public string Get(string id)
        {
            Telerik.Reporting.Report report = null;

            switch (id)
            {
            case "L":
            {
                report = new LeadsReport();
                break;
            }

            case "C":
            {
                report = new CustomerReport();
                break;
            }

            case "A":
            {
                report = new AdminTeamMemberReport();
                break;
            }
            }

            var path = CreatePath(id, report?.Name);


            CreatePdfFile(report, path.Item1);

            return(path.Item2);
        }
示例#6
0
        public void Will_be_able_to_save_and_retrieve_a_customer_dto()
        {
            var customerDto = new CustomerReport(Guid.NewGuid(), "Mark Nijhof");
            _repository.Save(customerDto);
            var sut = _repository.GetByExample<CustomerReport>(new { Name = "Mark Nijhof" }).FirstOrDefault();

            Assert.That(sut.Id, Is.EqualTo(customerDto.Id));
            Assert.That(sut.Name, Is.EqualTo(customerDto.Name));
        }
示例#7
0
 public void AddCustomer(CustomerReport customer)
 {
     if (!this.items.ContainsKey(customer.ID))
     {
         this.items.Add(customer.ID, customer);
     }
     else
     {
         this.items[customer.ID] = customer;
     }
 }
 /// <summary>
 /// 修改报备信息
 /// </summary>
 /// <param name="customerreport"></param>
 /// <param name="cancellationToken"></param>
 /// <returns></returns>
 public async Task UpdateAsync(CustomerReport customerreport, CancellationToken cancellationToken = default(CancellationToken))
 {
     if (customerreport == null)
     {
         throw new ArgumentNullException(nameof(customerreport));
     }
     Context.Attach(customerreport);
     Context.Update(customerreport);
     try
     {
         await Context.SaveChangesAsync(cancellationToken);
     }
     catch (DbUpdateConcurrencyException) { }
 }
示例#9
0
 public ActionResult Add(CustomerReportViewModel customerReportViewModel)
 {
     if (ModelState.IsValid)
     {
         var customerReport = new CustomerReport();
         customerReport.ReportId   = customerReportViewModel.ReportId;
         customerReport.CustomerId = customerReportViewModel.CustomerId;
         customerReport.CubeName   = customerReportViewModel.CubeName;
         customerReport.ServerName = customerReportViewModel.ServerName;
         customerReport.DBName     = customerReportViewModel.DBName;
         customerReport.DBType     = customerReportViewModel.DBType;
         customerReportRepository.Add(customerReport);
         return(RedirectToAction("Details", "Report", new { id = customerReportViewModel.ReportId }));
     }
     return(View(customerReportViewModel));
 }
示例#10
0
    public static object Create(Type reportType)
    {
        switch (reportType.ToString())
        {
        case "CustomerReport":
            var custRpt = new CustomerReport();
            custRpt.Date = DateTime.Now;
            return(custRpt);

        default:
        case "OrdersReport":
            var ordsRpt = new OrdersReport();
            ordsRpt.Date = DateTime.Now;
            return(ordsRpt);
        }
    }
示例#11
0
        public async Task <CustomerReport> GetCustomerReportByRetailIDBL(Guid CustomerID)
        {
            CustomerReport customerReport = new CustomerReport
            {
                CustomerID = CustomerID
            };
            CustomerBL customerBL = new CustomerBL();
            Customer   customer   = await customerBL.GetCustomerByCustomerIDBL(customerReport.CustomerID);

            customerReport.CustomerName = customer.CustomerName;
            OrderBL      order     = new OrderBL();
            List <Order> orderList = await order.GetOrdersByCustomerIDBL(CustomerID);

            foreach (Order item in orderList)
            {
                customerReport.CustomerSalesCount++;
                customerReport.CustomerSalesAmount += item.OrderAmount;
            }
            return(customerReport);
        }
示例#12
0
        public JsonStandardResponse SaveCustomerReports(CustomerReport cp)
        {
            JsonStandardResponse result = null;

            try
            {
                WebClient           client     = new WebClient();
                string              serviceUrl = "https://acu.rafid.ae/staging/api/EGovt/saveCustomerReport";
                NameValueCollection formData   = new NameValueCollection();
                formData["username"]       = "******";
                formData["password"]       = "******";
                formData["appApi"]         = "ndc04i4uhYtWmUGHFw4GLwJn68QW5GWWXtVB9b5bGSpYMuW76lMjPpsViVXWr8qV";
                formData["sessionId"]      = GenerateNewSessionId();
                formData["vehicleDetails"] = JsonConvert.SerializeObject(cp.vehicleDetails);
                formData["reportDetails"]  = JsonConvert.SerializeObject(cp.reportDetails);
                formData["isPayNow"]       = "0";
                formData["images"]         = "[]";
                var          serializer = new JavaScriptSerializer();
                var          data       = client.UploadValues(serviceUrl, "POST", formData);
                UTF8Encoding encoding   = new UTF8Encoding();

                result = new JsonStandardResponse
                {
                    status  = "success",
                    data    = encoding.GetString(data, 0, data.Length),
                    message = ""
                };
            }
            catch (Exception ex)
            {
                result = new JsonStandardResponse
                {
                    status  = "error",
                    data    = "",
                    message = ex.Message
                };
                new BusinessLogic().CreateLog(1, ex.Message, ex.HResult.ToString(), "SaveCustomerReport/SaveCustomerReports");
            }
            return(result);
        }
示例#13
0
        private CustomerReport SetLastAndNextAppointment(List <CustomerReport> data, CustomerReport report)
        {
            var pastAppts     = new List <DateTime>(); // appointments before now
            var upcomingAppts = new List <DateTime>(); // appointments after now

            // splits the reports by if they're before or after now
            foreach (var item in data)
            {
                if (item.LastAppointment < DateTime.UtcNow)
                {
                    pastAppts.Add(item.LastAppointment.GetValueOrDefault());
                }
                else
                {
                    upcomingAppts.Add(item.LastAppointment.GetValueOrDefault());
                }
            }

            report.LastAppointment = pastAppts.Count > 0 ? (DateTime?)pastAppts.Max() : null;         // gets the most recent past appointment time
            report.NextAppointment = upcomingAppts.Count > 0 ? (DateTime?)upcomingAppts.Min() : null; // gets the next appointment time
            return(report);
        }
示例#14
0
        public async Task <List <CustomerReport> > GetCustomerReportsAsync(int userId)
        {
            var reports = await _sqlOrm.QueryListAsync <CustomerReport>(SelectSql.CustomerReport, new { userId });

            var groups = reports.GroupBy(report => report.Id); // group the reports by customer Id

            var reportList = new List <CustomerReport>();

            // Combine individual customers reports into 1
            foreach (var group in groups)
            {
                var report = new CustomerReport
                {
                    Id               = group.Key,
                    CustomerName     = group.FirstOrDefault()?.CustomerName,
                    AppointmentCount = group.Count(),
                };
                report = SetLastAndNextAppointment(group.ToList(), report);
                reportList.Add(report);
            }

            return(reportList);
        }
示例#15
0
        public async Task <CustomerReport> GetCustomerReportByRetailIDBL(Guid CustomerID)
        {
            CustomerReport CustomerReport = new CustomerReport();

            CustomerReport.CustomerID = CustomerID;
            Customer   Customer   = new Customer();
            CustomerBL CustomerBL = new CustomerBL();

            Customer = await CustomerBL.GetCustomerByCustomerIDBL(CustomerReport.CustomerID);

            CustomerReport.CustomerName = Customer.CustomerName;
            List <Order> orderList = new List <Order>();
            OrderBL      order     = new OrderBL();

            orderList = await order.GetOrdersByCustomerIDBL(CustomerID);

            foreach (Order item in orderList)
            {
                CustomerReport.CustomerSalesCount++;
                CustomerReport.CustomerSalesAmount += item.OrderAmount;
            }

            return(CustomerReport);
        }
示例#16
0
        public HomeController(IHostingEnvironment enviroment)
        {
            this._enviroment = enviroment;

            this._customerReport = new CustomerReport(this._enviroment);
        }
示例#17
0
        private void createNewTab(eTabType type)
        {
            switch (type)
            {
            case eTabType.MAIN_TAB:
                break;

            case eTabType.CUSTOMER_TAB:
            {
                //Hieu
                //Edit
                var newTab = isExitTabPage("Danh sách khách hàng");
                if (newTab == null)
                {
                    newTab = new TabPage("Danh sách khách hàng");
                    var customerList = new CustomerList();
                    customerList.Dock = DockStyle.Fill;
                    newTab.Controls.Add(customerList);

                    tabControl.TabPages.Add(newTab);
                }

                tabControl.SelectedTab = newTab;
                break;
            }

            case eTabType.VENDOR_TAB:
            {
                var newTab = isExitTabPage("Danh sách nhà cung cấp");
                if (newTab == null)
                {
                    newTab = new TabPage("Danh sách nhà cung cấp");
                    var vendorList = new VendorList();
                    vendorList.Dock = DockStyle.Fill;
                    newTab.Controls.Add(vendorList);

                    tabControl.TabPages.Add(newTab);
                }

                tabControl.SelectedTab = newTab;
                break;
            }

            case eTabType.ORDER_TAB:
            {
                var customerOrder = new CreateCustomerOrderForm();
                var result        = customerOrder.ShowDialog();
                if (result == DialogResult.OK)
                {
                    var newTab = isExitTabPage("Giao dịch");
                    if (newTab == null)
                    {
                        newTab            = new TabPage("Giao dịch");
                        newTab.AutoScroll = true;
                        var order = new OrderDetailForm(customerOrder.OrderId);
                        order.Dock = DockStyle.Top;
                        newTab.Controls.Add(order);

                        tabControl.TabPages.Add(newTab);
                    }

                    tabControl.SelectedTab = newTab;
                }
                else if (result == DialogResult.Retry)
                {
                    createNewTab(eTabType.CUSTOMER_TAB);
                }

                break;
            }

            case eTabType.CUSTOMER_ORDER_LIST_TAB:
            {
                var selectForm = new SelectOrderForm();
                var result     = selectForm.ShowDialog();

                if (result == DialogResult.OK)
                {
                    var text   = "Đơn hàng " + selectForm.OrderKey;
                    var newTab = isExitTabPage(text);

                    if (newTab == null)
                    {
                        newTab            = new TabPage(text);
                        newTab.AutoScroll = true;
                        var order = new CustomerOrderDetail(selectForm.OrderId);
                        order.Dock = DockStyle.Fill;
                        newTab.Controls.Add(order);

                        tabControl.TabPages.Add(newTab);
                    }

                    tabControl.SelectedTab = newTab;
                }

                break;
            }

            case eTabType.STORE_TAB:
            {
                var text   = "Danh sách kho hàng";
                var newTab = isExitTabPage(text);

                if (newTab == null)
                {
                    newTab            = new TabPage(text);
                    newTab.AutoScroll = true;
                    var store = new InventoryList();
                    store.Dock = DockStyle.Fill;
                    newTab.Controls.Add(store);

                    tabControl.TabPages.Add(newTab);
                }
                tabControl.SelectedTab = newTab;
                break;
            }

            case eTabType.PRODUCT_TAB:
            {
                var text   = "Danh sách mặt hàng";
                var newTab = isExitTabPage(text);

                if (newTab == null)
                {
                    newTab            = new TabPage(text);
                    newTab.AutoScroll = true;
                    var product = new ProductList();
                    product.Dock = DockStyle.Fill;
                    newTab.Controls.Add(product);
                    this.newProductMenuItem.Click += product.showDialogAddProduct;         //7ung
                    tabControl.TabPages.Add(newTab);
                }

                tabControl.SelectedTab = newTab;
                break;
            }

            case eTabType.STAFF_TAB:
            {
                var text   = "Danh sách nhân viên";
                var newTab = isExitTabPage(text);

                if (newTab == null)
                {
                    newTab            = new TabPage(text);
                    newTab.AutoScroll = true;
                    var staff = new StaffList();
                    staff.Dock = DockStyle.Fill;
                    newTab.Controls.Add(staff);

                    tabControl.TabPages.Add(newTab);
                }
                tabControl.SelectedTab = newTab;
                break;
            }

            case eTabType.INOUT_INVENTORY:
            {
                var text   = "Quản lý đơn hàng nhập xuất kho";
                var newTab = isExitTabPage(text);

                if (newTab == null)
                {
                    newTab            = new TabPage(text);
                    newTab.AutoScroll = true;
                    var store = new InOutInventoryList();
                    store.Dock = DockStyle.Fill;
                    newTab.Controls.Add(store);

                    tabControl.TabPages.Add(newTab);
                }
                tabControl.SelectedTab = newTab;
                break;
            }

            case eTabType.INVENTORY_LIST:
            {
                var text   = "Quản lý kho hàng";
                var newTab = isExitTabPage(text);

                if (newTab == null)
                {
                    newTab            = new TabPage(text);
                    newTab.AutoScroll = true;
                    var store = new InventoryList();
                    store.Dock = DockStyle.Fill;
                    newTab.Controls.Add(store);

                    tabControl.TabPages.Add(newTab);
                }
                tabControl.SelectedTab = newTab;
                break;
            }

            case eTabType.VENDOR_ORDER_TAB:
            {
                var vendorOrder = new CreateVendorOrderForm();
                var result      = vendorOrder.ShowDialog();
                if (result == DialogResult.OK)
                {
                    var text   = "Giao dịch đơn hàng " + vendorOrder.DocumentKey;
                    var newTab = isExitTabPage(text);

                    if (newTab == null)
                    {
                        newTab            = new TabPage(text);
                        newTab.AutoScroll = true;
                        var order = new VendorOrderDetailForm(vendorOrder.OrderId);
                        order.Dock = DockStyle.Top;
                        newTab.Controls.Add(order);

                        tabControl.TabPages.Add(newTab);
                    }
                    tabControl.SelectedTab = newTab;
                }
                else if (result == DialogResult.Retry)
                {
                    createNewTab(eTabType.VENDOR_TAB);
                }
                break;
            }

            case eTabType.VENDOR_ORDER_LIST_TAB:
            {
                var selectForm = new SelectVendorOrderForm();
                var result     = selectForm.ShowDialog();

                if (result == DialogResult.OK)
                {
                    var text   = "Đơn hàng " + selectForm.DocumentKey;
                    var newTab = isExitTabPage(text);

                    if (newTab == null)
                    {
                        newTab            = new TabPage(text);
                        newTab.AutoScroll = true;
                        var order = new VendorOrderDetail(selectForm.OrderId);
                        order.DocumentKey = selectForm.DocumentKey;
                        order.Dock        = DockStyle.Fill;
                        newTab.Controls.Add(order);

                        tabControl.TabPages.Add(newTab);
                    }
                    tabControl.SelectedTab = newTab;
                }
                break;
            }

            case eTabType.REVENUE_REPORT_TAB:
            {
                var text   = "Báo cáo doanh thu";
                var newTab = isExitTabPage(text);

                if (newTab == null)
                {
                    newTab            = new TabPage(text);
                    newTab.AutoScroll = true;
                    var report = new RevenueReport();
                    report.Dock = DockStyle.Fill;
                    newTab.Controls.Add(report);

                    tabControl.TabPages.Add(newTab);
                }
                tabControl.SelectedTab = newTab;
                break;
            }

            case eTabType.CUSTOMER_REPORT_TAB:
            {
                var text   = "Báo cáo tình hình khách hàng";
                var newTab = isExitTabPage(text);

                if (newTab == null)
                {
                    newTab            = new TabPage(text);
                    newTab.AutoScroll = true;
                    var report = new CustomerReport();
                    report.Dock = DockStyle.Top;
                    newTab.Controls.Add(report);

                    tabControl.TabPages.Add(newTab);
                }
                tabControl.SelectedTab = newTab;
                break;
            }

            case eTabType.CREATE_BUSINESS_REPORT_TAB:
            {
                var dialogCreate = new CreateReportForm();
                var r            = dialogCreate.ShowDialog();

                if (r == DialogResult.OK)
                {
                    var text   = "Báo cáo chi phí bán hàng";
                    var newTab = isExitTabPage(text);

                    if (newTab == null)
                    {
                        newTab            = new TabPage(text);
                        newTab.AutoScroll = true;
                        var report = new CreateBusinessFee(dialogCreate.DocumentId, true);
                        report.Dock = DockStyle.Top;
                        newTab.Controls.Add(report);

                        tabControl.TabPages.Add(newTab);
                    }
                    tabControl.SelectedTab = newTab;
                }
                break;
            }

            case eTabType.VIEW_BUSINESS_REPORT_TAB:
            {
                var text   = "Xem cáo chi phí bán hàng";
                var newTab = isExitTabPage(text);

                if (newTab == null)
                {
                    newTab            = new TabPage(text);
                    newTab.AutoScroll = true;
                    var report = new ViewBusinessFee();
                    report.Dock = DockStyle.Top;
                    newTab.Controls.Add(report);

                    tabControl.TabPages.Add(newTab);
                }
                tabControl.SelectedTab = newTab;
                break;
            }

            case eTabType.INVENTORY_REPORT_TAB:
            {
                var text   = "Báo cáo tồn kho";
                var newTab = isExitTabPage(text);

                if (newTab == null)
                {
                    newTab            = new TabPage(text);
                    newTab.AutoScroll = true;
                    var report = new InventoryReport();
                    report.Dock = DockStyle.Fill;
                    newTab.Controls.Add(report);

                    tabControl.TabPages.Add(newTab);
                }
                tabControl.SelectedTab = newTab;
                break;
            }

            default:
                break;
            }
        }
示例#18
0
        private void LoadTable()
        {
            if (!String.IsNullOrEmpty(Table))
            {
                switch (Table)
                {
                case "Product":
                    List <ProductModel> productModels = new List <ProductModel>();
                    ProductReport       rpt           = new ProductReport();
                    var data = from p in db.Products
                               select new ProductModel
                    {
                        Sku           = p.Sku,
                        DisplayName   = p.DisplayName,
                        Quantity      = (int)p.Quantity,
                        PurcharePrice = p.PurchasePrice,
                        Price         = (double)p.Price,
                        Unit          = p.Unit.DisplayName,
                        Brand         = p.Brand.DisplayName,
                        Category      = p.Category.DisplayName,
                        Supplier      = p.Suplier.DisplayName,
                        Status        = p.Quantity == 0 ?"Hết hàng":"Còn hàng"
                    };
                    rpt.SetDataSource(data);

                    crvReport.ReportSource = rpt;
                    crvReport.Show();
                    break;

                case "Categories":
                    List <CategoriesModel> categoriesModels = new List <CategoriesModel>();
                    CategoriesReport       rpc = new CategoriesReport();
                    var datac = from c in db.Categories
                                select new CategoriesModel
                    {
                        Id          = c.Id,
                        DisplayName = c.DisplayName,
                        Status      = c.Status ? "Kích hoạt" : "Ẩn"
                    };
                    rpc.SetDataSource(datac);

                    crvReport.ReportSource = rpc;
                    crvReport.Show();
                    break;

                case "Brand":
                    List <BrandModel> brandModels = new List <BrandModel>();
                    BrandReport       rpb         = new BrandReport();
                    var datab = from b in db.Brands
                                select new BrandModel
                    {
                        Id          = b.Id,
                        DisplayName = b.DisplayName,
                        Status      = b.Status ? "Kích hoạt" : "Ẩn"
                    };
                    rpb.SetDataSource(datab);

                    crvReport.ReportSource = rpb;
                    crvReport.Show();
                    break;

                case "Supplier":
                    List <SuplierModel> suplierModels = new List <SuplierModel>();
                    SuplierReport       rps           = new SuplierReport();
                    var datas = from s in db.Supliers
                                select new SuplierModel
                    {
                        DisplayName   = s.DisplayName,
                        TaxCode       = s.TaxCode,
                        AccountNumber = s.AcountNumber,
                        Phone         = s.Phone,
                        Email         = s.Email,
                        Adress        = s.Adress,
                        ContractDate  = s.ContractDate,
                        Status        = s.Status ? "Kích hoạt" : "Ẩn"
                    };
                    rps.SetDataSource(datas);

                    crvReport.ReportSource = rps;
                    crvReport.Show();
                    break;

                case "Customer":
                    List <CustomerModel> customerModels = new List <CustomerModel>();
                    CustomerReport       rpcu           = new CustomerReport();
                    var datacu = from cu in db.Customers
                                 select new CustomerModel
                    {
                        DisplayName  = cu.DisplayName,
                        Phone        = cu.Phone,
                        Email        = cu.Email,
                        Adress       = cu.Adress,
                        ContractDate = (DateTime)cu.ContractDate,
                        Status       = cu.Status ? "Kích hoạt" : "Ẩn"
                    };
                    rpcu.SetDataSource(datacu);

                    crvReport.ReportSource = rpcu;
                    crvReport.Show();
                    break;

                case "Input":
                    InputReport rpi   = new InputReport();
                    var         datai = from i in db.InputDetails
                                        select new
                    {
                        Id          = i.Input.Id,
                        DisplayName = i.Input.DisplayName,
                        InputDate   = i.Input.InputDate,
                        Status      = i.Input.Status ? "Đã nhập" : "Chờ duyệt",
                        ProductId1  = i.ProductId,
                        Quantity1   = i.Quantity,
                        Price1      = i.Price
                    };
                    rpi.SetDataSource(datai);

                    crvReport.ReportSource = rpi;
                    crvReport.Show();
                    break;

                case "Output":
                    break;

                default:
                    MessageBox.Show("Vui lòng chọn 1 bảng");
                    break;
                }
            }
            else
            {
                MessageBox.Show("Lỗi thao tác", "Vui lòng chọn 1 bảng để in !", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }