Пример #1
0
        /// <summary>
        /// Tổng số lượng xuất hàng
        /// </summary>
        /// <param name="KHO_ID"></param>
        /// <param name="TO"></param>
        /// <param name="INCLUDE_TODAY">true: tính luôn cả ngày đang tính</param>
        /// <param name="MAHH">0: tất cả hàng hóa</param>
        /// <returns></returns>
        public static long Total_Xuat_To(long KHO_ID, DateTime FROM, DateTime TO, bool INCLUDE_TODAY = false, long MAHH = 0)
        {
            long value   = 0;
            long _MAFrom = MAHH;
            long _MATo   = MAHH;

            FROM = FROM.Date;
            TO   = TO.Date;
            if (INCLUDE_TODAY == false)
            {
                TO = TO.AddDays(-1);
            }
            try
            {
                if (MAHH == 0)
                {
                    _MAFrom = 1;
                    _MATo   = (from _n in DataInstance.Instance().DBContext().HANG_HOA select _n.ID).Max();
                }
            }
            catch (Exception ex)
            {
            }
            try
            {
                value = (from _n in DataInstance.Instance().DBContext().XUAT_HANG
                         where _n.MAKHO == KHO_ID
                         where _n.NGAY_XUAT >= FROM && _n.NGAY_XUAT <= TO
                         where _n.MAHH >= _MAFrom && _n.MAHH <= _MATo
                         select _n.SO_LUONG).Sum();
            }
            catch (Exception ex)
            {
            } try
            {
                value += (from _n in DataInstance.Instance().DBContext().BAN_HANG
                          where _n.MAKHO == KHO_ID
                          where _n.NGAY_BAN >= FROM && _n.NGAY_BAN <= TO
                          where _n.MAHH >= _MAFrom && _n.MAHH <= _MATo
                          select _n.SO_LUONG).Sum();
            }
            catch (Exception ex)
            {
            }
            return(value);
        }
Пример #2
0
        public static long TongGocDauKi(long MAKH, DateTime TO)
        {
            TO = TO.Date;
            long value = 0;

            try
            {
                value = DataInstance.Instance().DBContext().THU_NO
                        .Where(u => u.MAKH == MAKH)
                        .Where(u => u.NGAY_TRA < TO)
                        .Select(u => u.TIEN_GOC)
                        .Sum();
            }
            catch (Exception ex)
            {
            }
            return(value);
        }
Пример #3
0
        public static long TongNoDauKi(long MAKH, DateTime TO)
        {
            TO = TO.Date;
            long value = 0;

            try
            {
                value = DataInstance.Instance().DBContext().XUAT_HANG
                        .Where(u => u.MAKH == MAKH)
                        .Where(u => u.NGAY_XUAT < TO)
                        .Select(u => u.THANH_TIEN - u.TRA_TRUOC)
                        .Sum();
            }
            catch (Exception ex)
            {
            }
            return(value);
        }
Пример #4
0
        /// <summary>
        /// Khách hàng trả nợ, bao gồm lãi và gốc hoặc nợ khác (Nợ phát sinh, không lãi, có lý do)
        /// Loại nợ: Nợ hàng hóa hoặc nợ vay
        /// - Tạo một record THU_NO mới
        /// - Cập nhật chi tiết thu nợ
        /// </summary>
        /// <param name="TYPE"></param>
        /// <param name="MAKH"></param>
        /// <param name="TIENGOC"></param>
        /// <param name="TIENLAI"></param>
        public static void Create(int LOAINO, int MAKHO, Int64 MAKH, Int64 TIENGOC, Int64 TIENLAI, DateTime NGAYTRA, string NOIDUNG = "Thanh Toán Nợ")
        {
            /**
             * Tạo mới một THU_NO
             */
            THU_NO ele = new THU_NO();

            ele.MAKH       = MAKH;
            ele.MAKHO      = MAKHO;
            ele.TIEN_GOC   = TIENGOC;
            ele.TIEN_LAI   = TIENLAI;
            ele.NOI_DUNG   = NOIDUNG;
            ele.LOAI_NO    = LOAINO;
            ele.CREATED_AT = DateTime.Now;
            ele.NGAY_TRA   = NGAYTRA.Date;
            DataInstance.Instance().DBContext().AddToTHU_NO(ele);
            DataInstance.Instance().DBContext().SaveChanges();
            Update(ele);
        }
