예제 #1
0
        public JsonResult TinhNoNXB(DateTime datethis)
        {
            List <NoNXBList>   cnlist = new List <NoNXBList>();
            List <NXBDebtTien> dt     = db.NXBDebtTiens.ToList();
            List <NXB>         dl     = db.NXBs.ToList();

            foreach (var i in dl)
            {
                List <NXBDebtTien> l = db.NXBDebtTiens.Where(x => x.fk_nxbID == i.nxbID && x.nxbdebttien_ngaycapnhat <= datethis).ToList();
                var         Maxdate  = l.Select(x => x.nxbdebttien_ngaycapnhat).Max();
                NXBDebtTien b        = db.NXBDebtTiens.Where(x => x.fk_nxbID == i.nxbID && x.nxbdebttien_ngaycapnhat == Maxdate).SingleOrDefault();
                if (b != null)
                {
                    NoNXBList h = new NoNXBList {
                        fk_nxbID = i.nxbID, NXB_NAME = i.nxb_ten, notiennxb = b.nxbdebttien_tien
                    };
                    cnlist.Add(h);
                }
                else
                {
                    NoNXBList h = new NoNXBList {
                        fk_nxbID = i.nxbID, NXB_NAME = i.nxb_ten, notiennxb = 0
                    };
                    cnlist.Add(h);
                }
            }
            return(Json(cnlist, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        public JsonResult save(int nxbID, float tongtien)
        {
            DateTime       date = DateTime.Now; var dt = date.Date;
            List <NXBDebt> n = db.NXBDebts.Where(x => x.fk_nxbID == nxbID).ToList();

            foreach (var i in n)
            {
                i.nxbdebt_soluong -= i.nxbdebt_banduoc;
                i.nxbdebt_banduoc  = 0;
            }
            List <NXBDebtTien> li = db.NXBDebtTiens.Where(x => x.fk_nxbID == nxbID).ToList();
            var         maxdate   = li.Select(x => x.nxbdebttien_ngaycapnhat).Max();
            NXBDebtTien e         = db.NXBDebtTiens.Where(x => x.fk_nxbID == nxbID && x.nxbdebttien_ngaycapnhat == maxdate).FirstOrDefault();

            if (n != null)
            {
                if (dt == e.nxbdebttien_ngaycapnhat)
                {
                    e.nxbdebttien_tien -= tongtien;
                }
                else if (dt > e.nxbdebttien_ngaycapnhat)
                {
                    e.nxbdebttien_tien       -= tongtien;
                    e.fk_nxbID                = nxbID;
                    e.nxbdebttien_ngaycapnhat = dt;
                    db.NXBDebtTiens.Add(e);
                }
                else if (dt < e.nxbdebttien_ngaycapnhat)
                {
                    List <NXBDebtTien> dd = db.NXBDebtTiens.Where(x => x.fk_nxbID == nxbID && x.nxbdebttien_ngaycapnhat >= dt).ToList();
                    foreach (var c in dd)
                    {
                        c.nxbdebttien_tien -= tongtien;
                    }
                    NXBDebtTien m = db.NXBDebtTiens.Where(x => x.fk_nxbID == nxbID && x.nxbdebttien_ngaycapnhat == dt).SingleOrDefault();
                    if (m == null)
                    {
                        NXBDebtTien v = new NXBDebtTien {
                            fk_nxbID = nxbID, nxbdebttien_tien = tongtien, nxbdebttien_ngaycapnhat = dt
                        };
                        db.NXBDebtTiens.Add(v);
                    }
                }
            }
            db.SaveChanges();
            return(Json(JsonRequestBehavior.AllowGet));
        }
예제 #3
0
        public JsonResult save(NhapSachVM O)
        {
            bool status = false;

            if (ModelState.IsValid)
            {
                NhapSachMaster order = new NhapSachMaster {
                    fk_nxbID           = O.fk_nxbID,
                    nhapsach_ngaygiao  = O.nhapsach_ngaygiao,
                    nhapsach_nguoigiao = O.nhapsach_nguoigiao
                };
                foreach (var i in O.NhapSachDetails)
                {
                    order.NhapSachDetails.Add(i);
                }
                db.NhapSachMasters.Add(order);
                foreach (var i in O.NhapSachDetails)
                {
                    NXBDebt l = db.NXBDebts.SingleOrDefault(x => x.fk_sachID == i.fk_sachID &&
                                                            x.fk_nxbID == O.fk_nxbID);

                    if (l != null)
                    {
                        l.nxbdebt_soluong += i.soluong;
                    }
                    else
                    {
                        NXBDebt k = new NXBDebt {
                            fk_nxbID        = O.fk_nxbID, fk_sachID = i.fk_sachID,
                            nxbdebt_soluong = i.soluong, nxbdebt_banduoc = 0
                        };
                        db.NXBDebts.Add(k);
                    }
                }
                foreach (var i in O.NhapSachDetails)
                {
                    Sach w = db.Saches.SingleOrDefault(x => x.sachID == i.fk_sachID);
                    w.sach_soluong += i.soluong;
                }
                foreach (var i in O.NhapSachDetails)
                {
                    List <TonKho> la       = db.TonKhoes.Where(x => x.fk_sachID == i.fk_sachID).ToList();
                    var           maxdate1 = la.Select(x => x.tonkho_ngaycapnhat).Max();
                    TonKho        u        = db.TonKhoes.Where(s => s.fk_sachID == i.fk_sachID && s.tonkho_ngaycapnhat == maxdate1).FirstOrDefault();
                    if (u != null)
                    {
                        if (O.nhapsach_ngaygiao == u.tonkho_ngaycapnhat)
                        {
                            u.tonkho_soluong += i.soluong;
                        }
                        else if (O.nhapsach_ngaygiao > u.tonkho_ngaycapnhat)
                        {
                            u.tonkho_soluong    += i.soluong;
                            u.fk_sachID          = i.fk_sachID;
                            u.tonkho_ngaycapnhat = O.nhapsach_ngaygiao;
                            db.TonKhoes.Add(u);
                        }
                        else if (O.nhapsach_ngaygiao < u.tonkho_ngaycapnhat)
                        {
                            List <TonKho> bb = db.TonKhoes.Where(x => x.fk_sachID == i.fk_sachID && x.tonkho_ngaycapnhat >= O.nhapsach_ngaygiao).ToList();
                            foreach (var c in bb)
                            {
                                c.tonkho_soluong += i.soluong;
                            }
                            TonKho h = db.TonKhoes.Where(x => x.fk_sachID == i.fk_sachID && x.tonkho_ngaycapnhat == O.nhapsach_ngaygiao).SingleOrDefault();
                            if (h == null)
                            {
                                TonKho a = new TonKho {
                                    fk_sachID = i.fk_sachID, tonkho_soluong = i.soluong, tonkho_ngaycapnhat = O.nhapsach_ngaygiao
                                };
                                db.TonKhoes.Add(a);
                            }
                        }
                    }
                    else
                    {
                        TonKho p = new TonKho {
                            fk_sachID = i.fk_sachID, tonkho_soluong = i.soluong, tonkho_ngaycapnhat = O.nhapsach_ngaygiao
                        };
                        db.TonKhoes.Add(p);
                    }
                }
            }
            foreach (var i in O.NhapSachDetails)
            {
                List <NXBDebtTien> li = db.NXBDebtTiens.Where(x => x.fk_nxbID == O.fk_nxbID).ToList();
                var         maxdate   = li.Select(x => x.nxbdebttien_ngaycapnhat).Max();
                NXBDebtTien n         = db.NXBDebtTiens.Where(s => s.fk_nxbID == O.fk_nxbID && s.nxbdebttien_ngaycapnhat == maxdate).FirstOrDefault();
                var         gn        = db.Saches.Where(x => x.sachID == i.fk_sachID).Select(x => x.sach_gianhap).SingleOrDefault();
                if (n != null)
                {
                    if (O.nhapsach_ngaygiao == n.nxbdebttien_ngaycapnhat)
                    {
                        n.nxbdebttien_tien += gn * i.soluong;
                    }
                    else if (O.nhapsach_ngaygiao > n.nxbdebttien_ngaycapnhat)
                    {
                        n.nxbdebttien_tien       += gn * i.soluong;
                        n.fk_nxbID                = O.fk_nxbID;
                        n.nxbdebttien_ngaycapnhat = O.nhapsach_ngaygiao;
                        db.NXBDebtTiens.Add(n);
                    }
                    else if (O.nhapsach_ngaygiao < n.nxbdebttien_ngaycapnhat)
                    {
                        List <NXBDebtTien> dd = db.NXBDebtTiens.Where(x => x.fk_nxbID == O.fk_nxbID && x.nxbdebttien_ngaycapnhat >= O.nhapsach_ngaygiao).ToList();
                        foreach (var c in dd)
                        {
                            c.nxbdebttien_tien += gn * i.soluong;
                        }
                        NXBDebtTien m = db.NXBDebtTiens.Where(x => x.fk_nxbID == O.fk_nxbID && x.nxbdebttien_ngaycapnhat == O.nhapsach_ngaygiao).SingleOrDefault();
                        if (m == null)
                        {
                            NXBDebtTien v = new NXBDebtTien {
                                fk_nxbID = O.fk_nxbID, nxbdebttien_tien = gn, nxbdebttien_ngaycapnhat = O.nhapsach_ngaygiao
                            };
                            db.NXBDebtTiens.Add(v);
                        }
                    }
                }
                else
                {
                    NXBDebtTien q = new NXBDebtTien {
                        fk_nxbID = O.fk_nxbID, nxbdebttien_tien = gn * i.soluong, nxbdebttien_ngaycapnhat = O.nhapsach_ngaygiao
                    };
                    db.NXBDebtTiens.Add(q);
                }
            }
            db.SaveChanges();
            status = true;
            return(new JsonResult {
                Data = new { status = status }
            });
        }