예제 #1
0
        private void btn_print_khach_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            try
            {
                var db = new cobacEntities();
                // Modify to suit your machine:
                string fileName = @"C:\Cadobongda\" + _masotaikhoan + "(khach).doc";

                // Create a document in memory:
                var doc = DocX.Create(fileName);

                var lngay = db.view_thongtinchung.Where(p => p.id_quanlyTK_idTK == ID_Taikhoan).Select(p => new { p.ngay }).Distinct().ToList();
                foreach (var ingay in lngay)
                {
                    //var SoTranTrongNgay = (from q in db.thongtinchung
                    //                       where q.ngay == (DateTime)ingay.ngay
                    //                       select new
                    //                       {
                    //                           DoiBong = q.doibong1 + q.doibong2
                    //                       }
                    //                       ).ToList();

                    var ngay3 = String.Format("{0:dd/MM/yyyy}", ingay.ngay);
                    //doc.InsertParagraph("Kế quả cho ngày:" + ngay3+"\n\n");

                    //danh sách các trận đấu tương ứng với số kèo trong 1 ngày
                    var lkeo = (from t in db.view_thongtinchung
                                join tk in db.view_quanlytk on t.id_quanlyTK_idTK equals tk.idTK
                                where t.ngay == (DateTime)ingay.ngay && t.id_quanlyTK_idTK == this.ID_Taikhoan
                                select new
                    {
                        doi = t.doibong1 + t.doibong2
                    }).ToList();


                    var lkeokeo = (from t in lkeo
                                   group t by t.doi into th

                                   select new
                    {
                        doi = th.Key,
                        so = th.Count()
                    }).ToList();

                    //thông tin chi tiết từng trận đấu trong ngày
                    var l = (from t in db.view_thongtinchung
                             join tk in db.view_quanlytk on t.id_quanlyTK_idTK equals tk.idTK
                             where t.ngay == (DateTime)ingay.ngay && t.id_quanlyTK_idTK == this.ID_Taikhoan
                             select new
                    {
                        tk.GiaUSDTK,
                        tk.TenTkDayDU,
                        tk.TenTk,
                        tk.NguoiCaDoCung,
                        t.ngay,
                        t.doibong1,
                        t.doibong2,
                        t.tengiaidau,
                        t.trangthai,
                        t.hinhthuccado,
                        t.hiepcado,
                        t.tylechap,
                        t.tylecuoc,
                        t.cuacado,
                        t.tiencuoc,
                        doimoi = t.doibong1 + t.doibong2,
                        t.com,
                        t.gio,
                        t.ketqua_trongkeo,
                        chonkeocado = t.cuacado == "under" ? "Xỉu" : t.cuacado == "over" ? "Tài" : t.cuacado,         //tên đội chưa có
                        t.cachthuccado,

                        tienthangthua = t.tienthang_thua < 0 ? t.tienthang_thua * -1 : t.tienthang_thua,
                        tuongungtienVNDthangthua = t.tienthang_thua < 0 ? t.tienthang_thua * tk.GiaUSDTK * -1 : t.tienthang_thua * tk.GiaUSDTK,
                        tiencuocvnd = t.tiencuoc * tk.GiaUSDTK
                    }).OrderBy(p => p.doimoi).ToList();

                    //đếm số trận đấu trong ngày
                    var sotran = lkeokeo.Count;
                    //forrmat ngày
                    var ngay1 = String.Format("{0:dd/MM/yyyy}", ingay.ngay);

                    //hiện tiêu đề
                    doc.InsertParagraph("Trong ngày " + ngay1 + " tôi có cá độ: " + sotran + " trận đấu gồm: ").Bold();

                    //sử dụng để đếm số kèo trong cùng 1 trận trong ngày, bắt đầu từ 1
                    var keothu  = 1;
                    var hettran = false;
                    //số thứ tự
                    var tt = 1;
                    //bắt đầu hiện thị chi tiết trận đấu trong mỗi ngày
                    foreach (var i in l)
                    {
                        if (keothu == 1)
                        {
                            doc.InsertParagraph().Append(tt.ToString() + ".").Bold().Append(" Trận đấu giữa hai đội " + i.doibong1 + " và " + i.doibong2 + " thuộc giải bóng đá: " + i.tengiaidau);
                        }

                        //doc.InsertParagraph(" Trận đấu giữa hai đội " + i.doibong1 + " và " + i.doibong2 + " thuộc giải bóng đá: " + i.tengiaidau);
                        //sử dụng để lưu số kèo trong 1 trận, mặc đinh ban đầu là 1 trận 1 kèo
                        var keomax = 1;

                        foreach (var j in lkeokeo)
                        {
                            if (i.doibong1 + i.doibong2 == j.doi)
                            {
                                if (keothu == 1)
                                {
                                    doc.InsertParagraph("     - Số kèo đấu đặt cá độ: " + j.so + " kèo.");
                                }
                                keomax = j.so;
                            }
                        }
                        if (keomax > 1)
                        {
                            doc.InsertParagraph("     + Kèo thứ " + keothu);
                        }

                        if (keomax > keothu)
                        {
                            keothu++;
                        }
                        else
                        {
                            hettran = true;
                            keothu  = 1;
                        }
                        var ngay = string.Format("{0:dd/MM/yyyy}", i.ngay);
                        doc.InsertParagraph("     - Thời gian đặt kèo (thời gian nhập lệnh) cá độ: " + i.gio + " ngày " + ngay);
                        if (i.trangthai == "Từ chối")
                        {
                            doc.InsertParagraph("     - Tình trạng kèo cá độ: Từ chối.");
                        }
                        else
                        {
                            doc.InsertParagraph("     - Tình trạng kèo cá độ: Chấp nhận và hoàn thành.");
                        }
                        if (i.hinhthuccado == "Tài - Xỉu")
                        {
                            string str1 = i.cachthuccado;
                            // tài xỉu phạt góc
                            if (str1.EndsWith("Corner") || str1.EndsWith("Corners"))
                            {
                                // hiệp 1
                                if (i.hiepcado == "1h")
                                {
                                    doc.InsertParagraph("     - Cá độ dưới hình thức: Tài - Xỉu phạt góc hiệp 1");
                                    // tổng số quả phạt góc
                                    if (i.cachthuccado == "No. of Corners")
                                    {
                                        doc.InsertParagraph("     - Chọn kèo cá độ và tỷ lệ chấp: " + i.chonkeocado + ", tỷ lệ thắng thua: " + i.tylecuoc);
                                    }
                                    // quả phạt góc thứ n
                                    else
                                    {
                                        // tính quả phạt góc thứ N
                                        string solanphatgoc = i.cachthuccado.Remove(1);
                                        doc.InsertParagraph("     - Chọn kèo cá độ: Dự đoán đội được hưởng lần phạt góc và tỷ lệ chấp " + i.cuacado + ", tỷ lệ thắng thua: " + i.tylecuoc);
                                    }
                                }
                                // cả trận
                                else
                                {
                                    doc.InsertParagraph("     - Cá độ dưới hình thức: Tài - Xỉu phạt góc cả trận");
                                    if (i.cachthuccado == "No. of Corners")
                                    {
                                        doc.InsertParagraph("     - Chọn kèo cá độ và tỷ lệ chấp: " + i.chonkeocado + ", tỷ lệ thắng thua: " + i.tylecuoc);
                                    }
                                }
                            }
                            // tài xỉu tổng số bàn thắng
                            else
                            {
                                //hiệp 1
                                if (i.hiepcado == "1h")
                                {
                                    doc.InsertParagraph("     - Cá độ dưới hình thức: Tài - Xỉu hiệp 1");
                                }
                                // thắng thua cả trận
                                if (i.hiepcado == "15 mins")
                                {
                                    doc.InsertParagraph("     - Cá độ dưới hình thức: Tài - Xỉu 15 phút");
                                }
                                if (i.hiepcado == "")
                                {
                                    doc.InsertParagraph("     - Cá độ dưới hình thức: Tài - Xỉu cả trận");
                                }
                                doc.InsertParagraph("     - Chọn kèo cá độ và tỷ lệ chấp: " + i.chonkeocado + ", tỷ lệ thắng thua: " + i.tylecuoc);
                            }
                        }

                        /////////////////////////////////hết tài xỉu - chuyển sang kèo
                        // cá độ kèo
                        if (i.hinhthuccado == "Kèo")
                        {
                            string str = i.cachthuccado;
                            if (str.EndsWith("Corner") || str.EndsWith("Corners"))
                            {
                                if (i.cachthuccado != "No. of Corners")
                                {
                                    if (i.hiepcado == "1h")
                                    {
                                        doc.InsertParagraph("     - Cá độ dưới hình thức: Kèo phạt góc hiệp 1");
                                    }
                                    else
                                    {
                                        doc.InsertParagraph("     - Cá độ dưới hình thức: Kèo phạt góc cả trận");
                                    }
                                    string solanphatgoc = i.cachthuccado.Remove(1);
                                    doc.InsertParagraph("     - Chọn kèo cá độ: Dự đoán đội được hưởng số lần phạt góc và tỷ lệ chấp " + i.cuacado + ", tỷ lệ thắng thua: " + i.tylecuoc);
                                }
                            }
                            // kèo thắng thua
                            else
                            {
                                if (i.hiepcado == "1h")
                                {
                                    doc.InsertParagraph("     - Cá độ dưới hình thức: Kèo chọn đội thắng hiệp 1");
                                }
                                else
                                {
                                    doc.InsertParagraph("     - Cá độ dưới hình thức: Kèo chọn đội thắng cả trận");
                                }
                                doc.InsertParagraph("     - Chọn kèo cá độ: Chọn đội thắng và tỷ lệ chấp " + i.cuacado + ", tỷ lệ thắng thua: " + i.tylecuoc);
                            }
                        }

                        if (i.hinhthuccado == "Kết quả chính xác")
                        {
                            // kèo thắng thua

                            doc.InsertParagraph("     - Cá độ dưới hình thức: Kèo dự đoán kết quả chính xác");

                            doc.InsertParagraph("     - Chọn kèo cá độ: Dự đoán kết quả " + i.cuacado + ", tỷ lệ thắng thua: " + i.tylecuoc);
                        }

                        // doc.InsertParagraph("     - Cá độ dưới hình thức:" + i.hinhthuccado);
                        // doc.InsertParagraph("     - Chọn kèo cá độ: " + i.chonkeocado+", tỷ lệ chấp: " + i.tylechap + " " + "(" + i.cachthuccado + " " + i.tylechap + ")" + ", tỷ lệ thắng thua: " + i.tylecuoc);
                        var tiencuocVND = String.Format("{0:N}", i.tiencuocvnd);
                        doc.InsertParagraph("     - Số tiền tham gia cá độ: " + i.tiencuoc + "$ " + "(Tương ứng với số tiền: " + tiencuocVND + "đ).");
                        if (i.trangthai == "Từ chối")
                        {
                        }
                        else
                        {
                            doc.InsertParagraph("     - Số COM: " + i.com);
                            var tienthangthuaVND = String.Format("{0:N}", i.tuongungtienVNDthangthua);

                            if (i.trangthai == "Hòa")
                            {
                                doc.InsertParagraph("     - Kết quả: " + i.trangthai);
                            }

                            else
                            {
                                string vietthuong = i.trangthai.ToLower();
                                doc.InsertParagraph("     - Kết quả: " + i.trangthai + ", số tiền " + vietthuong + " cá độ: " + i.tienthangthua + "$ (tương ứng với số tiền: " + tienthangthuaVND + "đ)");
                            }

                            var tiencuoctrongkeoVND = String.Format("{0:N}", i.ketqua_trongkeo * i.GiaUSDTK);
                            if (keomax != 1)
                            {
                                doc.InsertParagraph("Như vậy trong kèo cá độ này số tiền tôi(" + i.TenTk + ") đánh bạc là: (" + i.ketqua_trongkeo + "$) tương ứng với số tiền (" + tiencuoctrongkeoVND + "đ)\n");
                            }
                        }

                        if (hettran == true)
                        {
                            var tien = l.Where(p => p.doibong1 == i.doibong1 && p.doibong2 == i.doibong2).Where(a => a.trangthai != "Từ chối").Sum(p => p.ketqua_trongkeo);

                            var tiencuoctrongtranVND = String.Format("{0:N}", tien * i.GiaUSDTK);
                            doc.InsertParagraph("Như vậy trong trận này tổng số tiền tôi(" + i.TenTk + ") đánh bạc là: (" + tien + "$) tương ứng với số tiền (" + tiencuoctrongtranVND + "đ)\n");
                            tt++;
                            hettran = false;
                        }
                    }
                    //kêt quả trong ngày của 1 tài khoản
                    var ketquatrongngay      = l.Where(a => a.trangthai != "Từ chối").Sum(p => p.ketqua_trongkeo);
                    var tiencuoctrongngayVND = String.Format("{0:N}", ketquatrongngay * l.First().GiaUSDTK);
                    doc.InsertParagraph("Vậy, trong ngày: " + ngay3 + " tổng số tiền mà tôi(" + l.First().TenTk + ") đánh bạc là: (" + ketquatrongngay + ") tương ứng với số tiền (" + tiencuoctrongngayVND + "đ)\n");
                }
                // Save to the output directory:
                doc.Save();

                Process.Start("WINWORD.EXE", fileName);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }