public Guid Create(int organisationId, int centreId, int categoryId, string studentCode, string studentName, string description, string fileName, byte[] contents) { var newGuid = Guid.NewGuid(); var category = _nidanDataService.RetrieveDocumentTypes(organisationId) .FirstOrDefault(e => e.DocumentTypeId == categoryId); var centre = _nidanDataService.RetrieveCentre(organisationId, centreId, e => true); var basePath = CreateCentreBase(category.BasePath, centre.Name); var categoryFileName = string.Concat(category.Name, "_", newGuid, "_", fileName); var employeeDirectory = GetStudentDirectory(basePath, studentCode) ?? CreateStudentDirectory(basePath, studentName, studentCode); var categoryDirectory = Path.Combine(employeeDirectory, category.Name); var filePath = Path.Combine(categoryDirectory, categoryFileName); Directory.CreateDirectory(categoryDirectory); File.WriteAllBytes(filePath, contents); var document = new Entity.Document() { OrganisationId = organisationId, CentreId = centreId, DocumentTypeId = categoryId, StudentCode = studentCode, CreatedDateTime = DateTime.UtcNow.Date, Description = description, FileName = fileName, Location = filePath, StudentName = studentName, Guid = newGuid }; _nidanDataService.Create <Entity.Document>(organisationId, document); return(newGuid); }
public Question CreateQuestion(int organisationId, Question question) { return(_nidanDataService.Create <Question>(organisationId, question)); }