Example #1
0
        /// <summary>
        ///     Creates a new Document, writes to disk, and associates to whatever type is passed in.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="id"></param>
        /// <param name="fileName"></param>
        /// <param name="docBytes"></param>
        /// <param name="uploadedBy"></param>
        /// <param name="docValidator"></param>
        /// <returns>Returns the Document record.</returns>
        protected Document CreateDocument <T>(int id, string fileName, byte[] docBytes, int uploadedBy, IValidator <Document> docValidator)
            where T : Entity, IHasDocuments <Document>
        {
            var entity = Context.Set <T>().Find(id);

            ThrowIfNull(entity);
            var document = DocHelper.GenerateDocumentRecord(fileName, uploadedBy);

            ValidateAndThrow(document, docValidator);
            Context.Documents.Add(document);
            // ReSharper disable once PossibleNullReferenceException
            entity.Documents.Add(document);
            Context.SaveChanges();
            var absolutePath = DocHelper.PrependDocsPath(document.FilePath);

            File.WriteAllBytes(absolutePath, docBytes);
            return(document);
        }
Example #2
0
 /// <summary>
 ///     Updates a Setting.
 /// </summary>
 /// <param name="setting"></param>
 public void UpdateSetting(Setting setting)
 {
     Context.Settings.Attach(setting);
     Context.Entry(setting).Property(s => s.Value).IsModified = true;
     Context.SaveChanges();
 }