Пример #5
0
 public static bool IsSet(string NAME)
 {
     try
     {
         var ht = DataInstance.Instance().DBContext().HE_THONG.Where(u => u.NAME == NAME).First();
         if (ht != null)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
Пример #6
0
 public static void Set(string NAME, string VALUE)
 {
     try
     {
         var ht = DataInstance.Instance().DBContext().HE_THONG.Where(u => u.NAME == NAME).First();
         foreach (HE_THONG row in DataInstance.Instance().DBContext().HE_THONG.Where(u => u.NAME == NAME))
         {
             row.VALUE = VALUE;
             break;
         }
     }
     catch (Exception ex)
     {
         HE_THONG ht = new HE_THONG();
         ht.NAME  = NAME;
         ht.VALUE = VALUE;
         DataInstance.Instance().DBContext().AddToHE_THONG(ht);
     }
     DataInstance.Instance().DBContext().SaveChanges();
 }
Пример #7
0
 private void buttonADD_Click(object sender, EventArgs e)
 {
     if (textBoxKHACHHANG.Text == "")
     {
         MessageBox.Show("Chưa nhập tên kho mới");
         return;
     }
     bs.Add(new KHO()
     {
         NAME = textBoxKHACHHANG.Text,
         CODE = "",
         TYPE = 0
     }
            );
     bs.EndEdit();
     bs.ResetBindings(false);
     DataInstance.Instance().DBContext().SaveChanges();
     textBoxKHACHHANG.Text = "";
     textBoxKHACHHANG.Select();
 }
Пример #8
0
        /// <summary>
        /// Tính lãi phát sinh của xuất hàng theo ID
        /// </summary>
        /// <param name="id"></param>
        /// <param name="include_THUNO"></param>
        /// <returns></returns>
        public static double GetLaiPhatSinh(int id, DateTime TO, bool include_THUNO = true)
        {
            double    value = 0;
            XUAT_HANG xh    = (from _xh in DataInstance.Instance().DBContext().XUAT_HANG
                               where _xh.ID == id
                               select _xh).First();

            /* Sử dụng chi tiết thu nợ để tính lãi */
            if (include_THUNO == true)
            {
                /* Những lần khách hàng đã trả cho phần nợ xuất hàng này */
                var thu_no_s = MChiTietThuNo.BelongTo(xh, TO);
                value = Utility.LaiKep((DateTime)xh.NGAY_XUAT, TO, xh.LAI_SUAT, xh.THANH_TIEN - xh.TRA_TRUOC, thu_no_s, false);
            }
            /* Không sử dụng chi tiết thu nợ */
            else
            {
                value = Utility.Lai(xh.NGAY_XUAT.Value, TO, xh.LAI_SUAT, xh.THANH_TIEN - xh.TRA_TRUOC);
            }
            return(value);
        }
Пример #9
0
        private void buttonVIEW_Click(object sender, EventArgs e)
        {
            BindingSource bs    = new BindingSource();
            var           _from = dateTimePickerFROM.Value.Date;
            var           _to   = dateTimePickerTO.Value.Date;
            var           _kho  = long.Parse(comboBoxKHO.SelectedValue.ToString());

            bs.DataSource = DataInstance.Instance().DBContext().CHUYEN_TIEN
                            .Where(u => u.NGAY_CHUYEN >= _from && u.NGAY_CHUYEN <= _to && u.ID_TAI_KHOAN == _kho)
                            .Select(u => new CChiTietChuyenTien {
                NGAY = u.NGAY_CHUYEN, TONGTIEN = u.TONG_TIEN
            });
            CrystalReportLICHSUCHUYENTIEN rpt = new CrystalReportLICHSUCHUYENTIEN();

            rpt.SetDataSource(bs);
            rpt.SetParameterValue("KHO", comboBoxKHO.Text);
            rpt.SetParameterValue("FROM", dateTimePickerFROM.Value);
            rpt.SetParameterValue("TO", dateTimePickerTO.Value);
            rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME);
            crystalReportViewer1.ReportSource = rpt;
            crystalReportViewer1.Zoom(150);
        }
Пример #10
0
        public static CThanhToan THANHTOAN(VAY vay)
        {
            CThanhToan result = new CThanhToan();

            try
            {
                CThanhToan _e = (from tnv in DataInstance.Instance().DBContext().TRA_NO_VAY
                                 where tnv.VAY_ID == vay.ID
                                 group tnv by tnv.VAY_ID into g
                                 select new CThanhToan
                {
                    GOC = g.Sum(u => u.TIEN_GOC),
                    LAI = g.Sum(u => u.TIEN_LAI)
                }).First();
                result.GOC = _e.GOC;
                result.LAI = _e.LAI;
            }
            catch (Exception ex)
            {
            }
            return(result);
        }
Пример #11
0
Файл: FXe.cs Проект: nttam1/tgas
 private void buttonADD_Click(object sender, EventArgs e)
 {
     try
     {
         if (textBoxNGUONVAY.Text == "")
         {
             MessageBox.Show("Chưa nhập biển số xe");
             return;
         }
         bs.Add(new XE()
         {
             BIEN_SO = textBoxNGUONVAY.Text
         });
         bs.EndEdit();
         bs.ResetBindings(false);
         DataInstance.Instance().DBContext().SaveChanges();
         textBoxNGUONVAY.Text = "";
         textBoxNGUONVAY.Select();
     }
     catch (Exception ex)
     {
     }
 }
Пример #12
0
        private void buttonVIEW_Click(object sender, EventArgs e)
        {
            var _from = dateTimePickerFROM.Value.Date;
            var _to   = dateTimePickerTO.Value.Date;

            BindingSource bs   = new BindingSource();
            var           rows = (from v in DataInstance.Instance().DBContext().VAYs
                                  join nv in DataInstance.Instance().DBContext().NGUON_VAY on v.MA_NGUON_VAY equals nv.ID
                                  where v.NGAY_VAY >= _from && v.NGAY_VAY <= _to
                                  orderby v.NGAY_VAY ascending
                                  group v by new { v.MA_NGUON_VAY, nv.NAME } into g
                                  select new CTongHopNoVay
            {
                NGUONVAY = g.Key.NAME,
                TONGTIEN = g.Sum(u => u.TONG_TIEN),
                TRAGOC = 0,
                TRALAI = 0,
                NGUONVAYID = g.Key.MA_NGUON_VAY
            });
            List <CTongHopNoVay> l = new List <CTongHopNoVay>();

            foreach (CTongHopNoVay _r in rows)
            {
                CThanhToan _tt = MVay.THANHTOAN(_r.NGUONVAYID, _from.Date, _to.Date);
                _r.TRALAI = _tt.LAI;
                _r.TRAGOC = _tt.GOC;
                l.Add(_r);
            }
            bs.DataSource = l;
            CrystalReportTONGHOPNOVAY rpt = new CrystalReportTONGHOPNOVAY();

            rpt.SetDataSource(bs);
            rpt.SetParameterValue("FROM", _from);
            rpt.SetParameterValue("TO", _to);
            rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME);
            crystalReportViewer1.ReportSource = rpt;
        }
