Example #1
0
        public int InsertChiTietChungTu(ChungTuChiTietBaseInfo chiTietChungTu)
        {
            ExecuteCommand(Declare.StoreProcedureNamespace.spDoiLinhKienLoi_InsertChiTietChungTu,
                           chiTietChungTu.IdChungTu, chiTietChungTu.IdSanPham, chiTietChungTu.SoLuong);

            return(Convert.ToInt32(Parameters["p_IdChiTiet"].Value.ToString()));
        }
        private void InsertChiTietChungTu(TK info)
        {
            ChungTuChiTietBaseInfo chungTuChiTietInfo = ToBaseInfo(info);

            //if (chungTuChiTietInfo.IdChungTu == 0)
            chungTuChiTietInfo.IdChungTu        = ChungTuInfo.IdChungTu;
            chungTuChiTietInfo.IdChungTuChiTiet = BusinessKeToanKhoProvider.InsertChiTietChungTu(info);
        }
Example #3
0
 public void UpdateChiTietChungTu(ChungTuChiTietBaseInfo chiTietChungTu)
 {
     ExecuteCommand(Declare.StoreProcedureNamespace.spDoiLinhKienLoi_UpdateChiTietChungTu,
                    chiTietChungTu.IdChungTuChiTiet, chiTietChungTu.IdSanPham, chiTietChungTu.SoLuong);
 }
Example #4
0
 public void DeleteChiTietChungTu(ChungTuChiTietBaseInfo chiTietChungTu)
 {
     ExecuteCommand(Declare.StoreProcedureNamespace.spDoiLinhKienLoi_DeleteChiTietChungTu,
                    chiTietChungTu.IdChungTuChiTiet);
 }
        protected void SaveChiTietChungTu(List <TK> listOrigin, List <TK> listNew)
        {
            ChungTuChiTietBaseInfo chungTuChiTietInfo = null;

            try
            {
                foreach (TK originInfo in listOrigin)
                {
                    chungTuChiTietInfo = ToBaseInfo(originInfo);
                    if (!listNew.Exists(delegate(TK match)
                    {
                        return(ToBaseInfo(match).IdChungTuChiTiet == chungTuChiTietInfo.IdChungTuChiTiet);
                    }))
                    {
                        if (TinhLaiChiTietChungTu())
                        {
                            if (IsKeToan)
                            {
                                DeleteChiTietChungTu(originInfo);
                            }
                            //if (TrangThaiOrigin != CancelState)
                            TinhTonKho(ChungTuInfo.IdKho, chungTuChiTietInfo.IdSanPham, -chungTuChiTietInfo.SoLuong, chungTuChiTietInfo.SoLuong);
                        }
                    }
                }

                foreach (TK newInfo in listNew)
                {
                    chungTuChiTietInfo = ToBaseInfo(newInfo);

                    if (chungTuChiTietInfo == null)
                    {
                        throw new Exception("Không đúng kiểu " + typeof(ChungTuChiTietBaseInfo));
                    }

                    TK originInfo = listOrigin.Find(
                        delegate(TK match)
                    {
                        return(ToBaseInfo(match).IdChungTuChiTiet == chungTuChiTietInfo.IdChungTuChiTiet);
                    });

                    if (originInfo != null)
                    {
                        if (IsKeToan && !chungTuChiTietInfo.IsOrigin)
                        {
                            UpdateChiTietChungTu(newInfo);
                        }
                        //TinhTonKho(ChungTuInfo.IdKho, chungTuChiTietInfo.IdSanPham,
                        //           TrangThaiOrigin != CancelState
                        //               ? chungTuChiTietInfo.SoLuong - ToBaseInfo(originInfo).SoLuong
                        //               : chungTuChiTietInfo.SoLuong,
                        //           chungTuChiTietInfo.SoLuong);
                        TinhTonKho(ChungTuInfo.IdKho, chungTuChiTietInfo.IdSanPham,
                                   chungTuChiTietInfo.SoLuong - ToBaseInfo(originInfo).SoLuong,
                                   chungTuChiTietInfo.SoLuong);
                    }
                    else
                    {
                        TinhTonKho(ChungTuInfo.IdKho, chungTuChiTietInfo.IdSanPham, chungTuChiTietInfo.SoLuong, chungTuChiTietInfo.SoLuong);

                        if (IsKeToan)
                        {
                            InsertChiTietChungTu(newInfo);
                        }
                    }
                }
            }
            catch (TinhTonException ex)
            {
                if (chungTuChiTietInfo != null)
                {
                    throw new TinhTonException(ex.Message + "\nMã sản phẩm: " + chungTuChiTietInfo.MaSanPham +
                                               "\nTên sản phẩm: " + chungTuChiTietInfo.TenSanPham);
                }
                throw;
            }
        }
