public virtual async Task <OperationResult> AddMaterial(int id, string name, byte[] data) { var result = new OperationResult(); var work = await this.GetOne(id); try { var material = new DiplomWorkMaterial { Name = name, Data = data, DiplomWorkId = id, MaterialTypeId = MaterialType.Other.Id, MaterialType = null, AuthorId = work.StudentsId.FirstOrDefault(), }; material.CreateDate = DateTime.UtcNow; _materialsRepository.Add(material); await _materialsRepository.SaveChanges(); } catch (Exception e) { result.Errors.Add(e.Message); } return(result); }
public virtual async Task <OperationResult> AddMaterial(int id, int typeId) { var result = new OperationResult(); var work = await this.GetOne(id); string name = null; byte[] data = null; try { if (typeId == MaterialType.LatexFile.Id) { data = System.IO.File.ReadAllBytes(this.templatePath + "main.tex"); name = "main.tex"; } if (typeId == MaterialType.Preambula.Id) { data = System.IO.File.ReadAllBytes(this.templatePath + "preamble.tex"); name = "preabmle.tex"; } if (data == null || name == null) { throw new System.IO.FileNotFoundException(); } var material = new DiplomWorkMaterial { Name = name, Data = data, DiplomWorkId = id, MaterialTypeId = MaterialType.LatexFile.Id, MaterialType = null, IsNotePart = true, AuthorId = work.StudentsId.FirstOrDefault(), }; material.CreateDate = DateTime.UtcNow; _materialsRepository.Add(material); await _materialsRepository.SaveChanges(); } catch (Exception e) { result.Errors.Add(e.Message); } return(result); }