Пример #13
0
 private void buttonADD_Click(object sender, EventArgs e)
 {
     try
     {
         if (textBoxNGUONVAY.Text == "")
         {
             MessageBox.Show("Chưa nhập tên nhà cung cấp");
             return;
         }
         bs.Add(new NHA_CUNG_CAP()
         {
             NAME = textBoxNGUONVAY.Text
         });
         bs.EndEdit();
         bs.ResetBindings(false);
         DataInstance.Instance().DBContext().SaveChanges();
         textBoxNGUONVAY.Text = "";
         textBoxNGUONVAY.Select();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Пример #14
0
        private void button1_Click(object sender, EventArgs e)
        {
            List <CCongNoKhachHang> _datasource = new List <CCongNoKhachHang>();
            string        note = "";
            BindingSource bs   = new BindingSource();
            long          MAKH = long.Parse(comboBox1.SelectedValue.ToString());
            DateTime      FROM = dateTimePickerFROM.Value.Date;
            DateTime      TO   = dateTimePickerTO.Value.Date;

            /* Lấy tất cả dữ liệu xuất hàng cho khách hàng này */
            /* Từ ngày đến ngày */
            IQueryable <CCongNoKhachHang> xuat_hang = (from _xh in DataInstance.Instance().DBContext().XUAT_HANG
                                                       join _kho in DataInstance.Instance().DBContext().KHOes on _xh.MAKHO equals _kho.ID
                                                       //join _hh in DataInstance.Instance().DBContext().HANG_HOA on _xh.MAHH equals _hh.ID
                                                       where _xh.MAKH == MAKH
                                                       where _xh.NGAY_XUAT >= FROM && _xh.NGAY_XUAT <= TO
                                                       orderby _xh.NGAY_XUAT ascending
                                                       select new CCongNoKhachHang
            {
                ID = (int)_xh.ID,
                NGAY = _xh.NGAY_XUAT.Value,
                KHO = _kho.NAME,
                HANGHOAID = _xh.MAHH,
                //HANGHOA = _hh.NAME,
                SOLUONG = _xh.SO_LUONG,
                DONGIABAN = _xh.DON_GIA_BAN,
                THANHTIEN = _xh.THANH_TIEN,
                TRATRUOC = _xh.TRA_TRUOC,
                LAISUAT = _xh.LAI_SUAT,
                LAI = 0,
                TRAGOC = 0,
                TRALAI = 0,
                CONNO = 0
            });

            note = "CHI TIẾT LÃI KHÁCH HÀNG";
            DateTime now = dateTimePickerTO.Value.Date;

            /* Không sử dụng dữ liệu từ thu nợ */
            foreach (CCongNoKhachHang row in xuat_hang)
            {
                //double lai = Utility.Lai(row.NGAY, now, row.LAISUAT, row.THANHTIEN - row.TRATRUOC);
                double lai     = MXuatHang.GetLai(row.ID, now);
                string HangHoa = MHangHoa.GetNameByID(row.HANGHOAID);
                _datasource.Add(new CCongNoKhachHang()
                {
                    NGAY      = row.NGAY,
                    KHO       = row.KHO,
                    HANGHOA   = HangHoa,
                    SOLUONG   = row.SOLUONG,
                    DONGIABAN = row.DONGIABAN,
                    THANHTIEN = row.THANHTIEN,
                    TRATRUOC  = row.TRATRUOC,
                    LAISUAT   = row.LAISUAT * 100,
                    /* Cần tính lãi */
                    LAI    = lai,
                    TRAGOC = 0,
                    TRALAI = 0,
                    CONNO  = row.THANHTIEN + (long)lai - row.TRATRUOC
                });
            }
            //}
            bs.DataSource = _datasource;
            CrystalReportCHITIETLAIKHACHHANG rpt = new CrystalReportCHITIETLAIKHACHHANG();

            rpt.SetDataSource(bs);
            rpt.SetParameterValue("KH", comboBox1.Text);
            rpt.SetParameterValue("FROM", dateTimePickerFROM.Value);
            rpt.SetParameterValue("TO", dateTimePickerTO.Value);
            rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME);
            rpt.SetParameterValue("NOTE", note);
            crystalReportViewer1.ReportSource = rpt;
            crystalReportViewer1.Zoom(150);
        }
Пример #15
0
        private void buttonVIEW_Click(object sender, EventArgs e)
        {
            var           _ncc  = long.Parse(comboBoxNCC.SelectedValue.ToString());
            var           _from = dateTimePickerFROM.Value;
            var           _to   = dateTimePickerTO.Value;
            string        note  = "";
            BindingSource bs    = new BindingSource();

            if (checkBoxTRANO.Checked == false)
            {
                bs.DataSource = (from nh in DataInstance.Instance().DBContext().NHAP_HANG
                                 join kho in DataInstance.Instance().DBContext().KHOes on nh.MAKHO equals kho.ID
                                 join ncc in DataInstance.Instance().DBContext().NHA_CUNG_CAP on nh.MANCC equals ncc.ID
                                 join hh in DataInstance.Instance().DBContext().HANG_HOA on nh.MAHH equals hh.ID
                                 where nh.MANCC == _ncc
                                 where nh.NGAY_NHAP >= _from
                                 where nh.NGAY_NHAP <= _to
                                 select new
                {
                    NGAY = nh.NGAY_NHAP,
                    KHO = kho.NAME,
                    HANGHOA = hh.NAME,
                    SOLUONG = nh.SO_LUONG,
                    DONGIA = nh.DON_GIA_MUA,
                    THANHTIEN = nh.SO_LUONG * nh.DON_GIA_MUA
                });
                CrystalReportCHITIETNONCC rpt = new CrystalReportCHITIETNONCC();
                rpt.SetDataSource(bs);
                rpt.SetParameterValue("NCC", comboBoxNCC.Text);
                rpt.SetParameterValue("FROM", _from);
                rpt.SetParameterValue("TO", _to);
                rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME);
                crystalReportViewer1.ReportSource = rpt;
            }
            else
            {
                List <CThanhToanNCC> lst = new List <CThanhToanNCC>();
                foreach (NHAP_HANG nh in DataInstance.Instance().DBContext().NHAP_HANG
                         .Where(u => u.MANCC == _ncc && u.NGAY_NHAP >= _from && u.NGAY_NHAP <= _to))
                {
                    lst.Add(new CThanhToanNCC
                    {
                        NGAY          = nh.NGAY_NHAP,
                        KHO           = MKho.GetNamebyID(nh.MAKHO),
                        HANGHOA       = MHangHoa.GetNameByID(nh.MAHH),
                        DONGIA        = nh.DON_GIA_MUA,
                        SOLUONG       = nh.SO_LUONG,
                        THANHTIEN     = nh.SO_LUONG * nh.DON_GIA_MUA,
                        TIENTHANHTOAN = 0,
                        CONNO         = 0,
                        THANHTOAN     = "-",
                    });
                }
                foreach (TRA_NO_NCC tn in DataInstance.Instance().DBContext().TRA_NO_NCC
                         .Where(u => u.MANCC == _ncc && u.NGAY_TRA >= _from && u.NGAY_TRA <= _to))
                {
                    lst.Add(new CThanhToanNCC
                    {
                        NGAY          = tn.NGAY_TRA,
                        KHO           = MKho.GetNamebyID(tn.MAKHO),
                        HANGHOA       = "-",
                        DONGIA        = 0,
                        SOLUONG       = 0,
                        TIENTHANHTOAN = tn.TONG_TIEN,
                        CONNO         = 0,
                        THANHTOAN     = "TRẢ NỢ NCC",
                    });
                }
                var  datasource = lst.OrderBy(u => u.NGAY);
                long nodauki    = MNcc.NoTO(_ncc, _from) - MNcc.TraNoTO(_ncc, _from);
                long _nodauki   = nodauki;
                foreach (CThanhToanNCC c in datasource)
                {
                    c.CONNO = nodauki - c.TIENTHANHTOAN + c.THANHTIEN;
                    nodauki = c.CONNO;
                }
                bs.DataSource = lst;
                CrystalReportTHANHTOANNCC rpt = new CrystalReportTHANHTOANNCC();
                rpt.SetDataSource(bs);
                rpt.SetParameterValue("NCC", comboBoxNCC.Text);
                rpt.SetParameterValue("FROM", _from);
                rpt.SetParameterValue("TO", _to);
                rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME);
                rpt.SetParameterValue("NODAUKI", _nodauki);
                crystalReportViewer1.ReportSource = rpt;
            }
        }
