public async Task <bool> Delete(DeleteServiceModel model) { // TODO: Check role of the User before do anything; var fileList = new List <string>(); foreach (var id in model.Ids) { var fileEntity = await _context.Set <FileEntity>().FindAsync(id); fileList.Add(fileEntity.Src); _context.Remove(fileEntity); } var result = await _context.SaveChangesAsync(); var uploadDirectory = WebRootDirectoryInfo.ToString(); foreach (var fileSrc in fileList) { var fileSavePath = Path.Combine(uploadDirectory, fileSrc); if (File.Exists(fileSavePath)) { File.Delete(fileSavePath); } } return(result > 0); }
public async Task <BaseJsonResult> Delete([FromBody] EntityDeleteViewModel viewModel) { var serviceModel = new DeleteServiceModel { Ids = viewModel.Ids, DeleteBy = CurrentUser }; var result = await _projectService.DeleteProjectAsync(serviceModel); return(new BaseJsonResult(Base.Properties.Resources.POST_SUCCEEDED, result)); }
public async Task <bool> DeleteBlogAsync(DeleteServiceModel serviceModel) { foreach (var id in serviceModel.Ids) { var oldBlog = await _context.BlogEntity.FindAsync(id); var blogEntry = _context.Entry(oldBlog); blogEntry.State = EntityState.Deleted; } var updateResultCount = await _context.SaveChangesAsync(); return(updateResultCount > 0); }
public async Task <bool> DeleteProjectAsync(DeleteServiceModel serviceModel) { foreach (var id in serviceModel.Ids) { var oldEntity = await GetProjects().FirstAsync(o => o.Id == id); var entry = _context.Entry(oldEntity); entry.State = EntityState.Deleted; foreach (var roomType in oldEntity.ProjectBlocks) { var roomTypeEntry = _context.Entry(roomType); roomTypeEntry.State = EntityState.Deleted; foreach (var roomLayout in roomTypeEntry.Entity.Children) { var roomLayoutEntry = _context.Entry(roomLayout); roomLayoutEntry.State = EntityState.Deleted; foreach (var perpective in roomLayoutEntry.Entity.Children) { var perpectiveEntry = _context.Entry(perpective); perpectiveEntry.State = EntityState.Deleted; foreach (var perpectiveDetail in perpectiveEntry.Entity.ProjectBlockDetails) { var perpectiveDetailEntry = _context.Entry(perpectiveDetail); perpectiveDetailEntry.State = EntityState.Deleted; } } foreach (var roomLayoutDetail in roomLayoutEntry.Entity.ProjectBlockDetails) { var roomLayoutDetailEntry = _context.Entry(roomLayoutDetail); roomLayoutDetailEntry.State = EntityState.Deleted; } } foreach (var projectBlockDetail in roomTypeEntry.Entity.ProjectBlockDetails) { var projectBlockDetailEntry = _context.Entry(projectBlockDetail); projectBlockDetailEntry.State = EntityState.Deleted; } } } var updateResultCount = await _context.SaveChangesAsync(); return(updateResultCount > 0); }
public async Task <bool> DeleteProductAsync(DeleteServiceModel serviceModel) { foreach (var id in serviceModel.Ids) { var oldpackage = await _context.Package.FindAsync(id); var productEntry = _context.Entry(oldpackage); productEntry.State = EntityState.Deleted; if (oldpackage.ProjectBlockId != null) { var block = _context.Set <ProjectBlock>().Find(oldpackage.ProjectBlockId); var blockEntry = _context.Entry(block); blockEntry.Property(o => o.PackageId).CurrentValue = null; } } var updateResultCount = await _context.SaveChangesAsync(); return(updateResultCount > 0); }
public async Task <BaseJsonResult> Delete(long id) { var serviceModel = new DeleteServiceModel() { Ids = new[] { id }, DeleteBy = CurrentUser }; var result = await _fileService.Delete(serviceModel); if (result) { _logger.LogInformation($"A file was deleted."); } else { new BaseJsonResult(Omi.Base.Properties.Resources.POST_MODEL_ERRORS); } return(new BaseJsonResult(Omi.Base.Properties.Resources.POST_SUCCEEDED, true)); }
public async Task <IActionResult> Delete(DeleteServiceModel serviceModel) { await this.servicesService.DeleteAsync(serviceModel.Id); return(this.RedirectToAction("Index")); }