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); }
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); }
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); }