Пример #16
0
        private void buttonVIEW_Click(object sender, EventArgs e)
        {
            long               _kho  = long.Parse(comboBoxKHO.SelectedValue.ToString());
            DateTime           _from = dateTimePickerFROM.Value.Date;
            DateTime           _to   = dateTimePickerTO.Value.Date;
            BindingSource      bs    = new BindingSource();
            List <CChiTungKho> list  = new List <CChiTungKho>();
            var luong = (from _luong in DataInstance.Instance().DBContext().CHI_LUONG
                         join _nv in DataInstance.Instance().DBContext().NHAN_VIEN on _luong.MANV equals _nv.ID
                         where _luong.MAKHO == _kho
                         where _luong.NGAY_CHI >= _from && _luong.NGAY_CHI <= _to
                         select new CChiTungKho
            {
                NGAYCHI = _luong.NGAY_CHI,
                NOIDUNG = "Chi luong: " + _nv.NAME,
                TONGTIEN = _luong.TONG_TIEN,
            });

            var noibo = (from _chi in DataInstance.Instance().DBContext().CHI_TIEU_DUNG_NOI_BO
                         join _xe in DataInstance.Instance().DBContext().XEs on _chi.MAXE equals _xe.ID
                         where _chi.MAHH == -1
                         where _chi.MAKHO == _kho
                         where _chi.NGAY_CHI >= _from && _chi.NGAY_CHI <= _to
                         select new CChiTungKho
            {
                NGAYCHI = _chi.NGAY_CHI,
                NOIDUNG = "Xe: " + _xe.BIEN_SO + " - " + _chi.NOI_DUNG,
                TONGTIEN = _chi.TONG_TIEN,
            });
            var khac = (from _luong in DataInstance.Instance().DBContext().CHI_KHAC
                        where _luong.MAKHO == _kho
                        where _luong.NGAY_CHI >= _from && _luong.NGAY_CHI <= _to
                        select new CChiTungKho
            {
                NGAYCHI = _luong.NGAY_CHI,
                NOIDUNG = _luong.NOI_DUNG,
                TONGTIEN = _luong.TONG_TIEN,
            });
            var chovay = (from _luong in DataInstance.Instance().DBContext().XUAT_HANG
                          join _kh in DataInstance.Instance().DBContext().KHACH_HANG on _luong.MAKH equals _kh.ID
                          where _luong.MAKHO == _kho
                          where _luong.MAHH == -1
                          where _luong.NGAY_XUAT >= _from && _luong.NGAY_XUAT <= _to
                          select new CChiTungKho
            {
                NGAYCHI = _luong.NGAY_XUAT.Value,
                NOIDUNG = "Cho vay: " + _kh.NAME,
                TONGTIEN = _luong.THANH_TIEN,
            });
            var trancc = (from _luong in DataInstance.Instance().DBContext().TRA_NO_NCC
                          join ncc in DataInstance.Instance().DBContext().NHA_CUNG_CAP on _luong.MANCC equals ncc.ID
                          where _luong.MAKHO == _kho
                          where _luong.NGAY_TRA >= _from && _luong.NGAY_TRA <= _to
                          select new CChiTungKho
            {
                NGAYCHI = _luong.NGAY_TRA,
                NOIDUNG = "Trả nợ: " + ncc.NAME,
                TONGTIEN = _luong.TONG_TIEN,
            });
            var travay = (from _luong in DataInstance.Instance().DBContext().TRA_NO_VAY
                          join no in DataInstance.Instance().DBContext().NGUON_VAY on _luong.MA_NGUON_VAY equals no.ID
                          where _luong.MAKHO == _kho
                          where _luong.NGAY_TRA >= _from && _luong.NGAY_TRA <= _to
                          select new CChiTungKho
            {
                NGAYCHI = _luong.NGAY_TRA,
                NOIDUNG = "Trả nợ: " + no.NAME,
                TONGTIEN = _luong.TIEN_GOC + _luong.TIEN_LAI,
            });

            foreach (CChiTungKho h in trancc)
            {
                list.Add(h);
            }
            /*CHI LUONG*/
            foreach (CChiTungKho h in luong)
            {
                list.Add(h);
            }
            foreach (CChiTungKho h in noibo)
            {
                list.Add(h);
            }
            foreach (CChiTungKho h in khac)
            {
                list.Add(h);
            }
            foreach (CChiTungKho h in chovay)
            {
                list.Add(h);
            }
            list          = list.OrderBy(u => u.NGAYCHI).ToList();
            bs.DataSource = list;
            CrystalReportCHITUNGKHO rpt = new CrystalReportCHITUNGKHO();

            rpt.SetDataSource(bs);
            rpt.SetParameterValue("KHO", comboBoxKHO.Text);
            rpt.SetParameterValue("FROM", dateTimePickerFROM.Value);
            rpt.SetParameterValue("TO", dateTimePickerTO.Value);
            rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME);
            crystalReportViewer1.ReportSource = rpt;
            crystalReportViewer1.Zoom(150);
        }
