示例#1
0
        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);
            }
        }
示例#2
0
        // 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
                    });
                }
            }
        }