예제 #1
0
        public void TestMethod3()
        {
            RefDAL refDAL = new RefDAL();
            var    id     = Guid.Parse("F98FA4A8-09E6-D403-1FF6-021EC8F4E5AF");

            Assert.IsTrue(refDAL.DeleteRef(id));
        }
예제 #2
0
        public void TestMethod4()
        {
            RefDAL      refDAL = new RefDAL();
            List <Guid> id     = new List <Guid>();

            id.Add(Guid.Parse("97AECCCF-38E7-A8E6-4A5B-0137B4EB46D1"));
            id.Add(Guid.Parse("666C3824-0105-9E5B-B86B-0226A45DB0D2"));
            Assert.IsTrue(refDAL.DeleteRefs(id));
        }
예제 #3
0
        public void TestMethod1()
        {
            RefDAL refDAL = new RefDAL();
            Ref    r      = new Ref();
            var    res    = new RefDetail();

            r.RefDetails = new List <RefDetail>();



            // Thêm bẳng Ref
            r.RefNo = "NK0000100";  //thêm mã hóa đơn
            string iDate = "2005-05-05";

            r.RefDate     = DateTime.Parse(iDate);                              //ngày hóa đơn
            r.JournalMemo = "Thái đẹp trai vl";                                 //mô tả hóa đơn
            r.VendorID    = Guid.Parse("E1D3EC06-B0B7-8A3A-2395-02BEE389761E"); // khởi tạo nhà cung cấp
            r.EmployeeID  = Guid.Parse("19D865A4-1CCD-0F2D-A757-0518E0B5E4A6"); //thêm mới nhân viên



            //Thêm bảng RefDetails
            res.InventoryItemID = Guid.Parse("1FC2F63C-08B1-7630-3858-00A0E7C57734"); // thêm mới danh sách sản phẩm
            res.Quantity        = 2;
            res.Amount          = 200;
            res.DiscountRate    = 3;
            res.DiscountAmount  = 4;
            res.VATRate         = 5;
            res.VATAmount       = 6;
            res.StockID         = Guid.Parse("3d277d90-eb0a-540e-34a5-48af2457c1e8");
            r.RefDetails.Add(res);

            res.InventoryItemID = Guid.Parse("8BD2AD59-23DA-79E8-BB5F-03FCEF7A0D8E"); // thêm mới danh sách sản phẩm
            res.Quantity        = 2;
            res.Amount          = 200;
            res.DiscountRate    = 3;
            res.DiscountAmount  = 4;
            res.VATRate         = 5;
            res.StockID         = Guid.Parse("3d277d90-eb0a-540e-34a5-48af2457c1e8");
            res.VATAmount       = 6;
            r.RefDetails.Add(res);



            Assert.IsTrue(refDAL.CreateInvoice(r));
        }
예제 #4
0
        /// <summary>
        /// Kiểm tra refdetail rơi vào trường hợp nào r tiến hành thêm/sửa/xóa
        /// </summary>
        /// <param name="r"></param>
        /// <returns></returns>
        public bool CheckRefDetail(Ref r)
        {
            bool        result     = true;
            List <Guid> listDelete = new List <Guid>();

            RefDAL refDAL = new RefDAL();

            try
            {
                // nếu không có refdetail nào đc gửi lên => user xóa hết refdetail, ta thực hiện hàm xóa hết refdetails by refID
                if (r.RefDetails.Count <= 0)
                {
                    DeleteAllRefDetail(r.RefID);
                    refDAL.UpdateRefTotalAmount(r.RefID, 0);
                }
                else
                {
                    var list  = GetRefDetailByIDRef(r.RefID);  //Lấy ra những refdetail by refID trong DB
                    var count = list.Count;

                    if (count > 0)
                    {
                        foreach (var refID_DB in list.ToList())           // list refdetailID DB
                        {                                                 //A D Z B
                            foreach (var ref_CL in r.RefDetails.ToList()) // list refdetailID CL
                            {
                                //A B
                                //Nếu có refdetail vẫn tồn tại, check xem có thay đổi gì không.
                                if (refID_DB == ref_CL.RefDetailID)
                                {
                                    UpdateRefDetail(ref_CL.RefDetailID, ref_CL.InventoryItemID, ref_CL.Quantity, ref_CL.Amount, ref_CL.DiscountRate, ref_CL.DiscountAmount, ref_CL.VATRate, ref_CL.VATAmount, ref_CL.StockID);
                                    var payamount = ReaderPayAmountRefDetail(r.RefID);
                                    refDAL.UpdateRefTotalAmount(r.RefID, payamount);


                                    int indexCL = r.RefDetails.IndexOf(ref_CL);
                                    r.RefDetails.RemoveAt(indexCL);
                                    int indexDB = list.IndexOf(refID_DB);
                                    list.RemoveAt(indexDB);
                                    break;
                                }
                            }
                        }
                        //Nếu list trong DB còn, ta xóa những refdetai k trùng trong DB
                        if (count > 0)
                        {
                            foreach (var item in list)
                            {
                                DeleteRefDetail(item);
                            }
                        }
                        //Nếu list trong CL còn, ta thực hiện thêm những refdetail người dùng mới thêm vào
                        if (r.RefDetails.Count > 0)
                        {
                            foreach (var CL in r.RefDetails.ToList())
                            {
                                InsertRefDetail(r.RefID, CL.InventoryItemID, CL.Quantity, CL.Amount, CL.DiscountRate, CL.DiscountAmount, CL.VATRate, CL.VATAmount, CL.StockID);
                                var payamount = ReaderPayAmountRefDetail(r.RefID);
                                refDAL.UpdateRefTotalAmount(r.RefID, payamount);
                            }
                        }
                    }
                    else
                    {
                        foreach (var CL in r.RefDetails)
                        {
                            InsertRefDetail(r.RefID, CL.InventoryItemID, CL.Quantity, CL.Amount, CL.DiscountRate, CL.DiscountAmount, CL.VATRate, CL.VATAmount, CL.StockID);
                            var payamount = ReaderPayAmountRefDetail(r.RefID);
                            refDAL.UpdateRefTotalAmount(r.RefID, payamount);
                        }
                    }
                    result = true;
                }
            }
            catch (Exception)
            {
                result = false;
                throw;
            }
            return(result);
        }