Пример #17
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="LOAINO"></param>
        /// <param name="MAKHO"></param>
        /// <param name="MAKH"></param>
        /// <param name="TIENGOC"></param>
        /// <param name="TIENLAI"></param>
        /// <param name="NGAYTRA"></param>
        /// <param name="NOIDUNG"></param>
        public static void Update(THU_NO ele)
        {
            long     LOAINO  = ele.LOAI_NO;
            long     MAKHO   = ele.MAKHO;
            long     MAKH    = ele.MAKH.Value;
            Int64    TIENGOC = ele.TIEN_GOC;
            Int64    TIENLAI = ele.TIEN_LAI;
            DateTime NGAYTRA = ele.NGAY_TRA;
            string   NOIDUNG = ele.NOI_DUNG;

            /**
             * Nợ khác: Thêm vào 1 record, không tác động gì khác
             * Nợ vay và nợ HH: Cần cập nhật chi tiết nợ
             */
            if (LOAINO != NO_KHAC)
            {
                var  _TIENGOC  = TIENGOC;
                var  _TIENLAI  = TIENLAI;
                long _start_id = 0;
                while (true)
                {
                    long     _id       = 0;              // ID nợ của Khách Hàng
                    double   _tong_no  = 0;              // Tổng nợ nợ của Khách Hàng
                    double   _lai_suat = 0;              // Lãi suất nợ của Khách Hàng
                    DateTime _ngay_no  = new DateTime(); //Ngày nợ của Khách Hàng

                    /* Lấy ra record nợ xa nhất chưa trả xong của khách hàng */
                    switch (ele.LOAI_NO)
                    {
                    case NO_HANG_HOA:
                        try
                        {
                            XUAT_HANG _xh = (from xh in DataInstance.Instance().DBContext().XUAT_HANG
                                             where xh.MAKHO == ele.MAKHO
                                             where xh.MAKH == ele.MAKH
                                             where xh.ID > _start_id
                                             where xh.TRANG_THAI == MXuatHang.CHUA_TRA_XONG
                                             orderby xh.NGAY_XUAT ascending
                                             select xh).First();
                            _id       = _xh.ID;
                            _tong_no  = _xh.THANH_TIEN - _xh.TRA_TRUOC;
                            _ngay_no  = _xh.NGAY_XUAT.Value.Date;
                            _lai_suat = _xh.LAI_SUAT;
                        }
                        catch (Exception ex)
                        {
                            break;
                        }
                        break;

                    case NO_VAY:
                        try
                        {
                            CHO_VAY _cv = (from xh in DataInstance.Instance().DBContext().CHO_VAY
                                           where xh.MAKHO == ele.MAKHO
                                           where xh.MA_NGUON_NO == ele.MAKH
                                           where xh.TRANG_THAI == MXuatHang.CHUA_TRA_XONG
                                           where xh.ID > _start_id
                                           orderby xh.NGAY_CHO_VAY ascending
                                           select xh).First();
                            _id       = _cv.ID;
                            _tong_no  = _cv.TONG_TIEN;
                            _ngay_no  = _cv.NGAY_CHO_VAY.Date;
                            _lai_suat = _cv.LAI_SUAT;
                        }
                        catch (Exception ex)
                        {
                            break;
                        }
                        break;
                    }

                    double _lai = 0;        // Lãi mà khách hàng nợ
                    double _goc = _tong_no; // Tiền mà khách hàng nợ

                    /* Lấy chi tiết những lần thanh toán trước cho record nợ này. Nếu có */
                    var _thanh_toan_s = (from tt in DataInstance.Instance().DBContext().CHI_TIET_THU_NO
                                         where tt.LOAI_NO == ele.LOAI_NO
                                         where tt.NO_ID == _id
                                         orderby tt.NGAY_TRA ascending
                                         select tt
                                         );

                    /* Tính lãi phần còn lại sau khi đã thanh toán một hay nhiều phần */
                    DateTime _ngay_no_hien_tai = _ngay_no;
                    foreach (CHI_TIET_THU_NO _r in _thanh_toan_s)
                    {
                        _lai += Utility.Lai(_ngay_no_hien_tai, _r.NGAY_TRA, _lai_suat, _goc) - _r.TIEN_LAI;
                        _ngay_no_hien_tai = _r.NGAY_TRA;
                        _goc -= _r.TIEN_GOC;
                    }

                    _lai += Utility.Lai(_ngay_no_hien_tai, _lai_suat, _goc);

                    // Đã tổng tiền gốc nợ và lãi hiện tại khách hàng nợ.
                    CHI_TIET_THU_NO _e = new CHI_TIET_THU_NO();
                    _e.LOAI_NO    = ele.LOAI_NO;
                    _e.THU_NO_ID  = ele.ID;
                    _e.NO_ID      = _id;
                    _e.NGAY_TRA   = ele.NGAY_TRA;
                    _e.TIEN_GOC   = (long)(_goc < _TIENGOC ? _goc : _TIENGOC);
                    _e.TIEN_LAI   = (long)(_lai < _TIENLAI ? _lai : _TIENLAI);;
                    _e.CREATED_AT = DateTime.Now;
                    if (!(_e.TIEN_GOC == 0 && _e.TIEN_LAI == 0))
                    {
                        DataInstance.Instance().DBContext().AddToCHI_TIET_THU_NO(_e);
                        DataInstance.Instance().DBContext().SaveChanges();
                    }

                    /* Cập nhật TRANG_THAI của nợ hàng hóa hoặc nợ vay */
                    if (_TIENGOC >= _goc && _TIENLAI >= _lai)
                    {
                        switch (ele.LOAI_NO)
                        {
                        case NO_HANG_HOA:
                            try
                            {
                                var _xh = (from xh in DataInstance.Instance().DBContext().XUAT_HANG
                                           where xh.ID == _id
                                           select xh).First();
                                _xh.TRANG_THAI = MXuatHang.DA_TRA_XONG;
                                DataInstance.Instance().DBContext().SaveChanges();
                            }
                            catch (Exception ex)
                            {
                            }
                            break;
                        }
                    }


                    /* Cập nhập lại tiền gốc tiền lãi */
                    _TIENGOC = (long)(_TIENGOC > _goc ? _TIENGOC - _goc : 0);
                    _TIENLAI = (long)(_TIENLAI > _lai ? _TIENLAI - _lai : 0);

                    /* Hết tiền để thanh toán */
                    if (_TIENGOC == 0 && _TIENLAI == 0)
                    {
                        break;
                    }
                    /* Hết tiền gốc hoặc lãi để thanh toán lần xuất hàng hiện tại */
                    //if ((_TIENGOC == 0 && _TIENLAI != 0) || (_TIENGOC != 0 && _TIENLAI == 0))
                    // {
                    _start_id = _id;
                    //}
                }
            }

            DataInstance.Instance().DBContext().SaveChanges();
        }
Пример #18
0
 public static IQueryable <T_Manager.NHA_CUNG_CAP> Get()
 {
     return(DataInstance.Instance().DBContext().NHA_CUNG_CAP);
 }
Пример #19
0
 public static IQueryable <T_Manager.HANG_HOA> Get()
 {
     return(DataInstance.Instance().DBContext().HANG_HOA);
 }
