public IHttpActionResult PostKHO_NHAP_KHOMH(NhapKhoMH kho_NhapKhoMH)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            //Lưu thông tin nhập kho
            KHO_NHAP_KHO nk = new KHO_NHAP_KHO();

            nk.NGAY_CHUNG_TU      = GeneralFunction.ConvertToTime(kho_NhapKhoMH.NGAY_CHUNG_TU);
            nk.NGAY_HACH_TOAN     = GeneralFunction.ConvertToTime(kho_NhapKhoMH.NGAY_HACH_TOAN);
            nk.SO_CHUNG_TU        = GeneralChungTu();
            nk.NGUOI_LAP_PHIEU    = kho_NhapKhoMH.NGUOI_LAP_PHIEU;
            nk.MA_DOI_TUONG       = kho_NhapKhoMH.MA_DOI_TUONG;
            nk.NHAN_VIEN_MUA_HANG = kho_NhapKhoMH.NHAN_VIEN_MUA_HANG;
            nk.DIEN_GIAI          = kho_NhapKhoMH.DIEN_GIAI;
            nk.TRUC_THUOC         = "HOPLONG";
            nk.LOAI_NHAP_KHO      = kho_NhapKhoMH.LOAI_NHAP_KHO;
            db.KHO_NHAP_KHO.Add(nk);

            //Lưu thông tin tham chiếu
            if (kho_NhapKhoMH.ThamChieu.Count > 0)
            {
                foreach (ThamChieu item in kho_NhapKhoMH.ThamChieu)
                {
                    XL_THAM_CHIEU_CHUNG_TU newItem = new XL_THAM_CHIEU_CHUNG_TU();
                    newItem.SO_CHUNG_TU_GOC        = nk.SO_CHUNG_TU;
                    newItem.SO_CHUNG_TU_THAM_CHIEU = item.SO_CHUNG_TU;
                    db.XL_THAM_CHIEU_CHUNG_TU.Add(newItem);
                }
            }
            //Lưu chi tiết
            decimal tongtien = 0;

            //HHTONKHOViewModels HHTon = new HHTONKHOViewModels();
            //NhomHangViewModels NhomHang = new NhomHangViewModels();
            if (kho_NhapKhoMH.ChiTiet != null && kho_NhapKhoMH.ChiTiet.Count > 0)
            {
                foreach (ChiTietNhapKhoMH item in kho_NhapKhoMH.ChiTiet)
                {
                    KHO_CT_NHAP_KHO newItem = new KHO_CT_NHAP_KHO();
                    newItem.SO_CHUNG_TU = nk.SO_CHUNG_TU;
                    newItem.MA_HANG     = item.MA_HANG;
                    newItem.MA_KHO_CON  = item.MA_KHO_CON;
                    newItem.TK_CO       = item.TK_CO;
                    newItem.TK_NO       = item.TK_NO;
                    newItem.DVT         = item.DVT;
                    newItem.DON_GIA     = Convert.ToDecimal(item.DON_GIA_CHUA_VAT);
                    newItem.SO_LUONG    = Convert.ToInt32(item.SL);
                    newItem.THANH_TIEN  = Convert.ToDecimal(item.THANH_TIEN_CHUA_VAT);
                    tongtien           += newItem.THANH_TIEN;
                    newItem.TK_KHO      = item.TK_KHO;
                    db.KHO_CT_NHAP_KHO.Add(newItem);


                    //Cập nhật hàng tồn
                    var newkhogiu = db.KHO_HANG_CAN_GIU.Where(x => x.MA_HANG == item.MA_HANG).ToList();
                    soluongcon = newItem.SO_LUONG;
                    foreach (var abc in newkhogiu)
                    {
                        if (newItem.SO_LUONG > abc.SL_CAN_GIU)
                        {
                            TONKHO_HOPLONG newhanggiu = db.TONKHO_HOPLONG.Where(x => x.MA_HANG == item.MA_HANG && x.MA_KHO_CON == "IVHOPLONG05").FirstOrDefault();
                            if (newhanggiu != null)
                            {
                                newhanggiu.SL_HOPLONG += abc.SL_CAN_GIU;
                            }
                            var quezzzry = db.KHO_GIU_HANG.Where(x => x.ID_CT_PO == abc.ID_PO_BAN).FirstOrDefault();
                            if (quezzzry != null)
                            {
                                quezzzry.SL_GIU = abc.SL_CAN_GIU + quezzzry.SL_GIU;
                            }
                            abc.SL_CAN_GIU   = 0;
                            newItem.SO_LUONG = newItem.SO_LUONG - abc.SL_CAN_GIU;

                            TONKHO_HOPLONG newHangTon = db.TONKHO_HOPLONG.Where(x => x.MA_HANG == item.MA_HANG && x.MA_KHO_CON == item.MA_KHO_CON).FirstOrDefault();
                            if (newHangTon == null)
                            {
                                newHangTon            = new TONKHO_HOPLONG();
                                newHangTon.MA_HANG    = item.MA_HANG;
                                newHangTon.MA_KHO_CON = item.MA_KHO_CON;
                                newHangTon.SL_HOPLONG = newItem.SO_LUONG;
                                db.TONKHO_HOPLONG.Add(newHangTon);
                            }
                            else
                            {
                                newHangTon.SL_HOPLONG += newItem.SO_LUONG;
                            }
                        }
                        if (newItem.SO_LUONG < abc.SL_CAN_GIU)
                        {
                            TONKHO_HOPLONG newhanggiu = db.TONKHO_HOPLONG.Where(x => x.MA_HANG == item.MA_HANG && x.MA_KHO_CON == "IVHOPLONG05").FirstOrDefault();
                            if (newhanggiu != null)
                            {
                                newhanggiu.SL_HOPLONG += abc.SL_CAN_GIU;
                            }
                            var quezzzry = db.KHO_GIU_HANG.Where(x => x.ID_CT_PO == abc.ID_PO_BAN).FirstOrDefault();
                            if (quezzzry != null)
                            {
                                quezzzry.SL_GIU = abc.SL_CAN_GIU + quezzzry.SL_GIU;
                            }
                            abc.SL_CAN_GIU   = abc.SL_CAN_GIU - newItem.SO_LUONG;
                            newItem.SO_LUONG = 0;
                            TONKHO_HOPLONG newHangTon = db.TONKHO_HOPLONG.Where(x => x.MA_HANG == item.MA_HANG && x.MA_KHO_CON == item.MA_KHO_CON).FirstOrDefault();
                            if (newHangTon == null)
                            {
                                newHangTon            = new TONKHO_HOPLONG();
                                newHangTon.MA_HANG    = item.MA_HANG;
                                newHangTon.MA_KHO_CON = item.MA_KHO_CON;
                                newHangTon.SL_HOPLONG = newItem.SO_LUONG;
                                db.TONKHO_HOPLONG.Add(newHangTon);
                            }
                            else
                            {
                                newHangTon.SL_HOPLONG += newItem.SO_LUONG;
                            }
                        }
                        if (newItem.SO_LUONG == abc.SL_CAN_GIU)
                        {
                            TONKHO_HOPLONG newhanggiu = db.TONKHO_HOPLONG.Where(x => x.MA_HANG == item.MA_HANG && x.MA_KHO_CON == "IVHOPLONG05").FirstOrDefault();
                            if (newhanggiu != null)
                            {
                                newhanggiu.SL_HOPLONG += abc.SL_CAN_GIU;
                            }
                            var quezzzry = db.KHO_GIU_HANG.Where(x => x.ID_CT_PO == abc.ID_PO_BAN).FirstOrDefault();
                            if (quezzzry != null)
                            {
                                quezzzry.SL_GIU = abc.SL_CAN_GIU + quezzzry.SL_GIU;
                            }
                            abc.SL_CAN_GIU   = 0;
                            newItem.SO_LUONG = 0;
                            TONKHO_HOPLONG newHangTon = db.TONKHO_HOPLONG.Where(x => x.MA_HANG == item.MA_HANG && x.MA_KHO_CON == item.MA_KHO_CON).FirstOrDefault();
                            if (newHangTon == null)
                            {
                                newHangTon            = new TONKHO_HOPLONG();
                                newHangTon.MA_HANG    = item.MA_HANG;
                                newHangTon.MA_KHO_CON = item.MA_KHO_CON;
                                newHangTon.SL_HOPLONG = newItem.SO_LUONG;
                                db.TONKHO_HOPLONG.Add(newHangTon);
                            }
                            else
                            {
                                newHangTon.SL_HOPLONG += newItem.SO_LUONG;
                            }
                        }
                    }



                    var query = db.MH_CT_DE_NGHI_NHAP_KHO.Where(x => x.MA_HANG == newItem.MA_HANG && x.MA_SO_DN == kho_NhapKhoMH.MA_SO_DN).FirstOrDefault();
                    if (query != null)
                    {
                        IDDeNghi = query.ID;
                    }
                    ;
                    MH_DE_NGHI_JOIN_PO_MH dnmh = db.MH_DE_NGHI_JOIN_PO_MH.Where(x => x.ID_DE_NGHI == IDDeNghi).FirstOrDefault();
                    MH_PO_CT_MUA_HANG     pomh = db.MH_PO_CT_MUA_HANG.Where(x => x.ID == dnmh.ID_PO_DAT_HANG).FirstOrDefault();
                    if ((pomh.SL - pomh.SL_DA_VE) >= newItem.SO_LUONG)
                    {
                        pomh.SL_DA_VE += Convert.ToInt32(newItem.SO_LUONG);
                    }
                    else
                    {
                        return(Ok("Hàng đã được nhập vào kho rồi!"));
                    }
                    var query1 = db.MH_DE_NGHI_NHAP_KHO.Where(x => x.MA_SO_DN == kho_NhapKhoMH.MA_SO_DN).FirstOrDefault();
                    if (query1 != null)
                    {
                        query1.DA_NHAP_KHO    = true;
                        query1.PHIEU_NHAP_KHO = newItem.SO_CHUNG_TU;
                    }


                    // Lưu Nhật ký
                    KT_SO_NHAT_KY_CHUNG sonhatky = new KT_SO_NHAT_KY_CHUNG();
                    sonhatky.SO_CHUNG_TU    = newItem.SO_CHUNG_TU;
                    sonhatky.NGAY_CHUNG_TU  = nk.NGAY_CHUNG_TU;
                    sonhatky.NGAY_HACH_TOAN = nk.NGAY_HACH_TOAN;
                    if (nk.NHAN_VIEN_MUA_HANG == null)
                    {
                        sonhatky.DOI_TUONG = nk.NHAN_VIEN_MUA_HANG;
                    }
                    else
                    {
                        sonhatky.DOI_TUONG = nk.NHAN_VIEN_MUA_HANG;
                    }

                    sonhatky.TRUC_THUOC          = "HOPLONG";
                    sonhatky.DIEN_GIAI_CHUNG     = nk.DIEN_GIAI;
                    sonhatky.DIEN_GIAI_CHI_TIET  = nk.DIEN_GIAI;
                    sonhatky.TAI_KHOAN_HACH_TOAN = newItem.TK_NO;
                    sonhatky.TAI_KHOAN_DOI_UNG   = newItem.TK_CO;
                    sonhatky.PHAT_SINH_NO        = tongtien;
                    sonhatky.PHAT_SINH_CO        = 0;
                    db.KT_SO_NHAT_KY_CHUNG.Add(sonhatky);
                    KT_SO_NHAT_KY_CHUNG sonhatky1 = new KT_SO_NHAT_KY_CHUNG();
                    sonhatky1.SO_CHUNG_TU    = newItem.SO_CHUNG_TU;
                    sonhatky1.NGAY_CHUNG_TU  = nk.NGAY_CHUNG_TU;
                    sonhatky1.NGAY_HACH_TOAN = nk.NGAY_HACH_TOAN;
                    if (nk.NHAN_VIEN_MUA_HANG == null)
                    {
                        sonhatky1.DOI_TUONG = nk.NHAN_VIEN_MUA_HANG;
                    }
                    else
                    {
                        sonhatky1.DOI_TUONG = nk.NHAN_VIEN_MUA_HANG;
                    }
                    sonhatky1.TRUC_THUOC          = "HOPLONG";
                    sonhatky1.DIEN_GIAI_CHUNG     = nk.DIEN_GIAI;
                    sonhatky1.DIEN_GIAI_CHI_TIET  = nk.DIEN_GIAI;
                    sonhatky1.TAI_KHOAN_HACH_TOAN = newItem.TK_CO;
                    sonhatky1.TAI_KHOAN_DOI_UNG   = newItem.TK_NO;
                    sonhatky1.PHAT_SINH_NO        = 0;
                    sonhatky1.PHAT_SINH_CO        = tongtien;
                    db.KT_SO_NHAT_KY_CHUNG.Add(sonhatky1);
                }
            }


            nk.TONG_TIEN = tongtien;
            //Cập nhật Hàng tồn kho
            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (KHO_NHAP_KHOExists(kho_NhapKhoMH.SO_CHUNG_TU))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(Ok(nk.SO_CHUNG_TU));
        }
