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 UpdateDocument <T>(T document) where T : Document { using (var context = new ConnectContext()) { var companyKey = FetchClaimValue(ConnectConstants.ConnectCompanyKeyClaim); var existingDocument = FindDocument <T>(context, document.RegistrationNumber, companyKey); if (existingDocument != null) { document.Id = existingDocument.Id; document.UserId = GetUserId(); context.Entry(existingDocument).CurrentValues.SetValues(document); context.SaveChanges(); var documentType = typeof(T).FullName; var serializedData = context.SerializedData.FirstOrDefault(c => c.DocumentId == document.Id && c.DocumentType == documentType); if (serializedData != null) { serializedData.Data = document.SerializedData; context.SaveChanges(); } } } }