private void InsertOrDeleteThuTucCoQuanThucHien(ThuTucResult entity, TechOfficeEntities context) { if (entity.CoQuanThucHienIds != null && entity.CoQuanThucHienIds.Count() > 0) { //search all thutuc_coquanthuchien by thutucId var searchAll = context.ThuTuc_CoQuanThucHien.Where(x => x.ThuTucId == entity.Id); searchAll.ToList().ForEach(x => { if (!entity.CoQuanThucHienIds.Contains(x.CoQuanId)) { context.Entry(x).State = EntityState.Deleted; } }); entity.CoQuanThucHienIds.ToList().ForEach(x => { if (!searchAll.Select(y => y.CoQuanId).Contains(x))//not exists { //then insert a record var insert = context.ThuTuc_CoQuanThucHien.Create(); insert.ThuTucId = entity.Id; insert.CoQuanId = x; insert.IsDeleted = false; insert.CreateDate = entity.CreateDate; insert.CreatedBy = entity.CreatedBy; context.Entry(insert).State = EntityState.Added; } }); } }
public static ThuTuc AddToDb(this ThuTucResult entity, TechOfficeEntities context) { var thutuc = context.ThuTucs.Create(); thutuc.LoaiThuTucId = entity.LoaiThuTucId; thutuc.NgayBanHanh = entity.NgayBanHanh; thutuc.TenThuTuc = entity.TenThuTuc; thutuc.NoiDung = entity.NoiDung; thutuc.IsDeleted = false; thutuc.CreatedBy = entity.CreatedBy; thutuc.CreateDate = DateTime.Now; context.Entry(thutuc).State = EntityState.Added; foreach (var item in entity.CoQuanThucHienIds) { var thuchien = new ThuTuc_CoQuanThucHien { CoQuanId = item, ThuTucId = thutuc.Id, IsDeleted = false, CreatedBy = thutuc.CreatedBy, CreateDate = thutuc.CreateDate, }; context.Entry(thuchien).State = EntityState.Added; } return(thutuc); }
public static ThuTucInfo ToDataInfo(this ThuTucResult entity) { return(new ThuTucInfo { Id = entity.Id, MaThuTuc = entity.NoiDung, TenThuTuc = entity.TenThuTuc, NgayBanHanh = entity.NgayBanHanh }); }
public static void UpdateToDb(this ThuTuc entity, ThuTucResult data, DbContext context) { entity.LoaiThuTucId = data.LoaiThuTucId; entity.NgayBanHanh = data.NgayBanHanh; entity.TenThuTuc = data.TenThuTuc; entity.NoiDung = data.NoiDung; entity.IsDeleted = data.IsDeleted; entity.LastUpdatedBy = data.LastUpdatedBy; entity.LastUpdated = DateTime.Now; context.Entry(entity).State = EntityState.Modified; }
public async Task <SaveResult> DeleteAsync(ThuTucResult entity) { return(await ExecuteDbWithHandleAsync(_logService, async() => { using (var context = new TechOfficeEntities()) { var tt = context.ThuTucs.Single(x => x.Id == entity.Id && x.IsDeleted == false); tt.DeleteToDb(context, entity.LastUpdatedBy); return await context.SaveChangesAsync() > 0 ? SaveResult.SUCCESS : SaveResult.FAILURE; } })); }
public async Task <SaveResult> UpdateAsync(ThuTucResult entity) { return(await ExecuteDbWithHandleAsync(_logService, async() => { using (var context = new TechOfficeEntities()) { var update = context.ThuTucs.Single(x => x.Id == entity.Id && x.IsDeleted == false); update.UpdateToDb(entity, context); InsertOrDeleteThuTucCoQuanThucHien(entity, context); return await context.SaveChangesAsync() > 0 ? SaveResult.SUCCESS : SaveResult.FAILURE; } })); }
public async Task <SaveResult> AddAsync(ThuTucResult entity) { return(await ExecuteDbWithHandleAsync(_logService, async() => { using (var context = new TechOfficeEntities()) { using (var transaction = context.BeginTransaction()) { entity.AddToDb(context); var result = await context.SaveChangesAsync() > 0 ? SaveResult.SUCCESS : SaveResult.FAILURE; transaction.Commit(); return result; } } })); }
public SaveResult Add(ThuTucResult entity) { return(ExecuteDbWithHandle(_logService, () => { using (var context = new TechOfficeEntities()) { using (var transaction = context.BeginTransaction()) { var add = entity.AddToDb(context); var result = context.SaveChanges() > 0 ? SaveResult.SUCCESS : SaveResult.FAILURE; transaction.Commit(); entity.Id = add.Id; return result; } } })); }
public ActionResult Add(AddThuTucViewModel model) { var dataSave = new ThuTucResult { NoiDung = model.NoiDung, TenThuTuc = model.TenThuTuc, NgayBanHanh = model.NgayBanHanh, LoaiThuTucId = model.LinhVucThuTucId, CoQuanThucHienIds = model.CoQuanThucHienIds, CreatedBy = UserName, }; var result = ThuTucRepository.Add(dataSave); if (result == Services.SaveResult.SUCCESS && dataSave.Id > 0) { SaveFiles(dataSave.Id, model.Files); } return(RedirectToRoute(UrlLink.THUTUC_EDIT, new { tenthutuc = dataSave.TenThuTuc.RejectMarks(), id = dataSave.Id })); }
public static ThuTucInfo ToIfNotNullDataInfo(this ThuTucResult entity) { return(entity?.ToDataInfo()); }