예제 #2
0
        public IHttpActionResult PostNH_UNC(ChiNganHang chi_nganhang)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            //Lưu thông tin nhập kho
            NH_UNC unc = new NH_UNC();

            unc.NGAY_CHUNG_TU                 = GeneralFunction.ConvertToTime(chi_nganhang.NGAY_CHUNG_TU);
            unc.NGAY_HACH_TOAN                = GeneralFunction.ConvertToTime(chi_nganhang.NGAY_HACH_TOAN);
            unc.SO_CHUNG_TU                   = AutoMA_DU_KIEN();
            unc.TAI_KHOAN_CHI                 = chi_nganhang.TAI_KHOAN_CHI;
            unc.MA_DOI_TUONG                  = chi_nganhang.MA_DOI_TUONG;
            unc.NOI_DUNG_THANH_TOAN           = chi_nganhang.NOI_DUNG_THANH_TOAN;
            unc.DIEN_GIAI_NOI_DUNG_THANH_TOAN = chi_nganhang.DIEN_GIAI_NOI_DUNG_THANH_TOAN;
            unc.TAI_KHOAN_NHAN                = chi_nganhang.TAI_KHOAN_NHAN;
            unc.NHAN_VIEN_CHUYEN_KHOAN        = chi_nganhang.NHAN_VIEN_CHUYEN_KHOAN;
            unc.NGUOI_LAP_BIEU                = chi_nganhang.NGUOI_LAP_BIEU;
            unc.TRUC_THUOC = "HOPLONG";
            db.NH_UNC.Add(unc);

            //Lưu thông tin tham chiếu
            if (chi_nganhang.ThamChieu.Count > 0)
            {
                foreach (ThamChieu item in chi_nganhang.ThamChieu)
                {
                    XL_THAM_CHIEU_CHUNG_TU newItem = new XL_THAM_CHIEU_CHUNG_TU();
                    newItem.SO_CHUNG_TU_GOC        = unc.SO_CHUNG_TU;
                    newItem.SO_CHUNG_TU_THAM_CHIEU = item.SO_CHUNG_TU;
                    db.XL_THAM_CHIEU_CHUNG_TU.Add(newItem);
                }
            }
            //Lưu chi tiết
            decimal tongtien = 0;

            //TONKHO_HOPLONG HHTon = new TONKHO_HOPLONG();
            //HH_NHOM_VTHH NhomHang = new HH_NHOM_VTHH();
            if (chi_nganhang.ChiTietHachToan != null && chi_nganhang.ChiTietHachToan.Count > 0)
            {
                foreach (ChiTietHachToanPhieuChi item in chi_nganhang.ChiTietHachToan)
                {
                    NH_CT_UNC newItem = new NH_CT_UNC();
                    newItem.SO_CHUNG_TU  = unc.SO_CHUNG_TU;
                    newItem.DIEN_GIAI    = item.DIEN_GIAI;
                    newItem.LOAI_TIEN    = item.LOAI_TIEN;
                    newItem.TK_CO        = item.TK_CO;
                    newItem.TK_NO        = item.TK_NO;
                    newItem.SO_TIEN      = Convert.ToDecimal(item.SO_TIEN);
                    newItem.TY_GIA       = Convert.ToInt32(item.TY_GIA);
                    newItem.QUY_DOI      = newItem.SO_TIEN * newItem.TY_GIA;
                    tongtien            += newItem.QUY_DOI;
                    newItem.MA_DOI_TUONG = unc.MA_DOI_TUONG;
                    newItem.DON_VI       = item.DON_VI;
                    if (chi_nganhang.ChiTietThue != null && chi_nganhang.ChiTietThue.Count > 0)
                    {
                        var thue = chi_nganhang.ChiTietThue.Where(x => x.MA_NHA_CUNG_CAP == unc.MA_DOI_TUONG).FirstOrDefault();
                        newItem.DIEN_GIAI_THUE         = thue.DIEN_GIAI_THUE;
                        newItem.TK_THUE_GTGT           = thue.TK_THUE_GTGT;
                        newItem.TIEN_THUE_GTGT         = thue.TIEN_THUE_GTGT;
                        newItem.CK_THUE_GTGT           = thue.CK_THUE_GTGT;
                        newItem.GIA_TRI_HHDV_CHUA_THUE = thue.GIA_TRI_HHDV_CHUA_THUE;
                        newItem.NGAY_HD         = Convert.ToDateTime(thue.NGAY_HD);
                        newItem.SO_HD           = thue.SO_HD;
                        newItem.MAU_SO_HD       = thue.MAU_SO_HD;
                        newItem.KY_HIEU_HD      = thue.KY_HIEU_HD;
                        newItem.MA_NHA_CUNG_CAP = thue.MA_NHA_CUNG_CAP;
                    }

                    db.NH_CT_UNC.Add(newItem);

                    // Lưu Nhật ký
                    KT_SO_NHAT_KY_CHUNG sonhatky = new KT_SO_NHAT_KY_CHUNG();
                    sonhatky.SO_CHUNG_TU         = newItem.SO_CHUNG_TU;
                    sonhatky.NGAY_CHUNG_TU       = unc.NGAY_CHUNG_TU;
                    sonhatky.NGAY_HACH_TOAN      = unc.NGAY_HACH_TOAN;
                    sonhatky.DOI_TUONG           = unc.MA_DOI_TUONG;
                    sonhatky.TRUC_THUOC          = "HOPLONG";
                    sonhatky.DIEN_GIAI_CHUNG     = unc.NOI_DUNG_THANH_TOAN;
                    sonhatky.DIEN_GIAI_CHI_TIET  = newItem.DIEN_GIAI;
                    sonhatky.TAI_KHOAN_HACH_TOAN = newItem.TK_NO;
                    sonhatky.TAI_KHOAN_DOI_UNG   = newItem.TK_CO;
                    sonhatky.PHAT_SINH_NO        = tongtien;
                    sonhatky.PHAT_SINH_CO        = 0;
                    db.KT_SO_NHAT_KY_CHUNG.Add(sonhatky);
                    KT_SO_NHAT_KY_CHUNG sonhatky1 = new KT_SO_NHAT_KY_CHUNG();
                    sonhatky1.SO_CHUNG_TU         = newItem.SO_CHUNG_TU;
                    sonhatky1.NGAY_CHUNG_TU       = unc.NGAY_CHUNG_TU;
                    sonhatky1.NGAY_HACH_TOAN      = unc.NGAY_HACH_TOAN;
                    sonhatky1.DOI_TUONG           = unc.MA_DOI_TUONG;
                    sonhatky1.TRUC_THUOC          = "HOPLONG";
                    sonhatky1.DIEN_GIAI_CHUNG     = unc.NOI_DUNG_THANH_TOAN;
                    sonhatky1.DIEN_GIAI_CHI_TIET  = newItem.DIEN_GIAI;
                    sonhatky1.TAI_KHOAN_HACH_TOAN = newItem.TK_CO;
                    sonhatky1.TAI_KHOAN_DOI_UNG   = newItem.TK_NO;
                    sonhatky1.PHAT_SINH_NO        = 0;
                    sonhatky1.PHAT_SINH_CO        = tongtien;
                    db.KT_SO_NHAT_KY_CHUNG.Add(sonhatky1);
                    if (newItem.TK_THUE_GTGT != null)
                    {
                        KT_SO_NHAT_KY_CHUNG sonhatky3 = new KT_SO_NHAT_KY_CHUNG();
                        sonhatky3.SO_CHUNG_TU         = newItem.SO_CHUNG_TU;
                        sonhatky3.NGAY_CHUNG_TU       = unc.NGAY_CHUNG_TU;
                        sonhatky3.NGAY_HACH_TOAN      = unc.NGAY_HACH_TOAN;
                        sonhatky3.DOI_TUONG           = unc.MA_DOI_TUONG;
                        sonhatky3.TRUC_THUOC          = "HOPLONG";
                        sonhatky3.DIEN_GIAI_CHUNG     = unc.NOI_DUNG_THANH_TOAN;
                        sonhatky3.DIEN_GIAI_CHI_TIET  = newItem.DIEN_GIAI;
                        sonhatky3.TAI_KHOAN_HACH_TOAN = newItem.TK_THUE_GTGT;
                        sonhatky3.TAI_KHOAN_DOI_UNG   = newItem.TK_NO;
                        sonhatky3.PHAT_SINH_NO        = Convert.ToDecimal(newItem.TIEN_THUE_GTGT);
                        sonhatky3.PHAT_SINH_CO        = 0;
                        db.KT_SO_NHAT_KY_CHUNG.Add(sonhatky3);
                        KT_SO_NHAT_KY_CHUNG sonhatky4 = new KT_SO_NHAT_KY_CHUNG();
                        sonhatky4.SO_CHUNG_TU         = newItem.SO_CHUNG_TU;
                        sonhatky4.NGAY_CHUNG_TU       = unc.NGAY_CHUNG_TU;
                        sonhatky4.NGAY_HACH_TOAN      = unc.NGAY_HACH_TOAN;
                        sonhatky4.DOI_TUONG           = unc.MA_DOI_TUONG;
                        sonhatky4.TRUC_THUOC          = "HOPLONG";
                        sonhatky4.DIEN_GIAI_CHUNG     = unc.NOI_DUNG_THANH_TOAN;
                        sonhatky4.DIEN_GIAI_CHI_TIET  = newItem.DIEN_GIAI;
                        sonhatky4.TAI_KHOAN_HACH_TOAN = newItem.TK_NO;
                        sonhatky4.TAI_KHOAN_DOI_UNG   = newItem.TK_THUE_GTGT;
                        sonhatky4.PHAT_SINH_NO        = 0;
                        sonhatky4.PHAT_SINH_CO        = Convert.ToDecimal(newItem.TIEN_THUE_GTGT);
                        db.KT_SO_NHAT_KY_CHUNG.Add(sonhatky4);
                        db.SaveChanges();
                    }
                }
            }


            unc.TONG_TIEN = tongtien;



            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (NH_UNCExists(chi_nganhang.SO_CHUNG_TU))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }


            return(Ok(unc.SO_CHUNG_TU));
        }
