Thứ Năm, 13 tháng 2, 2020

Import tự động


var excel = new LinqToExcel.ExcelQueryFactory(Tag.ToString());
                    System.Collections.Generic.List<CongNoDauKy> list = Library.Import.ExcelAuto.ConvertDataTable<CongNoDauKy>(Library.Import.ExcelAuto.GetDataExcel(excel, gv, itemSheet));

                    gc.DataSource = list;

#region Excel tự động
using System.Linq;

namespace Library.Import
{
    public static class ExcelAuto
    {
        public class GridviewInfo
        {
            public string FieldName { get; set; }
            public string Caption { get; set; }
        }

Get item trong GridLookUpEdit


private void GlkCustomer_EditValueChanged(object sender, EventArgs e)
        {
            try
            {
                var item = sender as DevExpress.XtraEditors.GridLookUpEdit;
                if (item.EditValue == null) return;

                txtCustomer.Text = item.Properties.View.GetFocusedRowCellValue("Name").ToString();
            }
            catch { }
        }

Đa luồng công nợ


private object objLock = new object();
        private bool isStop = false;
        private int _taskIndex;

        private List<BackgroundWorker> Threads = new List<BackgroundWorker>();

        private List<CongNoItem>
            _noDauKy,
            _phatSinh,
            _daThu,
            _khauTru,
            _thuTruocA,
            _thuTruocB,
            _conNo;

Join nhiều điều kiện


var list = (from p in db.xkXuatKhos
                                join ct in db.xkTaiSans on p.MaXK equals ct.MaXK
                                join bh in db.xkBanHangs on p.MaBanHang equals bh.MaBH
                                join bhvt in db.xkBanHang_VatTus on  ( bh.MaBH+"&"+ ct.MaLTS ) equals (  bhvt.MaBH+"&"+  bhvt.MaLTS )
                                join ts in db.tsLoaiTaiSans on ct.MaLTS equals ts.MaLTS
                                join dvt in db.tsLoaiTaiSan_DVTs on ts.MaDVT equals dvt.MaDVT
                                where p.MaXK == maXK
                                select new
                                {
                                    ts.TenLTS,
                                    ts.KyHieu,
                                    dvt.TenDVT,
                                    SoLuongYeuCau=bhvt.SoLuongQuyDoi-bhvt.SoLuongDaXuatKho+ct.SoLuong,
                                    SoLuongThucXuat=ct.SoLuong,
                                    DonGia=ct.DonGia,
                                    ThanhTien=ct.SoLuong*ct.DonGia
                                }).AsEnumerable().Select((p, Index) => new
                                {
                                    STT = Index + 1,
                                    p.TenLTS,
                                    p.KyHieu,
                                    p.TenDVT,
                                    p.SoLuongYeuCau,
                                    p.SoLuongThucXuat,
                                    p.DonGia,
                                    p.ThanhTien
                                }).ToList();

AddRange


foreach (var item in List_tn)
            {
                var List_mb = (from tn in db.tnToaNhas
                               join mb in db.mbMatBangs on tn.MaTN equals mb.MaTN

                               join lmb in db.mbLoaiMatBangs on mb.MaLMB equals lmb.MaLMB

                               join tt in db.mbTrangThais on mb.MaTT equals tt.MaTT
                               where tn.MaTN == item.MaTN
                               select new LtData
                               {
                                   TenTN = tn.TenTN,

                                   TongDienTich = db.mbMatBangs.Where(o => o.MaTN == item.MaTN).Sum(o => o.DienTich),

                                   //Đang sử dụng
                                   CanHoThue = tt.ChoThue == false & lmb.MaNMB == 1 ? mb.DienTich : 0,
                                   VanPhongThue = tt.ChoThue == false & lmb.MaNMB == 2 ? mb.DienTich : 0,
                                   KhacThue = tt.ChoThue == false & lmb.MaNMB == 3 ? mb.DienTich : 0,
                                   TongDienTichThue = tt.ChoThue == false ? mb.DienTich : 0,

                                   //Chưa sử dụng
                                   CanHoTrong = tt.ChoThue == true & lmb.MaNMB == 1 ? mb.DienTich : 0,
                                   VanPhongTrong = tt.ChoThue == true & lmb.MaNMB == 2 ? mb.DienTich : 0,
                                   KhacTrong = tt.ChoThue == true & lmb.MaNMB == 3 ? mb.DienTich : 0,
                                   TongDienTichTrong = tt.ChoThue == true ? mb.DienTich : 0,

                               }).ToList();
                ltData.AddRange(List_mb);
               
            }

.Skip(1).Take(30)


var objYeuCau = _db.tnycYeuCaus.Where(_ => _.IsCoLichSu == false).ToList(); //.Skip(1).Take(30)
Skip: bắt đầu từ
Take: lấy bao nhiêu

Thứ Ba, 4 tháng 2, 2020

Lỗi không add được reference trong visual

Khi cài nhiều visual trên cùng 1 máy, dễ dẫn đến tình trạng không add được reference.
Cách fix lỗi như sau:
Vào start menu, chạy Developer Command Prompt for vs (phiên bản của bạn) với quyền admin
CD đến 
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\PublicAssemblies

Sau đó chạy: gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll

Thứ Ba, 18 tháng 6, 2019

Câu nói nào của bậc trưởng bối khiến bạn suy nghĩ thông suốt?

1. Mẹ nói, không cần phải mất ngủ vì một kẻ đang say giấc nồng
2. Lúc trước ba tôi nói với chị tôi: “Một người đàn ông ngay cả việc kết hôn với ai cũng không quyết định được mà phải nghe trong nhà, nói rõ rằng, 1 là anh ta không có tiền, 2 là anh ta không có năng lực, 3 là bởi vì anh ta không đủ yêu con.”
3. Thầy Anh Văn từng nói: “Học hành không phải là đường ra duy nhất, nhưng nó là con đường gần nhất. Mà học hành cũng là điều kiện căn bản để bạn đi những con đường khác.”
4. Giáo viên Anh Văn nói: “Giờ em cứ lười biếng thế, sau này sự lười ấy sẽ trở thành những cái tát bôm bốp trên mặt em.”
5. Thầy chủ nhiệm cấp Ba: “Trình độ của em quyết định trình độ của bạn trai em sau này, hai người có môi trường sống cùng tư tưởng quá khác biệt sao có thể ở bên nhau.” Tôi tin tưởng câu nói này, vậy nên mỗi ngày tôi vẫn luôn cố gắng để trở nên tốt hơn.
6. Còn nhớ câu nói của cô chủ nhiệm cấp Ba: “Thế giới mà mắt em nhìn thấy, những con người mà em nhận thức, đều phản ánh em một cách chân thực nhất.”
7. Bạn học vu oan tôi trộm cắp tiền, tôi muốn nghỉ học, chủ nhiệm nói với tôi: Người khác phạm sai lầm, việc gì em phải trả giá?
8. Sau khi tôi cãi nhau với mẹ và nhận sai, mẹ nói: “Nửa đời trước của con người, không có sai lầm, chỉ có trưởng thành.”
9. Ba tôi nói: Chuyện gì ở đời cũng vậy, con chưa tự mình trải qua thì đừng quá tin tưởng.
10. “Món tôi ăn càng ngày càng thanh đạm, đối mặt với mọi chuyện ở đời càng ngày càng khoan dung, sẽ không tùy tiện tức giận, học được cách nhẫn nhịn, dần dần có một trái tim trưởng thành. Cũng bắt đầu sợ hãi nghe thấy bất kì việc gì liên quan đến bệnh tật, ước mong lớn nhất là cả nhà mạnh khỏe. So với trái tim vội vàng muốn đi khắp chốn của hai năm trước, giờ đây tôi càng hi vọng dùng 9/10 thời gian của mình để cùng mẹ ăn một bữa cơm dưới ánh đèn ấm áp.”
11. Có muộn thế nào đi nữa cũng phải gả cho tình yêu, đừng tạm bợ.
12. Một người có xứng đáng bạn dùng một đời để yêu thương hay không, không phải nhìn vào anh ta tốt với bạn thế nào, mà nhìn vào những lúc anh ta tâm tình không tốt, tệ bạc với bạn ra sao.
13. “Tôi đề nghị bạn đi lên chiến trường, đừng đi yêu. Bởi trong chiến tranh, không chết thì là sống, nhưng trong tình yêu, bạn chết không được mà sống cũng chẳng xong.” - Hitler
14. Mẹ vẫn luôn nhắc nhở tôi: “Con là một người đốn củi, anh ta là kẻ chăn cừu, con nói chuyện với anh ta cả ngày, cừu của anh ta ăn no rồi, củi của con thì sao?” Giờ đây, tôi sâu sắc lĩnh hội câu nói này.
15. Không phải trưởng bối gì, nhưng tôi vẫn hiểu ra nhờ câu này. Đợt trước thất tình, bạn tôi nói: “Khi cậu không buông bỏ được, cậu nhớ đến lúc anh ta là như thế nào buông bỏ cậu đi.”
Nguồn: Weibo