public File Save(Guid scheduleItemID, File file) { oxite_File fileToSave = null; oxite_Conferences_ScheduleItemFileRelationship scheduleItemFile; if (file.ID != Guid.Empty) { fileToSave = context.oxite_Files.FirstOrDefault(f => f.FileID == file.ID); } if (fileToSave == null) { context.oxite_Files.InsertOnSubmit(fileToSave = new oxite_File { FileID = file.ID != Guid.Empty ? file.ID : Guid.NewGuid() }); scheduleItemFile = new oxite_Conferences_ScheduleItemFileRelationship() { ScheduleItemID = scheduleItemID, FileID = fileToSave.FileID }; } else { scheduleItemFile = context.oxite_Conferences_ScheduleItemFileRelationships.FirstOrDefault(pfr => pfr.FileID == fileToSave.FileID); if (scheduleItemFile != null && scheduleItemFile.ScheduleItemID != scheduleItemID) { context.oxite_Conferences_ScheduleItemFileRelationships.DeleteOnSubmit(scheduleItemFile); scheduleItemFile = new oxite_Conferences_ScheduleItemFileRelationship() { ScheduleItemID = scheduleItemID, FileID = fileToSave.FileID }; } else { scheduleItemFile = null; } } if (scheduleItemFile != null) { context.oxite_Conferences_ScheduleItemFileRelationships.InsertOnSubmit(scheduleItemFile); } fileToSave.Length = file.SizeInBytes; fileToSave.MimeType = file.MimeType; fileToSave.TypeName = file.TypeName; fileToSave.Url = file.Url.ToString(); context.SubmitChanges(); return(projectFile(fileToSave)); }
public bool Remove(Guid scheduleItemID, Guid fileID) { bool removedFile = false; oxite_File foundFile = context.oxite_Files.FirstOrDefault(f => f.FileID == fileID); if (foundFile != null) { oxite_Conferences_ScheduleItemFileRelationship foundScheduleItemFile = context.oxite_Conferences_ScheduleItemFileRelationships.FirstOrDefault(sifr => sifr.ScheduleItemID == scheduleItemID && sifr.FileID == fileID); if (foundScheduleItemFile != null) { context.oxite_Files.DeleteOnSubmit(foundFile); context.SubmitChanges(); removedFile = true; } } return(removedFile); }