public String serializeXML(IdentityDataLayer.DataModels.StudentPerson sp) { string xml = "<?xml version=\"1.0\" encoding=\"UTF - 8\"?>"; xml += "<StudentPerson>"; xml += "<PersonId>" + sp.Person.IdentityNo + "</PersonId>"; xml += "<Surname>" + sp.Person.Surname + "</Surname>"; xml += "<Firstname>" + sp.Person.Firstname + "</Firstname>"; xml += "<Middlename>" + sp.Person.Middlename + "</Middlename>"; xml += "<BG>" + sp.Person.BloodGroup + "</BG>"; xml += "<CollegeCode>" + sp.Department.CollegeCode + "<CollegeCode>"; xml += "<Department>" + sp.Department.DepartmentName + "</Department>"; xml += "<Programme>" + sp.Program + "</Programme>"; xml += "<HCN>" + sp.Person.HealthCentreNo + "</HCN>"; xml += "<Phone>" + sp.Person.Phone + "</Phone>"; xml += "<Email>" + sp.Person.Email + "</Email>"; xml += "<Level>" + sp.CurrentLevel + "</Level>"; xml += "<SponsorName>" + sp.SponsorName + "</SponsorName>"; xml += "<SponsorAddress>" + sp.SponsorAddress + "</SponsorAddress>"; xml += "<Sex>" + sp.Person.Sex + "</Sex>"; xml += "</StudentPerson>"; return(xml); }
public bool saveStudentPersonProfile(string personIdNo, StudentPerson newpersonprofile, int?snapshotid, bool overridewithnull = true) { //backup old data if (dbcontext.Persons.Any(p => p.IdentityNo == personIdNo)) { IdentityDataLayer.DataModels.StudentPerson pid = dbcontext.StudentPersons.First(p => p.Person.IdentityNo == personIdNo); if (!dbcontext.IDSnapshots.Any(p => p.PersonId == pid.Person.Id && p.SnapshotDetails != "")) { //back migrated data IdentityDataLayer.DataModels.IDSnapshot idsnapshot = new IdentityDataLayer.DataModels.IDSnapshot(); idsnapshot.SnapshotDetails = serializeXML(pid); idsnapshot.PersonId = pid.PersonId; idsnapshot.CreatedBy = 1; idsnapshot.DateCreated = DateTime.Now.AddDays(-1); dbcontext.IDSnapshots.Add(idsnapshot); dbcontext.SaveChanges(); } } if (snapshotid == null) { IdentityDataLayer.DataModels.IDSnapshot idsnapshot = new IdentityDataLayer.DataModels.IDSnapshot(); idsnapshot.SnapshotDetails = serializeXML(newpersonprofile); IdentityDataLayer.DataModels.Person person = dbcontext.Persons.First(p => p.IdentityNo == personIdNo); idsnapshot.PersonId = person.Id; idsnapshot.CreatedBy = 1; idsnapshot.DateCreated = DateTime.Now; dbcontext.IDSnapshots.Add(idsnapshot); person.Surname = newpersonprofile.Surname; person.Firstname = newpersonprofile.Firstname; person.Middlename = newpersonprofile.Middlename; person.HealthCentreNo = newpersonprofile.HCN ?? person.HealthCentreNo; person.BloodGroup = newpersonprofile.BG ?? person.BloodGroup; person.StudentPerson.CurrentLevel = String.IsNullOrEmpty(newpersonprofile.Level)? person.StudentPerson.CurrentLevel: newpersonprofile.Level; person.StudentPerson.StudentCategoryId = newpersonprofile.CategoryId; // String.IsNullOrEmpty(newpersonprofile.Level) ? person.StudentPerson.CurrentLevel : newpersonprofile.Level; /* if (newpersonprofile.CategoryId == 2) * { * person.StudentPerson.Program = newpersonprofile.Level; * * }*/ person.StudentPerson.Program = newpersonprofile.Programme; person.Phone = newpersonprofile.Phone ?? person.Phone; person.Email = newpersonprofile.Email ?? person.Email; person.Sex = newpersonprofile.Sex.ToString(); person.StudentPerson.SponsorName = newpersonprofile.SponsorName ?? person.StudentPerson.SponsorName; person.StudentPerson.SponsorAddress = newpersonprofile.SponsorAddress ?? person.StudentPerson.SponsorAddress; person.StudentPerson.SponsorPhone = newpersonprofile.SponsorPhone ?? person.StudentPerson.SponsorPhone; person.StudentPerson.CurrentDepartmentId = newpersonprofile.Department.Code == null? person.StudentPerson.CurrentDepartmentId:dbcontext.Departments.First(p => p.DepartmentCode == newpersonprofile.Department.Code).DepartmentId; person.StudentPerson.LastEnrollmentSession = String.IsNullOrEmpty(newpersonprofile.CurrentSession)? person.StudentPerson.LastEnrollmentSession : newpersonprofile.CurrentSession; person.StudentPerson.LastEnrollmentStatus = String.IsNullOrEmpty(newpersonprofile.CurrentStatus)? person.StudentPerson.LastEnrollmentStatus:newpersonprofile.CurrentStatus; dbcontext.SaveChanges(); } dbcontext = new IdentityDataLayer.DataModels.IdentityDBEntities(); return(true); }
private bool updatefromsource(String id) { string cuurentsession = ""; string currentsession = dbcontext.Configs.First(p => p.ConfigName == "CurrentSession").ConfigValue; StudentPerson sp = getStudentPersonFromSouce(id, currentsession); if (!dbcontext.StudentPersons.Any(p => p.Person.IdentityNo == id)) { IdentityDataLayer.DataModels.Person ip = new IdentityDataLayer.DataModels.Person(); ip.IdentityNo = sp.PersonID; ip.Surname = sp.Surname; ip.Firstname = sp.Firstname; ip.Middlename = sp.Middlename; ip.Phone = sp.Phone; ip.Email = sp.Email; ip.Address = sp.Address; ip.HealthCentreNo = sp.HCN; ip.Sex = sp.Sex.ToString(); dbcontext.Persons.Add(ip); // dbcontext.SaveChanges(); // dbcontext = new IdentityDataLayer.DataModels.IdentityDBEntities(); // ip = dbcontext.Persons.Single(p => p.IdentityNo == sp.PersonID); IdentityDataLayer.DataModels.StudentPerson isp = new IdentityDataLayer.DataModels.StudentPerson(); isp.CurrentLevel = sp.Level; isp.Program = sp.Programme; isp.SponsorName = sp.SponsorName; isp.SponsorPhone = sp.SponsorPhone; isp.SponsorAddress = sp.SponsorAddress; isp.StudentCategoryId = sp.CategoryId; isp.CurrentDepartmentId = dbcontext.Departments.First(p => p.DepartmentCode == sp.Department.Code).DepartmentId; isp.CreatedBy = 1; isp.DateCreated = DateTime.Now; isp.Person = ip; isp.LastEnrollmentSession = sp.CurrentSession; isp.LastEnrollmentStatus = sp.CurrentStatus; dbcontext.StudentPersons.Add(isp); dbcontext.SaveChanges(); } else { IdentityDataLayer.DataModels.StudentPerson isp = dbcontext.StudentPersons.First(p => p.Person.IdentityNo == id); if (!match(sp, isp)) { bool b = saveStudentPersonProfile(id, sp, null); return(b); } } dbcontext = new IdentityDataLayer.DataModels.IdentityDBEntities(); return(true); }
public StudentPerson(IdentityDataLayer.DataModels.StudentPerson a, Dictionary <int, string> Fmds) : base(a.Person, Fmds) { Department = new Department(); if (a.Department != null) { Department = new Department(a.Department.DepartmentCode, a.Department.DepartmentName, a.Department.CollegeCode); } Level = a.CurrentLevel; SponsorName = a.SponsorName; SponsorPhone = a.SponsorPhone; SponsorAddress = a.SponsorAddress; CurrentSession = a.LastEnrollmentSession; CurrentStatus = a.LastEnrollmentStatus; CategoryId = a.StudentCategoryId; Programme = a.Program; // Level = a.l; // Category = a.CurrentPost; }
private bool match(StudentPerson sp, IdentityDataLayer.DataModels.StudentPerson isp) { string s1 = sp.PersonID + sp.Surname + sp.Firstname + sp.Middlename + sp.Department.CollegeCode + sp.Department.Code + sp.Phone + sp.Sex + sp.Email + sp.Level + sp.SponsorName + sp.SponsorPhone + sp.SponsorAddress + sp.CurrentStatus + sp.CurrentSession; string s2 = isp.Person.IdentityNo + isp.Person.Surname + isp.Person.Firstname + isp.Person.Middlename + isp.Department.CollegeCode + isp.Department.DepartmentCode + isp.Person.Phone + isp.Person.Sex + isp.Person.Email + isp.CurrentLevel + isp.SponsorName + isp.SponsorPhone + isp.SponsorAddress + isp.LastEnrollmentStatus + isp.LastEnrollmentSession; return(s1 == s2); }