Example #6
0
        protected void SaveChiTietHangHoa(List <TL> listOrigin, List <TL> listNew)
        {
            ChungTuChiTietHangHoaBaseInfo chiTietHangHoaInfo = null;

            try
            {
                foreach (TL originInfo in listOrigin)
                {
                    chiTietHangHoaInfo = ToBaseInfo(originInfo);

                    if (chiTietHangHoaInfo == null)
                    {
                        throw new Exception("Không đúng kiểu " + typeof(ChungTuChiTietHangHoaBaseInfo));
                    }

                    if (!listNew.Exists(delegate(TL match)
                    {
                        return(ToBaseInfo(match).IdChiTietHangHoa == chiTietHangHoaInfo.IdChiTietHangHoa &&
                               ToBaseInfo(match).IdChungTuChiTiet == chiTietHangHoaInfo.IdChungTuChiTiet);
                    }))
                    {
                        DeleteChiTietHangHoa(originInfo);
                        //+ ton cu
                        //if(TrangThaiOrigin != CancelState)
                        TinhTonKho(ChungTuInfo.IdKho, chiTietHangHoaInfo.IdSanPham, -chiTietHangHoaInfo.SoLuong,
                                   chiTietHangHoaInfo.MaVach);
                    }
                }

                foreach (TL newInfo in listNew)
                {
                    chiTietHangHoaInfo = ToBaseInfo(newInfo);

                    if (chiTietHangHoaInfo == null)
                    {
                        throw new Exception("Không đúng kiểu " + typeof(ChungTuChiTietHangHoaBaseInfo));
                    }

                    if (!chiTietHangHoaInfo.IsOrigin)
                    {
                        TL originInfo =
                            listOrigin.Find(
                                delegate(TL match)
                        {
                            return(ToBaseInfo(match).IdChiTietHangHoa == chiTietHangHoaInfo.IdChiTietHangHoa &&
                                   ToBaseInfo(match).IdChungTuChiTiet == chiTietHangHoaInfo.IdChungTuChiTiet);
                        });

                        if (originInfo != null)
                        {
                            UpdateChiTietHangHoa(newInfo);
                            //+ ton cu - ton moi
                            //TinhTonKho(ChungTuInfo.IdKho, chiTietHangHoaInfo.IdSanPham,
                            //           TrangThaiOrigin != CancelState
                            //               ? chiTietHangHoaInfo.SoLuong - ToBaseInfo(originInfo).SoLuong
                            //               : chiTietHangHoaInfo.SoLuong,
                            //           chiTietHangHoaInfo.MaVach);
                            TinhTonKho(ChungTuInfo.IdKho, chiTietHangHoaInfo.IdSanPham,
                                       chiTietHangHoaInfo.SoLuong - ToBaseInfo(originInfo).SoLuong,
                                       chiTietHangHoaInfo.MaVach);
                        }
                        else
                        {
                            //if (chiTietHangHoaInfo.SoLuong > 0)
                            //{
                            //- ton moi;
                            int idChiTietHangHoa = TinhTonKho(ChungTuInfo.IdKho, chiTietHangHoaInfo.IdSanPham,
                                                              chiTietHangHoaInfo.SoLuong,
                                                              chiTietHangHoaInfo.MaVach);
                            //need to set idchitiethanghoa before insert
                            if (chiTietHangHoaInfo.IdChiTietHangHoa != idChiTietHangHoa && idChiTietHangHoa != 0)
                            {
                                chiTietHangHoaInfo.IdChiTietHangHoa = idChiTietHangHoa;
                                //if not discountable - TuanLM bo ra ngoai 20/04/2013
                                //InsertChiTietHangHoa(newInfo);
                            }
                            //if not discountable
                            InsertChiTietHangHoa(newInfo);

                            //}
                        }
                    }
                }
            }
            catch (TinhTonException ex)
            {
                if (chiTietHangHoaInfo != null)
                {
                    string message = String.Empty;

                    ChungTuChiTietBaseInfo chungTuChiTietInfo = ToBaseInfo(ListChiTietChungTu.Find(delegate(TK match)
                                                                                                   { return(ToBaseInfo(match).IdSanPham == chiTietHangHoaInfo.IdSanPham); }));

                    if (chungTuChiTietInfo != null)
                    {
                        message  = "\nMã sản phẩm: " + chungTuChiTietInfo.MaSanPham;
                        message += "\nTên sản phẩm: " + chungTuChiTietInfo.TenSanPham;
                    }

                    message += "\nIdSanPham: " + chiTietHangHoaInfo.IdSanPham;

                    throw new TinhTonException(ex.Message + message);
                }
                throw;
            }
        }