private void AutoUploadDocument <T>(T document) where T : Document { using (var context = new ConnectContext()) { var companyKey = FetchClaimValue(ConnectConstants.ConnectCompanyKeyClaim); var existingDocument = FindDocuments <T>(context, document.RegistrationNumber, companyKey); bool hasExisting = existingDocument.Any(); foreach (var item in existingDocument) { if (item.Equals(document)) { hasExisting = true; break; } } if (!hasExisting) { document.UserId = GetUserId(); context.Set <T>().Add(document); context.SaveChanges(); var serializedData = new SerializedData { DocumentType = typeof(T).FullName, DocumentId = document.Id, Data = document.SerializedData }; context.Set <SerializedData>().Add(serializedData); context.SaveChanges(); } } }
private void AutoUploadReport <T>(T report) where T : BaseReport { using (var context = new ConnectContext()) { var existingDocument = FindReports <T>(context, report.CentreName); bool hasExisting = existingDocument.Any(); foreach (var item in existingDocument) { if (item.Equals(report)) { hasExisting = true; break; } } if (!hasExisting) { report.Id = 0; report.User = null; report.ConnectUserId = GetUserId(); context.Set <T>().Add(report); context.SaveChanges(); } } }
public void UploadTechnician(Technician technician) { using (var context = new ConnectContext()) { var userId = GetUserId(); technician.UserId = userId; technician.Uploaded = DateTime.Now; var technicians = context.Technicians.Where(c => c.UserId == userId); var technicianId = 0; var match = technicians.FirstOrDefault(c => string.Equals(c.Name, technician.Name) && string.Equals(c.Number, technician.Number)); if (match != null) { technicianId = match.Id; } technician.Id = technicianId; if (technicianId == 0) { context.Set <Technician>().Add(technician); } else { context.Entry(match).CurrentValues.SetValues(technician); } context.SaveChanges(); } }
private void UploadDocument <T>(T document) where T : Document { using (var context = new ConnectContext()) { document.UserId = GetUserId(); context.Set <T>().Add(document); context.SaveChanges(); var serializedData = new SerializedData { DocumentType = typeof(T).FullName, DocumentId = document.Id, Data = document.SerializedData }; context.Set <SerializedData>().Add(serializedData); context.SaveChanges(); } }
private void UploadReport <T>(T report) where T : BaseReport { using (var context = new ConnectContext()) { report.Id = 0; report.User = null; report.ConnectUserId = GetUserId(); context.Set <T>().Add(report); context.SaveChanges(); } }
private static IQueryable <T> FindReports <T>(ConnectContext context, string tachoCentreName) where T : BaseReport { return(context.Set <T>() .Where(doc => doc.CentreName == tachoCentreName) .OrderByDescending(doc => doc.Created) .Join(context.UserNodes, rep => rep.ConnectUserId, user => user.ConnectUser.Id, (doc, user) => new { user.CompanyKey, Report = doc }) .Select(a => a.Report)); }
private static IQueryable <T> FindDocuments <T>(ConnectContext context, string registrationNumber, string companyKey) where T : Document { return(context.Set <T>() .Where(doc => doc.RegistrationNumber == registrationNumber) .OrderByDescending(doc => doc.Created) .Join(context.UserNodes, doc => doc.UserId, user => user.ConnectUser.Id, (doc, user) => new { user.CompanyKey, Document = doc }) .Where(b => b.CompanyKey == companyKey) .Select(a => a.Document)); }
public void UploadWorkshopSettings(WorkshopSettings workshopSettings) { using (var context = new ConnectContext()) { workshopSettings.Id = 0; workshopSettings.UserId = GetUserId(); workshopSettings.Uploaded = DateTime.Now; if (workshopSettings.Created == default(DateTime) || workshopSettings.Created == _sqlDefaultDateTime) { workshopSettings.Created = DateTime.Now; } context.Set <WorkshopSettings>().Add(workshopSettings); context.SaveChanges(); } }