public async Task <ActionResult> UpdateSupportMaterial(SupportMaterial supportMaterial) { try { await Task.Run(() => { Context.Update(supportMaterial); }); await Context.SaveChangesAsync(); return(new OkResult()); } catch (Exception e) { return(new BadRequestResult()); } }
public async Task <ActionResult> InsertSupportMaterial(SupportMaterial supportMaterial) { try { await Context.AddAsync(supportMaterial); await Context.SaveChangesAsync(); return(new OkResult()); } catch (Exception _) { return(new BadRequestResult()); } }
private List <SupportMaterial> ReaderToList(SQLiteDataReader sqliteDataReader) { List <SupportMaterial> supportMaterials = new List <SupportMaterial>(); while (sqliteDataReader.Read()) { SupportMaterial supportMaterial = new SupportMaterial(); supportMaterial.id = dataReader["SUPPORT_MAT_ID"].ToString(); supportMaterial.name = dataReader["SUPPORT_MAT_NAME"].ToString(); supportMaterials.Add(supportMaterial); } return(supportMaterials); }
public async Task <bool> AddMaterial() { var path = @"/home/zututukulipa/Desktop/barcode.txt"; var file = File.Open(path, FileMode.Open); var data = new byte[file.Length]; file.Read(data, 0, (int)file.Length); file.Close(); SupportMaterial sm = new SupportMaterial { BinaryData = data, MaterialName = "TEST FILE", MaterialCreated = DateTime.Now, SubjectId = 59, PageCount = 1 }; return(await _service.AddMaterial(sm)); }
public async Task <Result <bool> > Handle(Contract request, CancellationToken cancellationToken) { if (request.UserRole == "Secretary") { return(Result.Fail <bool>("Acesso Negado")); } var mId = ObjectId.Parse(request.ModuleId); var module = await(await _db .Database .GetCollection <Module>("Modules") .FindAsync(x => x.Id == mId, cancellationToken: cancellationToken)) .FirstOrDefaultAsync(cancellationToken: cancellationToken); if (module == null) { return(Result.Fail <bool>("Módulo não Encontrado")); } if (request.UserRole == "Student") { var userId = ObjectId.Parse(request.UserId); if (!Module.IsInstructor(module, userId).Data) { return(Result.Fail <bool>("Acesso Negado")); } } if (request.DeleteNonExistent) { var existingIds = from o in request.SupportMaterials where !string.IsNullOrEmpty(o.Id) select ObjectId.Parse(o.Id); // deixando apenas os subjects que vieram na coleção var include = from c in module.SupportMaterials where existingIds.Contains(c.Id) select c; module.SupportMaterials = include.ToList(); } //Criando os assuntos foreach (var requestObj in request.SupportMaterials) { SupportMaterial newObject = null; if (string.IsNullOrEmpty(requestObj.Id)) { var result = SupportMaterial.Create( requestObj.Title, requestObj.Description, requestObj.DownloadLink, (SupportMaterialTypeEnum)requestObj.Type ); if (result.IsFailure) { return(Result.Fail <bool>(result.Error)); } newObject = result.Data; newObject.UpdatedAt = DateTimeOffset.UtcNow; module.SupportMaterials.Add(newObject); } else { newObject = module.SupportMaterials.FirstOrDefault(x => x.Id == ObjectId.Parse(requestObj.Id)); if (newObject == null) { return(Result.Fail <bool>($"Material de suporte não encontrado ({requestObj.Id} - {requestObj.Title})")); } newObject.Title = requestObj.Title; newObject.Description = requestObj.Description; newObject.DownloadLink = requestObj.DownloadLink; } } await _db.ModuleCollection.ReplaceOneAsync(t => t.Id == module.Id, module, cancellationToken : cancellationToken ); return(Result.Ok(true)); }
public async Task <Result> Handle(Contract request, CancellationToken cancellationToken) { if (request.UserRole == "Secretary") { return(Result.Fail("Acesso Negado")); } var userId = ObjectId.Parse(request.UserId); var modId = ObjectId.Parse(request.ModuleId); var module = await _db.ModuleDraftCollection.AsQueryable() .Where(x => ( x.DeletedAt == null || x.DeletedAt == DateTimeOffset.MinValue ) && !x.DraftPublished && ( x.Id == modId || x.ModuleId == modId ) ) .FirstOrDefaultAsync(cancellationToken: cancellationToken); if (module == null) { var originalModule = await GetModule(request.ModuleId); if (originalModule == null) { return(Result.Fail("Módulo não existe")); } module = await CreateModuleDraft( request, originalModule, cancellationToken ); } var oldValues = JsonConvert.SerializeObject(new List <ModuleDraft> { module }); if (request.DeleteNonExistent) { var existingIds = from o in request.SupportMaterials where !string.IsNullOrEmpty(o.Id) select ObjectId.Parse(o.Id); var include = from c in module.SupportMaterials where existingIds.Contains(c.Id) select c; module.SupportMaterials = include.ToList(); } foreach (var requestObj in request.SupportMaterials) { SupportMaterial newObject = null; if (string.IsNullOrEmpty(requestObj.Id)) { var result = Create( requestObj.Title, requestObj.Description, requestObj.DownloadLink, (SupportMaterialTypeEnum)requestObj.Type ); if (result.IsFailure) { return(Result.Fail(result.Error)); } newObject = result.Data; newObject.UpdatedAt = DateTimeOffset.UtcNow; module.SupportMaterials.Add(newObject); } else { newObject = module.SupportMaterials.FirstOrDefault(x => x.Id == ObjectId.Parse(requestObj.Id)); if (newObject == null) { return(Result.Fail($"Material de suporte não encontrado")); } newObject.Title = requestObj.Title; newObject.Description = requestObj.Description; newObject.DownloadLink = requestObj.DownloadLink; } } await _db.ModuleDraftCollection.ReplaceOneAsync(t => t.Id == module.Id, module, cancellationToken : cancellationToken ); var newDraftList = new List <ModuleDraft> { module }; var changeLog = AuditLog.Create(userId, module.Id, module.GetType().ToString(), JsonConvert.SerializeObject(newDraftList), EntityAction.Update, oldValues); await _db.AuditLogCollection.InsertOneAsync(changeLog); return(Result.Ok()); }
public async Task <bool> AddMaterial(SupportMaterial material) { var responseMessage = await _http.PostAsJsonAsync("api/supportMaterial/add", material); return(responseMessage.IsSuccessStatusCode); }