public NvChuongTrinhKhuyenMai InsertPhieu(NvChuongTrinhKhuyenMaiVm.Dto instance) { var item = AutoMapper.Mapper.Map <NvChuongTrinhKhuyenMaiVm.Dto, NvChuongTrinhKhuyenMai>(instance); item.Id = Guid.NewGuid().ToString(); item.MaChuongTrinh = SaveCode(); var result = Insert(item); var detailData = Mapper.Map <List <NvChuongTrinhKhuyenMaiVm.DtoDetail>, List <NvChuongTrinhKhuyenMaiChiTiet> >(instance.DataDetails); detailData.ForEach(x => { x.Id = Guid.NewGuid().ToString(); x.MaChuongTrinh = item.MaChuongTrinh; x.IsParent = true; }); UnitOfWork.Repository <NvChuongTrinhKhuyenMaiChiTiet>().InsertRange(detailData); return(result); }
public NvChuongTrinhKhuyenMai UpdatePhieu(NvChuongTrinhKhuyenMaiVm.Dto instance) { var exsitItem = FindById(instance.Id); //if (exsitItem.TrangThai == (int)ApprovalState.IsComplete) return null; var masterData = Mapper.Map <NvChuongTrinhKhuyenMaiVm.Dto, NvChuongTrinhKhuyenMai>(instance); var detailData = Mapper.Map <List <NvChuongTrinhKhuyenMaiVm.DtoDetail>, List <NvChuongTrinhKhuyenMaiChiTiet> >(instance.DataDetails); var merchandiseCollection = UnitOfWork.Repository <MdMerchandise>().DbSet; { var detailCollection = UnitOfWork.Repository <NvChuongTrinhKhuyenMaiChiTiet>().DbSet.Where(x => x.MaChuongTrinh == exsitItem.MaChuongTrinh).ToList(); detailCollection.ForEach(x => x.ObjectState = ObjectState.Deleted); } detailData.ForEach(x => { x.MaChuongTrinh = masterData.MaChuongTrinh; x.Id = Guid.NewGuid().ToString(); }); UnitOfWork.Repository <NvChuongTrinhKhuyenMaiChiTiet>().InsertRange(detailData); var result = Update(masterData); return(result); }