public Task AddSuperSubmitterAsync(string microsoftAccount, string firstName, string lastName) { using (var db = new WebGalleryDbContext()) { var submitter = (from s in db.Submitters where s.MicrosoftAccount.Equals(microsoftAccount, StringComparison.OrdinalIgnoreCase) select s).FirstOrDefault(); // If the super submitter to be added hasn't had a submittership yet, add a new one first in the Submitters table. if (submitter == null) { submitter = new Submitter { MicrosoftAccount = microsoftAccount, PersonalID = string.Empty, PersonalIDType = 1, IsSuperSubmitter = true }; db.Submitters.Add(submitter); db.SaveChanges(); // save to database for new submitter id. } else { submitter.IsSuperSubmitter = true; } // For a new super submitter who has no record in table SubmitterContactDetails, // make a new one with the parameters firstName and lastName. // If the super submitter already has contact details in the table SubmittersContactDetails, we do nothing here. var contactDetail = (from c in db.SubmittersContactDetails where c.SubmitterID == submitter.SubmitterID select c).FirstOrDefault(); if (contactDetail == null) { contactDetail = new SubmittersContactDetail { SubmitterID = submitter.SubmitterID, FirstName = firstName, LastName = lastName }; db.SubmittersContactDetails.Add(contactDetail); } db.SaveChanges(); return(Task.FromResult(0)); } }
public Task CreateAsync(Submitter invitee, Submission submission, UnconfirmedSubmissionOwner invitation) { using (var db = new WebGalleryDbContext()) { // remove invitation db.UnconfirmedSubmissionOwners.RemoveRange(from u in db.UnconfirmedSubmissionOwners where u.RequestID == invitation.RequestID select u); // if the invitee has no ownership for this app, add one var alreadyHasOwnership = db.SubmissionOwners.Any(o => o.SubmissionID == submission.SubmissionID && o.SubmitterID == invitee.SubmitterID); if (!alreadyHasOwnership) { db.SubmissionOwners.Add(new SubmissionOwner { SubmissionID = submission.SubmissionID, SubmitterID = invitee.SubmitterID }); } db.SaveChanges(); return(Task.FromResult(0)); } }
public Task RemoveInvitationAsync(Guid invitationGuid) { using (var db = new WebGalleryDbContext()) { db.UnconfirmedSubmissionOwners.RemoveRange(from u in db.UnconfirmedSubmissionOwners where u.RequestID == invitationGuid select u); db.SaveChanges(); return(Task.FromResult(0)); } }
public Task RemoveAsync(int submitterId, int submissionId) { using (var db = new WebGalleryDbContext()) { db.SubmissionOwners.RemoveRange(from o in db.SubmissionOwners where o.SubmissionID == submissionId && o.SubmitterID == submitterId select o); db.SaveChanges(); return(Task.FromResult(0)); } }
public Task <Submitter> SaveContactDetailAsync(string email, SubmittersContactDetail contactDetail) { using (var db = new WebGalleryDbContext()) { var submitter = (from s in db.Submitters where s.MicrosoftAccount.Equals(email, StringComparison.OrdinalIgnoreCase) select s).FirstOrDefault(); if (submitter == null) { submitter = new Submitter { MicrosoftAccount = email, PersonalID = string.Empty, PersonalIDType = 1, IsSuperSubmitter = null }; db.Submitters.Add(submitter); db.SaveChanges(); // save to database for new submitter id. } var contactDetailInDb = (from c in db.SubmittersContactDetails where c.SubmitterID == submitter.SubmitterID select c).FirstOrDefault(); if (contactDetailInDb == null) { contactDetail.SubmitterID = submitter.SubmitterID; db.SubmittersContactDetails.Add(contactDetail); } else { SyncContactDetailProperties(contactDetailInDb, contactDetail); } db.SaveChanges(); return(Task.FromResult(submitter)); } }
private static void UpdateFileSizeForPackage(string packageUrl, int fileSize, int submissionId) { using (var db = new WebGalleryDbContext()) { var packages = (from p in db.Packages where p.SubmissionID == submissionId select p).ToList(); foreach (var p in packages.Where(p => p.PackageURL == packageUrl)) { p.FileSize = fileSize; } db.SaveChanges(); } }
public Task RemoveSuperSubmitterAsync(int submitterId) { using (var db = new WebGalleryDbContext()) { var submitter = (from s in db.Submitters where s.SubmitterID == submitterId select s).FirstOrDefault(); if (submitter != null) { submitter.IsSuperSubmitter = false; db.SaveChanges(); } return(Task.FromResult(0)); } }
public Task UpdateMsaAsync(int submitterId, string microsoftAccount) { using (var db = new WebGalleryDbContext()) { var submitter = (from s in db.Submitters where s.SubmitterID == submitterId select s).FirstOrDefault(); if (submitter != null) { submitter.MicrosoftAccount = microsoftAccount; } db.SaveChanges(); return(Task.FromResult(0)); } }
public Task <UnconfirmedSubmissionOwner> CreateInvitationAsync(string firstName, string lastName, Submission submission) { using (var db = new WebGalleryDbContext()) { var unconfirmedSubmissionOwner = new UnconfirmedSubmissionOwner { SubmissionID = submission.SubmissionID, RequestID = Guid.NewGuid(), RequestDate = DateTime.Now, FirstName = firstName, LastName = lastName, IsSuperSubmitterRequest = false }; db.UnconfirmedSubmissionOwners.Add(unconfirmedSubmissionOwner); db.SaveChanges(); return(Task.FromResult(unconfirmedSubmissionOwner)); } }
public Task <Issue> SaveAsync(IssueType issueType, string appId, string issueDescription, string reporterFirstName, string reporterLastName, string reporterEmail) { using (var db = new WebGalleryDbContext()) { var issue = new Issue { IssueType = (int)issueType, AppId = appId, IssueDescription = issueDescription, ReporterFirstName = reporterFirstName, ReporterLastName = reporterLastName, ReporterEmail = reporterEmail, DateReported = DateTime.Now }; db.Issues.Add(issue); db.SaveChanges(); return(Task.FromResult(issue)); } }