Пример #20
0
        /// <summary>
        /// TỔNG SỐ TIỀN MÀ KHO CHI RA
        /// + CHI LƯƠNG
        /// + CHI KHÁC
        /// + CHI NỘI BỘ
        /// + CHO VAY
        /// + CHI KHÁC
        /// + TRẢ NỢ NCC
        /// + TRẢ NỢ VAY
        /// </summary>
        /// <param name="MAKHO"></param>
        /// <param name="FROM"></param>
        /// <param name="TO"></param>
        /// <returns></returns>
        public static long Total_Chi(long MAKHO, DateTime FROM, DateTime TO)
        {
            long     _kho    = MAKHO;
            DateTime _from   = FROM.Date;
            DateTime _to     = TO.Date;
            long     luong   = 0;
            long     noibo   = 0;
            long     khac    = 0;
            long     chovay  = 0;
            long     chikhac = 0;
            long     trancc  = 0;
            long     travay  = 0;

            try
            {
                luong = (from _luong in DataInstance.Instance().DBContext().CHI_LUONG
                         join _nv in DataInstance.Instance().DBContext().NHAN_VIEN on _luong.MANV equals _nv.ID
                         where _luong.MAKHO == _kho
                         where _luong.NGAY_CHI >= _from && _luong.NGAY_CHI <= _to
                         select _luong.TONG_TIEN).Sum();
            }
            catch (Exception ex) { }

            try
            {
                noibo = (from _chi in DataInstance.Instance().DBContext().CHI_TIEU_DUNG_NOI_BO
                         where _chi.MAHH == -1
                         where _chi.MAKHO == _kho
                         where _chi.NGAY_CHI >= _from && _chi.NGAY_CHI <= _to
                         select _chi.TONG_TIEN).Sum();
            }
            catch (Exception ex) { }

            try
            {
                khac = (from _luong in DataInstance.Instance().DBContext().CHI_KHAC
                        where _luong.MAKHO == _kho
                        where _luong.NGAY_CHI >= _from && _luong.NGAY_CHI <= _to
                        select _luong.TONG_TIEN).Sum();
            }
            catch (Exception ex) { }

            try
            {
                chovay = (from _luong in DataInstance.Instance().DBContext().XUAT_HANG
                          where _luong.MAKHO == MAKHO
                          where _luong.MAHH == -1
                          where _luong.NGAY_XUAT >= FROM && _luong.NGAY_XUAT <= TO
                          select _luong.THANH_TIEN).Sum();
            }
            catch (Exception ex)
            {
            }

            try
            {
                chikhac = (from _luong in DataInstance.Instance().DBContext().CHI_KHAC
                           where _luong.MAKHO == _kho
                           where _luong.NGAY_CHI >= _from && _luong.NGAY_CHI <= _to
                           select _luong.TONG_TIEN).Sum();
            }
            catch (Exception ex)
            {
            }

            try
            {
                trancc = (from _luong in DataInstance.Instance().DBContext().TRA_NO_NCC
                          where _luong.MAKHO == _kho
                          where _luong.NGAY_TRA >= _from && _luong.NGAY_TRA <= _to
                          select _luong.TONG_TIEN).Sum();
            }
            catch (Exception ex)
            {
            }

            try
            {
                travay = (from _luong in DataInstance.Instance().DBContext().TRA_NO_VAY
                          where _luong.MAKHO == _kho
                          where _luong.NGAY_TRA >= _from && _luong.NGAY_TRA <= _to
                          select _luong.TIEN_LAI + _luong.TIEN_GOC).Sum();
            }
            catch (Exception ex)
            {
            }

            return(luong + noibo + khac + chovay + trancc + travay);
        }
Пример #21
0
        private void buttonVIEW_Click(object sender, EventArgs e)
        {
            var           _today             = dateTimePickerFROM.Value.Date;
            long          _kho               = long.Parse(comboBoxKHO.SelectedValue.ToString());
            BindingSource bs                 = new BindingSource();
            CrystalReportCONGOSHANGNGAT rpt  = new CrystalReportCONGOSHANGNGAT();
            List <CCongSoHangNgay>      list = new List <CCongSoHangNgay>();
            var hh = (from _hh in DataInstance.Instance().DBContext().HANG_HOA select _hh);

            foreach (HANG_HOA h in hh)
            {
                foreach (XUAT_HANG bh in (from _bh in DataInstance.Instance().DBContext().XUAT_HANG
                                          where _bh.MAHH == h.ID
                                          where _bh.MAKHO == _kho
                                          where _bh.NGAY_XUAT == _today
                                          select _bh))
                {
                    CCongSoHangNgay c = new CCongSoHangNgay();
                    c.HANGHOA   = h.NAME;
                    c.SOLUONG   = bh.SO_LUONG;
                    c.DONGIA    = bh.DON_GIA_BAN;
                    c.THANHTIEN = bh.THANH_TIEN;
                    list.Add(c);
                }
            }
            if (list.Count > 0)
            {
                bs.DataSource = (from d in list
                                 group d by new { d.HANGHOA, d.DONGIA } into g
                                 orderby g.Key.HANGHOA
                                 select new CCongSoHangNgay
                {
                    HANGHOA = g.Key.HANGHOA,
                    DONGIA = g.Key.DONGIA,
                    SOLUONG = g.Sum(u => u.SOLUONG),
                    THANHTIEN = g.Sum(u => u.THANHTIEN)
                });
            }
            else
            {
                bs.DataSource = list;
            }
            rpt.SetDataSource(bs);
            rpt.SetParameterValue("DATE", _today);
            rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME);
            long thuno    = 0;
            long thukhac  = 0;
            long chiluong = 0;
            long chikhac  = 0;
            long chincc   = 0;
            long no       = 0;

            try
            {
                thuno = (from tn in DataInstance.Instance().DBContext().THU_NO
                         where tn.NGAY_TRA == _today
                         where tn.MAKHO == _kho
                         where tn.LOAI_NO != MThuNo.NO_KHAC
                         select tn.TIEN_GOC + tn.TIEN_LAI
                         ).Sum();
            }
            catch (Exception ex)
            {
            }
            try
            {
                thukhac = (from tn in DataInstance.Instance().DBContext().THU_NO
                           where tn.NGAY_TRA == _today
                           where tn.MAKHO == _kho
                           where tn.LOAI_NO == MThuNo.NO_KHAC
                           select tn.TIEN_GOC + tn.TIEN_LAI).Sum();
            }
            catch (Exception ex)
            {
            }
            try
            {
                chiluong = (from tn in DataInstance.Instance().DBContext().CHI_LUONG
                            where tn.MAKHO == _kho
                            where tn.NGAY_CHI == _today
                            select tn.TONG_TIEN
                            ).Sum();
            }
            catch (Exception ex)
            {
            }
            try
            {
                chikhac = (from tn in DataInstance.Instance().DBContext().CHI_KHAC
                           where tn.MAKHO == _kho
                           where tn.NGAY_CHI == _today
                           select tn.TONG_TIEN
                           ).Sum();
            }
            catch (Exception ex)
            {
            }
            try
            {
                chincc = (from tn in DataInstance.Instance().DBContext().TRA_NO_NCC
                          where tn.MAKHO == _kho
                          where tn.NGAY_TRA == _today
                          select tn.TONG_TIEN
                          ).Sum();
            }
            catch (Exception ex)
            {
            }
            try
            {
                no = (from tn in DataInstance.Instance().DBContext().TRA_NO_VAY
                      where tn.NGAY_TRA == _today
                      where tn.MAKHO == _kho
                      select tn.TIEN_GOC + tn.TIEN_LAI
                      ).Sum();
            }
            catch (Exception ex)
            {
            }

            long kh_no = 0;

            try
            {
                kh_no = (from tn in DataInstance.Instance().DBContext().XUAT_HANG
                         where tn.NGAY_XUAT == _today
                         where tn.MAKH != MXuatHang.MAKH_XUAT_MAT
                         where tn.MAKHO == _kho
                         select tn.THANH_TIEN - tn.TRA_TRUOC
                         ).Sum();
            }
            catch (Exception ex)
            {
            }

            long chi_xe = 0;

            try
            {
                chi_xe = (from tn in DataInstance.Instance().DBContext().CHI_TIEU_DUNG_NOI_BO
                          where tn.NGAY_CHI == _today
                          where tn.MAKHO == _kho
                          where tn.MAHH == -1
                          select tn.TONG_TIEN
                          ).Sum();
            }
            catch (Exception ex)
            {
            }

            rpt.SetParameterValue("THUNO", thuno);
            rpt.SetParameterValue("THUKHAC", thukhac);
            rpt.SetParameterValue("CHILUONG", chiluong);
            rpt.SetParameterValue("CHITRANCC", chincc);
            rpt.SetParameterValue("CHIKHAC", chikhac + chi_xe);
            rpt.SetParameterValue("TRANO", no);
            rpt.SetParameterValue("KHNO", kh_no);

            crystalReportViewer1.ReportSource = rpt;
        }