예제 #3
0
        public IHttpActionResult PostKHO_NHAP_KHO(NhapKho kho_NhapKho)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            //Lưu thông tin nhập kho
            KHO_NHAP_KHO nk = new KHO_NHAP_KHO();

            nk.NGAY_CHUNG_TU   = GeneralFunction.ConvertToTime(kho_NhapKho.NGAY_CHUNG_TU);
            nk.NGAY_HACH_TOAN  = GeneralFunction.ConvertToTime(kho_NhapKho.NGAY_HACH_TOAN);
            nk.SO_CHUNG_TU     = GeneralChungTu();
            nk.NGUOI_GIAO_HANG = kho_NhapKho.NGUOI_GIAO_HANG;
            nk.NGUOI_LAP_PHIEU = kho_NhapKho.NGUOI_LAP_PHIEU;
            nk.MA_DOI_TUONG    = kho_NhapKho.MA_DOI_TUONG;
            nk.DIEN_GIAI       = kho_NhapKho.DIEN_GIAI;
            nk.TRUC_THUOC      = "HOPLONG";
            nk.LOAI_NHAP_KHO   = kho_NhapKho.LOAI_NHAP_KHO;
            db.KHO_NHAP_KHO.Add(nk);

            //Lưu thông tin tham chiếu
            if (kho_NhapKho.ThamChieu.Count > 0)
            {
                foreach (ThamChieu item in kho_NhapKho.ThamChieu)
                {
                    XL_THAM_CHIEU_CHUNG_TU newItem = new XL_THAM_CHIEU_CHUNG_TU();
                    newItem.SO_CHUNG_TU_GOC        = nk.SO_CHUNG_TU;
                    newItem.SO_CHUNG_TU_THAM_CHIEU = item.SO_CHUNG_TU;
                    db.XL_THAM_CHIEU_CHUNG_TU.Add(newItem);
                }
            }
            //Lưu chi tiết
            decimal tongtien = 0;

            //HHTONKHOViewModels HHTon = new HHTONKHOViewModels();
            //NhomHangViewModels NhomHang = new NhomHangViewModels();
            if (kho_NhapKho.ChiTiet != null && kho_NhapKho.ChiTiet.Count > 0)
            {
                foreach (ChiTietNhapKho item in kho_NhapKho.ChiTiet)
                {
                    KHO_CT_NHAP_KHO newItem = new KHO_CT_NHAP_KHO();
                    newItem.SO_CHUNG_TU = nk.SO_CHUNG_TU;
                    newItem.MA_HANG     = item.MA_HANG;
                    newItem.MA_KHO_CON  = item.MA_KHO;
                    newItem.TK_CO       = item.TK_CO;
                    newItem.TK_NO       = item.TK_NO;
                    newItem.DVT         = item.DVT;
                    newItem.DON_GIA     = Convert.ToDecimal(item.DON_GIA);
                    newItem.SO_LUONG    = Convert.ToInt32(item.SO_LUONG);
                    newItem.THANH_TIEN  = newItem.DON_GIA * newItem.SO_LUONG;
                    tongtien           += newItem.THANH_TIEN;
                    newItem.TK_KHO      = item.TK_KHO;
                    db.KHO_CT_NHAP_KHO.Add(newItem);
                    //Cập nhật hàng tồn
                    TONKHO_HOPLONG newHangTon = db.TONKHO_HOPLONG.Where(x => x.MA_HANG == item.MA_HANG && x.MA_KHO_CON == item.MA_KHO).FirstOrDefault();
                    if (newHangTon == null)
                    {
                        newHangTon            = new TONKHO_HOPLONG();
                        newHangTon.MA_HANG    = item.MA_HANG;
                        newHangTon.MA_KHO_CON = item.MA_KHO;
                        newHangTon.SL_HOPLONG = Convert.ToInt32(item.SO_LUONG);
                        db.TONKHO_HOPLONG.Add(newHangTon);
                    }
                    else
                    {
                        newHangTon.SL_HOPLONG += Convert.ToInt32(item.SO_LUONG);
                    }

                    // Lưu Nhật ký
                    KT_SO_NHAT_KY_CHUNG sonhatky = new KT_SO_NHAT_KY_CHUNG();
                    sonhatky.SO_CHUNG_TU    = newItem.SO_CHUNG_TU;
                    sonhatky.NGAY_CHUNG_TU  = nk.NGAY_CHUNG_TU;
                    sonhatky.NGAY_HACH_TOAN = nk.NGAY_HACH_TOAN;
                    if (nk.MA_DOI_TUONG == null)
                    {
                        sonhatky.DOI_TUONG = nk.NGUOI_GIAO_HANG;
                    }
                    else
                    {
                        sonhatky.DOI_TUONG = nk.MA_DOI_TUONG;
                    }

                    sonhatky.TRUC_THUOC          = "HOPLONG";
                    sonhatky.DIEN_GIAI_CHUNG     = nk.DIEN_GIAI;
                    sonhatky.DIEN_GIAI_CHI_TIET  = nk.DIEN_GIAI;
                    sonhatky.TAI_KHOAN_HACH_TOAN = newItem.TK_NO;
                    sonhatky.TAI_KHOAN_DOI_UNG   = newItem.TK_CO;
                    sonhatky.PHAT_SINH_NO        = tongtien;
                    sonhatky.PHAT_SINH_CO        = 0;
                    db.KT_SO_NHAT_KY_CHUNG.Add(sonhatky);
                    KT_SO_NHAT_KY_CHUNG sonhatky1 = new KT_SO_NHAT_KY_CHUNG();
                    sonhatky1.SO_CHUNG_TU    = newItem.SO_CHUNG_TU;
                    sonhatky1.NGAY_CHUNG_TU  = nk.NGAY_CHUNG_TU;
                    sonhatky1.NGAY_HACH_TOAN = nk.NGAY_HACH_TOAN;
                    if (nk.MA_DOI_TUONG == null)
                    {
                        sonhatky1.DOI_TUONG = nk.NGUOI_GIAO_HANG;
                    }
                    else
                    {
                        sonhatky1.DOI_TUONG = nk.MA_DOI_TUONG;
                    }
                    sonhatky1.TRUC_THUOC          = "HOPLONG";
                    sonhatky1.DIEN_GIAI_CHUNG     = nk.DIEN_GIAI;
                    sonhatky1.DIEN_GIAI_CHI_TIET  = nk.DIEN_GIAI;
                    sonhatky1.TAI_KHOAN_HACH_TOAN = newItem.TK_CO;
                    sonhatky1.TAI_KHOAN_DOI_UNG   = newItem.TK_NO;
                    sonhatky1.PHAT_SINH_NO        = 0;
                    sonhatky1.PHAT_SINH_CO        = tongtien;
                    db.KT_SO_NHAT_KY_CHUNG.Add(sonhatky1);
                }
            }


            nk.TONG_TIEN = tongtien;
            //Cập nhật Hàng tồn kho
            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (KHO_NHAP_KHOExists(kho_NhapKho.SO_CHUNG_TU))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(Ok(nk.SO_CHUNG_TU));
        }
        public IHttpActionResult PostKNH_NTTK(ThuNganHang chi_nganhang)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            //Lưu thông tin nhập kho
            NH_NTTK nhnttk = new NH_NTTK();

            nhnttk.NGAY_CHUNG_TU       = GeneralFunction.ConvertToTime(chi_nganhang.NGAY_CHUNG_TU);
            nhnttk.NGAY_HACH_TOAN      = GeneralFunction.ConvertToTime(chi_nganhang.NGAY_HACH_TOAN);
            nhnttk.SO_CHUNG_TU         = AutoMA_DU_KIEN();
            nhnttk.MA_DOI_TUONG        = chi_nganhang.MA_DOI_TUONG;
            nhnttk.NOP_VAO_TAI_KHOAN   = chi_nganhang.NOP_VAO_TAI_KHOAN;
            nhnttk.LY_DO_THU           = chi_nganhang.LY_DO_THU;
            nhnttk.DIEN_GIAI_LY_DO_THU = chi_nganhang.DIEN_GIAI_LY_DO_THU;
            nhnttk.NHAN_VIEN_THU       = chi_nganhang.NHAN_VIEN_THU;
            nhnttk.NGUOI_LAP_BIEU      = chi_nganhang.NGUOI_LAP_BIEU;
            nhnttk.TRUC_THUOC          = "HOPLONG";
            db.NH_NTTK.Add(nhnttk);

            //Lưu thông tin tham chiếu
            if (chi_nganhang.ThamChieu.Count > 0)
            {
                foreach (ThamChieu item in chi_nganhang.ThamChieu)
                {
                    XL_THAM_CHIEU_CHUNG_TU newItem = new XL_THAM_CHIEU_CHUNG_TU();
                    newItem.SO_CHUNG_TU_GOC        = nhnttk.SO_CHUNG_TU;
                    newItem.SO_CHUNG_TU_THAM_CHIEU = item.SO_CHUNG_TU;
                    db.XL_THAM_CHIEU_CHUNG_TU.Add(newItem);
                }
            }
            //Lưu chi tiết
            decimal tongtien = 0;

            //TONKHO_HOPLONG HHTon = new TONKHO_HOPLONG();
            //HH_NHOM_VTHH NhomHang = new HH_NHOM_VTHH();
            if (chi_nganhang.ChiTietPTNH != null && chi_nganhang.ChiTietPTNH.Count > 0)
            {
                foreach (ChiTietPhieuThuNH item in chi_nganhang.ChiTietPTNH)
                {
                    NH_CT_NTTK newItem = new NH_CT_NTTK();
                    newItem.SO_CHUNG_TU  = nhnttk.SO_CHUNG_TU;
                    newItem.DIEN_GIAI    = item.DIEN_GIAI;
                    newItem.LOAI_TIEN    = item.LOAI_TIEN;
                    newItem.TK_CO        = item.TK_CO;
                    newItem.TK_NO        = item.TK_NO;
                    newItem.SO_TIEN      = Convert.ToDecimal(item.SO_TIEN);
                    newItem.TY_GIA       = Convert.ToInt32(item.TY_GIA);
                    newItem.QUY_DOI      = newItem.SO_TIEN * newItem.TY_GIA;
                    tongtien            += newItem.QUY_DOI;
                    newItem.MA_DOI_TUONG = nhnttk.MA_DOI_TUONG;
                    newItem.DON_VI       = item.DON_VI;
                    db.NH_CT_NTTK.Add(newItem);
                }
            }
            //Lưu nhật ký chung

            if (chi_nganhang.ChiTietPTNH != null && chi_nganhang.ChiTietPTNH.Count > 0)
            {
                foreach (ChiTietPhieuThuNH item in chi_nganhang.ChiTietPTNH)
                {
                    KT_SO_NHAT_KY_CHUNG newitem = new KT_SO_NHAT_KY_CHUNG();
                    newitem.SO_CHUNG_TU         = nhnttk.SO_CHUNG_TU;
                    newitem.NGAY_CHUNG_TU       = nhnttk.NGAY_CHUNG_TU;
                    newitem.NGAY_HACH_TOAN      = nhnttk.NGAY_HACH_TOAN;
                    newitem.DOI_TUONG           = nhnttk.MA_DOI_TUONG;
                    newitem.TRUC_THUOC          = "HOPLONG";
                    newitem.DIEN_GIAI_CHUNG     = nhnttk.DIEN_GIAI_LY_DO_THU;
                    newitem.DIEN_GIAI_CHI_TIET  = item.DIEN_GIAI;
                    newitem.TAI_KHOAN_HACH_TOAN = item.TK_NO;
                    newitem.TAI_KHOAN_DOI_UNG   = item.TK_CO;
                    newitem.PHAT_SINH_NO        = tongtien;
                    newitem.PHAT_SINH_CO        = 0;
                    db.KT_SO_NHAT_KY_CHUNG.Add(newitem);
                    KT_SO_NHAT_KY_CHUNG newitem1 = new KT_SO_NHAT_KY_CHUNG();
                    newitem1.SO_CHUNG_TU         = nhnttk.SO_CHUNG_TU;
                    newitem1.NGAY_CHUNG_TU       = nhnttk.NGAY_CHUNG_TU;
                    newitem1.NGAY_HACH_TOAN      = nhnttk.NGAY_HACH_TOAN;
                    newitem1.DOI_TUONG           = nhnttk.MA_DOI_TUONG;
                    newitem1.TRUC_THUOC          = "HOPLONG";
                    newitem1.DIEN_GIAI_CHUNG     = nhnttk.DIEN_GIAI_LY_DO_THU;
                    newitem1.DIEN_GIAI_CHI_TIET  = item.DIEN_GIAI;
                    newitem1.TAI_KHOAN_HACH_TOAN = item.TK_CO;
                    newitem1.TAI_KHOAN_DOI_UNG   = item.TK_NO;
                    newitem1.PHAT_SINH_NO        = 0;
                    newitem1.PHAT_SINH_CO        = tongtien;
                    db.KT_SO_NHAT_KY_CHUNG.Add(newitem1);
                    db.SaveChanges();
                }
            }


            nhnttk.TONG_TIEN = tongtien;



            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (NH_NTTKExists(chi_nganhang.SO_CHUNG_TU))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }


            return(Ok(nhnttk.SO_CHUNG_TU));
        }