예제 #5
0
        /// <summary>
        /// Kiểm tra trung RefNo trong DB
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public bool CheckRefNo(string id)
        {
            RefDAL refDAL = new RefDAL();

            return(refDAL.CheckRefNo(id));
        }
예제 #6
0
        /// <summary>
        /// Lấy ra Ref by Date
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public IEnumerable <Ref> GetRefByDate(DateTime[] id)
        {
            RefDAL refDAL = new RefDAL();

            return(refDAL.GetEntities(id));
        }
예제 #7
0
        /// <summary>
        /// Lấy ra Ref by id
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public Ref GetRefByID(object[] id)
        {
            RefDAL refDAL = new RefDAL();

            return(refDAL.GetEntity("[dbo].[Proc_GetRefByIDDiaLogShow]", id));
        }
예제 #8
0
        /// <summary>
        /// Update Bảng Ref
        /// </summary>
        /// <param name="JournalMemo"></param>
        /// <param name="EmployeeID"></param>
        /// <param name="ContactName"></param>
        /// <param name="RefNo"></param>
        /// <returns></returns>
        public bool UpdateRef(string JournalMemo, Guid EmployeeID, string ContactName, string RefNo)
        {
            RefDAL refDAL = new RefDAL();

            return(refDAL.Update_Ref(JournalMemo, EmployeeID, ContactName, RefNo));
        }
예제 #9
0
        /// <summary>
        /// Tạo mới Phiếu
        /// </summary>
        /// <param name="invoice"></param>
        /// <returns></returns>

        public bool CreateInvoice(Ref invoice)
        {
            RefDAL refDAL = new RefDAL();

            return(refDAL.CreateInvoice(invoice));
        }
예제 #10
0
        /// <summary>
        /// Lấy dữ liệu của bảng Ref tầng BL
        /// </summary>
        /// <param name="a"></param>
        /// <returns></returns>
        ///
        //public IEnumerable<Ref> GetDataRef()
        //{
        //    BaseBL<Ref> baseBL = new BaseBL<Ref>();
        //    return baseBL.GetData("[dbo].[Proc_GetRefsFull]");
        //}

        public IEnumerable <Ref> GetDataRef()
        {
            RefDAL refDAL = new RefDAL();

            return(refDAL.Get());
        }
예제 #11
0
        /// <summary>
        /// Xóa nhiều ref
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public bool DeleteEntitys(List <Guid> id)
        {
            RefDAL refDAL = new RefDAL();

            return(refDAL.DeleteRefs(id));
        }
예제 #12
0
        /// <summary>
        /// Xóa Ref theo  RefID
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public bool DeleteEntity(Guid id)
        {
            RefDAL refDAL = new RefDAL();

            return(refDAL.DeleteRef(id));
        }
예제 #13
0
        public void TestMethod2()
        {
            RefDAL refDAL = new RefDAL();

            Assert.IsTrue(refDAL.CheckRefNo("NK0000200"));
        }