Пример #22
0
 public MKhachHang(int MAKH)
 {
     this.MAKH     = MAKH;
     this._MA_FROM = 1;
     this._MA_TO   = (from kho in DataInstance.Instance().DBContext().KHOes select kho.ID).Max();
 }
Пример #23
0
        private void button1_Click(object sender, EventArgs e)
        {
            List <CTongHopCongNo> _datasource = new List <CTongHopCongNo>();
            var    include_THUNO = checkBoxTHUNO.Checked;
            string note          = "";
            var    kho           = long.Parse(comboBoxKHO.SelectedValue.ToString());
            var    _from         = dateTimePicker1.Value.Date;
            var    _to           = dateTimePicker2.Value.Date;

            BindingSource bs = new BindingSource();

            /* Tính tổng tiền, trả trước group theo MAKH */
            var _xh = (from xh in DataInstance.Instance().DBContext().XUAT_HANG
                       join kh in DataInstance.Instance().DBContext().KHACH_HANG on xh.MAKH equals kh.ID
                       where xh.MAKHO == kho
                       where xh.NGAY_XUAT >= _from && xh.NGAY_XUAT <= _to
                       group xh by new { xh.MAKH, kh.NAME } into g
                       select new CTongHopCongNo()
            {
                STT = g.Key.MAKH,
                MAKH = g.Key.MAKH,
                KHACHHANG = g.Key.NAME,
                TRATRUOC = g.Sum(u => u.TRA_TRUOC),
                THANHTIEN = g.Sum(u => u.THANH_TIEN),
                DATRA = 0,
                CONNO = g.Sum(u => u.THANH_TIEN - u.TRA_TRUOC)
            }
                       );

            int STT = 1;

            if (include_THUNO == false)
            {
                note = "KHÔNG TÍNH TIỀN LÃI";
                /* Có sử dụng dữ liệu thu nợ */
                /* Tính tổng lãi cho từng KH */
                foreach (CTongHopCongNo row in _xh)
                {
                    //double lai = 0;
                    double datra = 0;
                    /* Tính lãi cho tất cả những lần xuất hàng cho KH */
                    foreach (XUAT_HANG _row in (from _xh_ in DataInstance.Instance().DBContext().XUAT_HANG
                                                where _xh_.MAKHO == kho
                                                where _xh_.MAKH == row.MAKH
                                                select _xh_))
                    {
                        /* Không sử dụng dữ liệu từ thu nợ */
                        //lai += MXuatHang.GetLaiPhatSinh((int)_row.ID, _to);
                        datra += MChiTietThuNo.TraGocHH((int)_row.ID);
                    }
                    _datasource.Add(new CTongHopCongNo()
                    {
                        STT       = STT++,
                        KHACHHANG = row.KHACHHANG,
                        TRATRUOC  = row.TRATRUOC,
                        THANHTIEN = row.THANHTIEN,
                        DATRA     = (long)datra,
                        CONNO     = row.THANHTIEN - (long)datra - row.TRATRUOC
                    });
                }
            }
            else
            {
                note = "BAO GỒM TIỀN LÃI";
                /* Không sử dụng dữ liệu thu nợ*/
                /* Tính tổng lãi cho từng KH */
                foreach (CTongHopCongNo row in _xh)
                {
                    double lai   = 0;
                    double datra = 0;
                    foreach (XUAT_HANG _row in (from _xh_ in DataInstance.Instance().DBContext().XUAT_HANG
                                                where _xh_.MAKHO == kho
                                                where _xh_.MAKH == row.MAKH
                                                select _xh_))
                    {
                        lai   += MXuatHang.GetLai((int)_row.ID, _to);
                        datra += MChiTietThuNo.DaTraHH((int)_row.ID);
                    }
                    _datasource.Add(new CTongHopCongNo()
                    {
                        STT       = STT++,
                        KHACHHANG = row.KHACHHANG,
                        TRATRUOC  = row.TRATRUOC,
                        THANHTIEN = row.THANHTIEN + (long)lai,
                        DATRA     = (long)datra,
                        CONNO     = row.THANHTIEN - (long)datra - row.TRATRUOC + (long)lai
                    });
                }
            }
            bs.DataSource = _datasource;
            CrystalReportTONGHOPCONGNO rpt = new CrystalReportTONGHOPCONGNO();

            rpt.SetDataSource(bs);
            rpt.SetParameterValue("KHO", comboBoxKHO.Text);
            rpt.SetParameterValue("FROM", _from);
            rpt.SetParameterValue("TO", _to);
            rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME);
            rpt.SetParameterValue("NOTE", note);
            crystalReportViewer1.ReportSource = rpt;
            crystalReportViewer1.Zoom(150);
        }
Пример #24
0
 public static IQueryable <T_Manager.KHO> Get(int type)
 {
     return(DataInstance.Instance().DBContext().KHOes.Where(u => u.TYPE == type));
 }
