Пример #1
0
        public JsonResult saveBaoSach(DaiLyDebt O)
        {
            DateTime date = DateTime.Now; var dt = date.Date;
            bool     status = false;

            if (ModelState.IsValid)
            {
                int     i = int.Parse(Session["DaiLyId"].ToString());
                NXBDebt u = db.NXBDebts.Where(x => x.fk_sachID == O.fk_sachID).SingleOrDefault();
                if (u != null)
                {
                    u.nxbdebt_banduoc += O.dailydebt_soluong;
                }

                DaiLyDebt d = db.DaiLyDebts.Where(x => x.fk_dailyID == i && x.fk_sachID == O.fk_sachID).SingleOrDefault();
                d.dailydebt_soluong -= O.dailydebt_soluong;
                if (d.dailydebt_soluong == 0)
                {
                    db.DaiLyDebts.Remove(d);
                }
                List <DaiLyDebtTien> li    = db.DaiLyDebtTiens.Where(x => x.fk_dailyID == i).ToList();
                var           maxdate      = li.Select(x => x.dailydebttien_ngaycapnhat).Max();
                DaiLyDebtTien n            = db.DaiLyDebtTiens.Where(x => x.fk_dailyID == i && x.dailydebttien_ngaycapnhat == maxdate).FirstOrDefault();
                Sach          s            = db.Saches.Where(x => x.sachID == O.fk_sachID).SingleOrDefault();
                var           maxDdoanhthu = db.DoanhThus.Select(x => x.doanhthu_ngaycapnhat).Max();
                DoanhThu      r            = db.DoanhThus.Where(x => x.doanhthu_ngaycapnhat == maxDdoanhthu).SingleOrDefault();
                if (r != null)
                {
                    if (dt == r.doanhthu_ngaycapnhat)
                    {
                        r.doanhthu_tien += O.dailydebt_soluong * s.sach_giaxuat;
                    }
                    else if (dt > r.doanhthu_ngaycapnhat)
                    {
                        r.doanhthu_tien       += O.dailydebt_soluong * s.sach_giaxuat;
                        r.doanhthu_ngaycapnhat = dt;
                        db.DoanhThus.Add(r);
                    }
                    else if (dt < r.doanhthu_ngaycapnhat)
                    {
                        List <DoanhThu> dd = db.DoanhThus.Where(x => x.doanhthu_ngaycapnhat >= dt).ToList();
                        foreach (var c in dd)
                        {
                            r.doanhthu_tien += O.dailydebt_soluong * s.sach_giaxuat;
                        }
                        DoanhThu m = db.DoanhThus.Where(x => x.doanhthu_ngaycapnhat == dt).SingleOrDefault();
                        if (m == null)
                        {
                            DoanhThu v = new DoanhThu {
                                doanhthu_tien = O.dailydebt_soluong * s.sach_giaxuat, doanhthu_ngaycapnhat = dt
                            };
                            db.DoanhThus.Add(v);
                        }
                    }
                }
                else
                {
                    DoanhThu v = new DoanhThu {
                        doanhthu_tien = O.dailydebt_soluong * s.sach_giaxuat, doanhthu_ngaycapnhat = dt
                    };
                    db.DoanhThus.Add(v);
                }
                if (n != null)
                {
                    if (dt == n.dailydebttien_ngaycapnhat)
                    {
                        n.dailydebttien_tien -= O.dailydebt_soluong * s.sach_giaxuat;
                        n.dailydebttien_sach -= O.dailydebt_soluong;
                    }
                    else if (dt > n.dailydebttien_ngaycapnhat)
                    {
                        n.dailydebttien_tien       -= O.dailydebt_soluong * s.sach_giaxuat;
                        n.dailydebttien_sach       -= O.dailydebt_soluong;
                        n.fk_dailyID                = i;
                        n.dailydebttien_ngaycapnhat = dt;
                        db.DaiLyDebtTiens.Add(n);
                    }
                    else if (dt < n.dailydebttien_ngaycapnhat)
                    {
                        List <DaiLyDebtTien> dd = db.DaiLyDebtTiens.Where(x => x.fk_dailyID == i && x.dailydebttien_ngaycapnhat >= dt).ToList();
                        foreach (var c in dd)
                        {
                            c.dailydebttien_tien -= O.dailydebt_soluong * s.sach_giaxuat;
                            c.dailydebttien_sach -= O.dailydebt_soluong;
                        }
                    }

                    db.SaveChanges();
                    status = true;
                }
                else
                {
                    status = false;
                }
            }
            return(new JsonResult {
                Data = new { status = status }
            });
        }
Пример #2
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 }
            });
        }