public async void SyncAPiToDB() { // get db connection DbAccessor db = new DbAccessor(); var progdb = db.GetTableItems <DBAccess.Programs>(); if (progdb != null && progdb.Count == 0) { var prgApi = DummyData.getProgramList(); foreach (var pg in prgApi) { // new item so add it in :) DBAccess.Programs item = new DBAccess.Programs { ProgramId = pg.ProgramId, JSON = JsonConvert.SerializeObject(pg) // turn into a string }; db.InsertRecord <DBAccess.Programs>(item); } } // now add my programs in as well.. var myprogdb = db.GetTableItems <DBAccess.MyPrograms>(); if (myprogdb != null && myprogdb.Count == 0) { var myprogs = DummyData.getMyPrograms(); foreach (var prg in myprogs) { db.InsertRecord <DBAccess.MyPrograms>(new MyPrograms { ProgramId = prg.ProgramId, JSON = JsonConvert.SerializeObject(prg) }); } } // sync new jobs var jobsdb = db.GetTableItems <DBAccess.JobsData>(); if (jobsdb != null && jobsdb.Count == 0) { var allJobs = DummyData.GetJobList(); foreach (var jb in allJobs) { // new item so add it in :) DBAccess.JobsData item = new DBAccess.JobsData { JobPostId = jb.JobPostId, JSON = JsonConvert.SerializeObject(jb) // turn into a string }; db.InsertRecord <DBAccess.JobsData>(item); } } // sync applied jobs var jobsAppdb = db.GetTableItems <DBAccess.AppliedJobs>(); if (myprogdb != null && myprogdb.Count == 0) { var appliedJbs = DummyData.GetJobApplication(); foreach (var jb in appliedJbs) { // new item so add it in :) DBAccess.AppliedJobs item = new DBAccess.AppliedJobs { JobPostId = jb.JobPostId, ApplicationDate = jb.ApplicationDate, ApplicationStatus = jb.ApplicationStatus, NesIndividualID = jb.NesIndividualID, ApplicationID = jb.ApplicationID, CoverletterId = jb.CoverletterId }; db.InsertRecord <DBAccess.AppliedJobs>(item); } } // add notifications into db var notifyDb = db.GetTableItems <DBAccess.Notifications>(); if (notifyDb != null && notifyDb.Count == 0) { var notifyList = DummyData.GetNotificationsList(); foreach (var nt in notifyList) { // new item so add it in :) Notifications item = new Notifications { Body = nt.Body, NotificationId = nt.NotificationId, Received = nt.Received, Status = nt.Status, Title = nt.Title }; db.InsertRecord <Notifications>(item); } } // add in any events from dummy data var eventsDb = db.GetTableItems <EventDetails>(); if (eventsDb != null && eventsDb.Count == 0) { var eventList = DummyData.GetEventsList(); foreach (var itemEv in eventList) { // new item so add it in :) EventDetails item = new EventDetails { EventId = itemEv.EventId, EventEnd = itemEv.EventEnd, EventLocation = itemEv.EventLocation, EventStart = itemEv.EventStart, EventTitle = itemEv.EventTitle, Status = itemEv.Status, AdditionalInfo = itemEv.AdditionalInfo, Email = itemEv.Email, PhoneNumber = itemEv.PhoneNumber, JobPostId = itemEv.JobPostId }; db.InsertRecord <EventDetails>(item); } } try { // insert dummy compaints data var ComplaintsDb = db.GetTableItems <ComplaintRaised>(); if (ComplaintsDb != null && ComplaintsDb.Count == 0) { // fill with new data var compaintsData = DummyData.GetComplaintsList(); foreach (var itemEv in compaintsData) { db.InsertRecord <ComplaintRaised>(new ComplaintRaised { ComplaintText = itemEv.ComplaintText, ComplaintId = itemEv.ComplaintId, Subject = itemEv.Subject, Status = itemEv.Status, CreatedOn = itemEv.CreatedOn, ClosedOn = itemEv.ClosedOn }); } } }catch (Exception ex) { Debug.WriteLine("ERROR:" + ex.Message); } try { // badges demo data var BadgesDb = db.GetTableItems <Badges>(); if (BadgesDb != null && BadgesDb.Count == 0) { // fill with new data var badgesData = DummyData.GetBadgesList(); foreach (var itemEv in badgesData) { Badges itexX = itemEv; db.InsertRecord <Badges>(itexX); } } } catch (Exception ex) { Debug.WriteLine("ERROR:" + ex.Message); } }
// basic sync for db items .. NOTE uses dummy items at the moment for debugging public async void SyncAPiToDB() { // get db connection DbAccessor db = new DbAccessor(); db.CreateTable <Models.Company.MyCompany>(); // company users var usersdb = db.GetTableItems <CompanyUser>(); if (usersdb != null && usersdb.Count == 0) { var prgApi = DummyEmpData.GetCompanyUsers(); // store in db as CompanyUserDetails in json foreach (var pg in prgApi) { CompanyUser item = new CompanyUser { UserId = pg.UserId, UserRole = pg.AssignedRole, JSON = JsonConvert.SerializeObject(pg) }; db.InsertRecord <CompanyUser>(item); } } // company details var companydb = db.GetTableItems <CompanyProfile>(); if (companydb != null && companydb.Count == 0) { var comp = DummyEmpData.GetCompanyDetails(); // store in db as CompanyProfile in json CompanyProfile item = new CompanyProfile { ProfileId = comp.CompanyId, JSON = JsonConvert.SerializeObject(comp) }; db.InsertRecord <CompanyProfile>(item); } // employer posted jobs var empdb = db.GetTableItems <EmployerJobs>(); if (empdb != null && empdb.Count == 0) { var prgApi = DummyEmpData.GetEmployerPostedJobs(); // store in db as EmployerJobs in json foreach (var pg in prgApi) { var item = new EmployerJobs { JobPostId = pg.JobPostId, Status = pg.Status, JSON = JsonConvert.SerializeObject(pg) }; db.InsertRecord <EmployerJobs>(item); } } // current assigned programs for company var myProgdb = db.GetTableItems <MyPrograms>(); if (myProgdb != null && myProgdb.Count == 0) { var prgApi = DummyEmpData.GetCurrentPrograms(); // store in db as EmployerProgram in json foreach (var pg in prgApi) { var item = new MyPrograms { ProgramId = pg.ProgramId, JSON = JsonConvert.SerializeObject(pg) }; db.InsertRecord <MyPrograms>(item); } } // add all programs var allProgdb = db.GetTableItems <DBAccess.Programs>(); if (allProgdb != null && allProgdb.Count == 0) { var prgApi = DummyEmpData.GetAllPrograms(); // store in db as EmployerProgram in json foreach (var pg in prgApi) { var item = new DBAccess.Programs { ProgramId = pg.ProgramId, JSON = JsonConvert.SerializeObject(pg) }; db.InsertRecord <DBAccess.Programs>(item); } } // current assigned employer services // save as EmployerService var servdb = db.GetTableItems <MyServices>(); if (servdb != null && servdb.Count == 0) { var prgApi = DummyEmpData.GetEmployerServices(); // store in db as MyServices in json foreach (var pg in prgApi) { var item = new MyServices { ServiceId = pg.ServiceId, JSON = JsonConvert.SerializeObject(pg) }; db.InsertRecord <MyServices>(item); } } // all services var allservdb = db.GetTableItems <AllServices>(); if (allservdb != null && allservdb.Count == 0) { var prgApi = DummyEmpData.GetALLServices(); // store in db as AllServices in json foreach (var pg in prgApi) { var item = new AllServices { ServiceId = pg.ServiceId, JSON = JsonConvert.SerializeObject(pg) }; db.InsertRecord <AllServices>(item); } } // announcements var anndb = db.GetTableItems <Announcement>(); if (anndb != null && anndb.Count == 0) { var prgApi = DummyEmpData.GetAnnouncements(); foreach (var pg in prgApi) { try { db.InsertRecord <Announcement>(new Announcement { CompanyName = pg.CompanyName, Description = pg.Description, Featured = false, Image = "", Ttle = pg.Ttle, Url = pg.Url }); } catch (Exception ex) { Debug.WriteLine("ERROR:" + ex.Message); } } } // job applicants list var jobappdb = db.GetTableItems <JobApplicant>(); if (jobappdb != null && jobappdb.Count == 0) { var prgApi = DummyEmpData.GetCompanyJobApplications(); // store ApplicationProfile as json foreach (var pg in prgApi) { var item = new JobApplicant { ApplicantId = pg.ApplicationId.ToString(), JobPostId = pg.JobPostId.ToString(), JSON = JsonConvert.SerializeObject(pg) }; db.InsertRecord <JobApplicant>(item); } } // search applicants var matcheddb = db.GetTableItems <MatchedClients>(); if (matcheddb != null && matcheddb.Count == 0) { var prgApi = DummyEmpData.GetCompanyJobApplications(); // store ApplicationProfile as json foreach (var pg in prgApi) { var item = new MatchedClients { ProfileId = pg.ApplicationId.ToString(), JobPostId = pg.JobPostId.ToString(), JSON = JsonConvert.SerializeObject(pg) }; db.InsertRecord <MatchedClients>(item); } } // event data we need // add in any events from dummy data var eventsDb = db.GetTableItems <EventDetails>(); if (eventsDb != null && eventsDb.Count == 0) { var eventList = DummyEmpData.GetEventsList(); foreach (var itemEv in eventList) { // new item so add it in :) EventDetails item = new EventDetails { EventId = itemEv.EventId, EventEnd = itemEv.EventEnd, EventLocation = itemEv.EventLocation, EventStart = itemEv.EventStart, EventTitle = itemEv.EventTitle, Status = itemEv.Status, AdditionalInfo = itemEv.AdditionalInfo, Email = itemEv.Email, PhoneNumber = itemEv.PhoneNumber, JobPostId = itemEv.JobPostId }; db.InsertRecord <EventDetails>(item); } } // insert dummy compaints data var ComplaintsDb = db.GetTableItems <ComplaintRaised>(); if (ComplaintsDb != null && ComplaintsDb.Count == 0) { // fill with new data var compaintsData = DummyEmpData.GetComplaintsList(); foreach (var itemEv in compaintsData) { db.InsertRecord <ComplaintRaised>(new ComplaintRaised { ComplaintText = itemEv.ComplaintText, ComplaintId = itemEv.ComplaintId, Subject = itemEv.Subject, Status = itemEv.Status, CreatedOn = itemEv.CreatedOn, ClosedOn = itemEv.ClosedOn, Category = itemEv.Category }); } } }