Пример #25
0
        private void buttonVIEW_Click(object sender, EventArgs e)
        {
            string note   = "";
            long   da_tra = 0;
            var    _from  = dateTimePickerFROM.Value;
            var    _to    = dateTimePickerTO.Value;

            BindingSource        bs = new BindingSource();
            List <CTongHopNoNCC> dt = new List <CTongHopNoNCC>();
            var _nh = (from nh in DataInstance.Instance().DBContext().NHAP_HANG
                       join ncc in DataInstance.Instance().DBContext().NHA_CUNG_CAP on nh.MANCC equals ncc.ID
                       join hh in DataInstance.Instance().DBContext().HANG_HOA on nh.MAHH equals hh.ID
                       /* Khac ton kho */
                       where nh.NGAY_NHAP >= _from && nh.NGAY_NHAP <= _to
                       select new CTongHopNoNCC
            {
                NCC = ncc.NAME,
                HANGHOA = hh.NAME,
                SOLUONG = nh.SO_LUONG,
                THANHTIEN = nh.SO_LUONG * nh.DON_GIA_MUA,
            });

            foreach (CTongHopNoNCC row in _nh)
            {
                dt.Add(new CTongHopNoNCC
                {
                    NCC       = row.NCC,
                    HANGHOA   = row.HANGHOA,
                    SOLUONG   = row.SOLUONG,
                    THANHTIEN = row.THANHTIEN,
                });
            }
            var _tn = (from nh in DataInstance.Instance().DBContext().TRA_NO_NCC
                       join ncc in DataInstance.Instance().DBContext().NHA_CUNG_CAP on nh.MANCC equals ncc.ID
                       where nh.NGAY_TRA >= _from && nh.NGAY_TRA <= _to
                       select new CTongHopNoNCC
            {
                NCC = ncc.NAME,
                HANGHOA = "z Trả Nợ z",
                SOLUONG = 0,
                THANHTIEN = -nh.TONG_TIEN,
            });

            foreach (CTongHopNoNCC row in _tn)
            {
                dt.Add(new CTongHopNoNCC
                {
                    NCC       = row.NCC,
                    HANGHOA   = row.HANGHOA,
                    SOLUONG   = row.SOLUONG,
                    THANHTIEN = row.THANHTIEN,
                });
            }
            bs.DataSource = dt;
            CrystalReportTONGHOPNONCC rpt = new CrystalReportTONGHOPNONCC();

            rpt.SetDataSource(bs);
            rpt.SetParameterValue("FROM", _from);
            rpt.SetParameterValue("TO", _to);
            rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME);
            crystalReportViewer1.ReportSource = rpt;
        }
Пример #26
0
        /// <summary>
        /// Trừ số lượng xuất hàng vào số lượng còn lại của nhập hàng
        /// </summary>
        /// <param name="_SoLuong">Số lượng xuất hàng</param>
        /// <param name="ele">Object Xuất hàng</param>
        public static void Update(long _SoLuong, XUAT_HANG ele)
        {
            if (_SoLuong > 0)
            {
                List <CXuatHangChiTiet> chitiet = new List <CXuatHangChiTiet>();
                foreach (var row in DataInstance.Instance().DBContext().NHAP_HANG
                         .Where(u => u.MAKHO == ele.MAKHO)
                         .Where(u => u.MAHH == ele.MAHH)
                         .Where(u => u.SL_CON_LAI > 0)
                         .OrderBy(u => u.NGAY_NHAP))
                {
                    /**
                     * Cập nhật số lượng vào nhập hàng
                     */
                    var sub_SL = row.SL_CON_LAI;
                    row.SL_CON_LAI = _SoLuong >= row.SL_CON_LAI ? 0 : row.SL_CON_LAI - _SoLuong;

                    /* Cập nhật chi tiết số lượng, đơn giá để tính lãi lỗi*/
                    long __subSL = row.SL_CON_LAI > 0 ? _SoLuong : sub_SL;
                    if (__subSL > 0)
                    {
                        chitiet.Add(new CXuatHangChiTiet()
                        {
                            NHAPHANGID = row.ID,
                            SOLUONG    = row.SL_CON_LAI > 0 ? _SoLuong : sub_SL,
                            DONGIA     = row.DON_GIA_MUA
                        });
                    }

                    _SoLuong = _SoLuong >= sub_SL ? _SoLuong - sub_SL : 0;

                    if (_SoLuong == 0)
                    {
                        break;
                    }
                }
                string s_chitiet = JsonConvert.SerializeObject(chitiet);
                ele.CHI_TIET_XUAT_HANG = s_chitiet;
            }
            else
            {
                _SoLuong = -_SoLuong;
                List <CXuatHangChiTiet> chitiet = new List <CXuatHangChiTiet>();
                foreach (var row in DataInstance.Instance().DBContext().NHAP_HANG
                         .Where(u => u.MAKHO == ele.MAKHO)
                         .Where(u => u.MAHH == ele.MAHH)
                         .Where(u => u.SL_CON_LAI < u.SO_LUONG)
                         .OrderByDescending(u => u.NGAY_NHAP))
                {
                    /**
                     * Cập nhật số lượng vào nhập hàng
                     */
                    var sub_SL = row.SL_CON_LAI;
                    row.SL_CON_LAI = _SoLuong >= row.SO_LUONG - row.SL_CON_LAI ? row.SO_LUONG : row.SL_CON_LAI + _SoLuong;

                    /* Cập nhật chi tiết số lượng, đơn giá để tính lãi lỗi*/
                    long __subSL = row.SL_CON_LAI < row.SO_LUONG ? _SoLuong : _SoLuong - (row.SO_LUONG - row.SL_CON_LAI);
                    chitiet.Add(new CXuatHangChiTiet()
                    {
                        NHAPHANGID = row.ID,
                        SOLUONG    = __subSL,
                        DONGIA     = row.DON_GIA_MUA
                    });

                    _SoLuong = _SoLuong - sub_SL;

                    if (_SoLuong == 0)
                    {
                        break;
                    }
                }
                string s_chitiet = JsonConvert.SerializeObject(chitiet);
                ele.CHI_TIET_XUAT_HANG = s_chitiet;
            }
            DataInstance.Instance().DBContext().SaveChanges();
        }
Пример #27
0
 private void FChiXe_Load(object sender, EventArgs e)
 {
     comboBox1.DataSource    = DataInstance.Instance().DBContext().XEs.OrderBy(u => u.BIEN_SO);
     comboBox1.DisplayMember = "BIEN_SO";
     comboBox1.ValueMember   = "ID";
 }