示例#1
0
        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);
        }
示例#2
0
        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);
        }