Example #1
0
        public NvVatTuChungTu InsertPhieu(NvNhapKhacVm.Dto instance)
        {
            var item = Mapper.Map <NvNhapKhacVm.Dto, NvVatTuChungTu>(instance);

            item.Id = Guid.NewGuid().ToString();
            var    result    = AddUnit(item);
            string _unitCode = GetCurrentUnitCode();

            result.MaChungTu = BuildCode_PTNX(TypeVoucher.NKHAC.ToString(), _unitCode, true);
            item.GenerateMaChungTuPk();
            if (ValidateNgayCT(item.NgayCT.Value))
            {
                result = Insert(result);
            }
            var merchandiseCollection = UnitOfWork.Repository <MdMerchandise>().DbSet;
            var detailData            = Mapper.Map <List <NvNhapKhacVm.DtoDetail>, List <NvVatTuChungTuChiTiet> >(instance.DataDetails);
            var khoNhap = UnitOfWork.Repository <MdWareHouse>().DbSet.FirstOrDefault(x => x.MaKho == result.MaKhoNhap);

            detailData.ForEach(x => {
                var merchandise = merchandiseCollection.FirstOrDefault(u => u.MaVatTu == x.MaHang);
                x.TenHang       = merchandise != null ? merchandise.TenHang : "";
                x.Id            = Guid.NewGuid().ToString();
                x.MaChungTu     = result.MaChungTu;
                x.MaChungTuPk   = result.MaChungTuPk;
            });
            InsertGeneralLedger(instance.DataClauseDetails, result);
            UnitOfWork.Repository <NvVatTuChungTuChiTiet>().InsertRange(detailData);
            return(result);
        }
Example #2
0
        public NvVatTuChungTu UpdatePhieu(NvNhapKhacVm.Dto instance)
        {
            instance.Calc();
            var exsitItem = FindById(instance.Id);

            if (exsitItem.TrangThai == (int)ApprovalState.IsComplete)
            {
                return(null);
            }
            var masterData            = Mapper.Map <NvNhapKhacVm.Dto, NvVatTuChungTu>(instance);
            var detailData            = Mapper.Map <List <NvNhapKhacVm.DtoDetail>, List <NvVatTuChungTuChiTiet> >(instance.DataDetails);
            var merchandiseCollection = UnitOfWork.Repository <MdMerchandise>().DbSet;

            {
                var detailCollection = UnitOfWork.Repository <NvVatTuChungTuChiTiet>().DbSet.Where(x => x.MaChungTuPk == exsitItem.MaChungTuPk);
                detailCollection.ToList().ForEach(x => x.ObjectState = ObjectState.Deleted);
            }
            detailData.ForEach(x =>
            {
                var merchandise = merchandiseCollection.FirstOrDefault(u => u.MaVatTu == x.MaHang);
                x.TenHang       = merchandise != null ? merchandise.TenHang : "";
                x.Id            = Guid.NewGuid().ToString();
                x.MaChungTuPk   = exsitItem.MaChungTuPk;
                x.MaChungTu     = exsitItem.MaChungTu;
            });
            UnitOfWork.Repository <NvVatTuChungTuChiTiet>().InsertRange(detailData);
            UpdateGeneralLedger(instance.DataClauseDetails, exsitItem);
            var result = Update(masterData);

            return(result);
        }
Example #3
0
        public NvVatTuChungTu InsertPhieuXuLyAm(NvNhapKhacVm.Dto instance)
        {
            var item = AutoMapper.Mapper.Map <NvNhapKhacVm.Dto, NvVatTuChungTu>(instance);

            item.Id = Guid.NewGuid().ToString();
            var    result    = AddUnit(item);
            string _unitCode = GetCurrentUnitCode();

            result.MaChungTu = BuildCode_PTNX(TypeVoucher.NKHAC.ToString(), _unitCode, true);
            item.GenerateMaChungTuPk();
            item.LoaiPhieu      = "NKHAC";
            item.NgayDuyetPhieu = item.NgayCT;
            if (ValidateNgayCT(item.NgayCT.Value))
            {
                result = Insert(result);
            }
            var merchandiseCollection = UnitOfWork.Repository <MdMerchandise>().DbSet;
            var detailData            = AutoMapper.Mapper.Map <List <NvNhapKhacVm.DtoDetail>, List <NvVatTuChungTuChiTiet> >(instance.DataDetails);
            var khoNhap = UnitOfWork.Repository <MdWareHouse>().DbSet.FirstOrDefault(x => x.MaKho == result.MaKhoNhap);

            detailData.ForEach(x =>
            {
                var merchandise = merchandiseCollection.FirstOrDefault(u => u.MaVatTu == x.MaHang);
                x.TenHang       = merchandise != null ? merchandise.TenHang : "";
                x.Id            = Guid.NewGuid().ToString();
                x.MaChungTu     = result.MaChungTu;
                x.MaChungTuPk   = result.MaChungTuPk;
                decimal soluong = (decimal)x.SoLuong;
                x.SoLuong       = Math.Abs(soluong);
                x.SoLuongLe     = x.SoLuong;
                x.ThanhTien     = x.ThanhTien == 0 ? x.SoLuong * x.DonGia : x.ThanhTien;
                x.GiaVon        = x.DonGia;
            });
            UnitOfWork.Repository <NvVatTuChungTuChiTiet>().InsertRange(detailData);
            return(result);
        }