public string returnWorkerFromEmail(string mail, string pass) { Workers w = mongoDbase.getWorkerByEmail(mail); //JavaScriptSerializer jserial = new JavaScriptSerializer(); if (w != null) { if (w.Password == pass) { HttpContext.Current.Session.Add("user", w); HttpContext.Current.Session.Add("database", "mongo"); HttpContext.Current.Session.Add("company", null); return(JsonConvert.SerializeObject(w)); } else { return(badp); } } else { return(badm); } //return w.ToString(); }
public string updateWorkerInRDb(string id, string mail, string pass, string name, string last, string company, string previous, string skills, string dbch) { WorkersR recvv = raven.getWorkerById(Guid.Parse(id)); Workers recvm = mongor.getWorkerByEmail(recvv.Email); if (recvm == null) { Workers wm = new Workers() { FirstName = name, LastName = last, Email = mail, Password = pass, CompanyId = "5a3c3546a2bfccaa6c6a90e1", CompanyName = "unemployed" }; var retM = mongor.Create(wm); var compmon = mongor.addWorkerToCompany(retM.Id, mongor.getCompanyById(ObjectId.Parse("5a3c3546a2bfccaa6c6a90e1"))); recvm = retM; } if (previous == "") { previous = null; } if (skills == "") { skills = null; } recvv.Email = recvm.Email = mail; recvv.Password = recvm.Password = pass; recvv.FirstName = recvm.FirstName = name; recvv.LastName = recvm.LastName = last; if (previous != null) { List <PrevEmp> pre = new List <PrevEmp>(); List <PrevEmpM> prem = new List <PrevEmpM>(); JArray tempp = JArray.Parse(previous); if (tempp != null) { for (int i = 0; i < tempp.Count; i++) { PrevEmp emp = new PrevEmp(); JToken token = tempp[i]; string sol = (string)token["firm"]; List <CompaniesR> comp = raven.getCompanyByName(sol); if (comp != null) { emp.FirmName = comp[0].CompanyName; emp.FirmId = comp[0].Id; emp.FormerEmployeeId = Guid.Parse(id); emp.StartTime = (string)token["dates"]; emp.EndTime = (string)token["datee"]; } if (emp != null) { pre.Add(emp); } else { return(fail); } } for (int i = 0; i < tempp.Count; i++) { PrevEmpM empm = new PrevEmpM(); JToken token = tempp[i]; string sol = (string)token["firm"]; List <Companies> compm = mongor.getCompanyByName(sol); if (compm != null) { empm.FirmName = compm[0].CompanyName; empm.FirmId = compm[0].Id; empm.FormerEmployeeId = recvm.Id; empm.StartTime = (string)token["dates"]; empm.EndTime = (string)token["datee"]; } if (empm != null) { prem.Add(empm); } else { return(fail); } } } else { return(fail); } recvv.PreviousEmployment = pre; recvm.PreviousEmployment = prem; } else { recvv.PreviousEmployment = null; recvm.PreviousEmployment = null; } if (skills != null) { List <string> ski = new List <string>(); JArray tempps = JArray.Parse(skills); if (tempps != null) { for (int i = 0; i < tempps.Count; i++) { JToken token = tempps[i]; string sol = (string)token; if (sol != null) { ski.Add(sol); } else { return(fail); } } } else { return(fail); } recvv.Skills = ski; recvm.Skills = ski; } else { recvv.Skills = null; recvm.Skills = null; } var temp = recvv.CompanyName; var cId = raven.getCompanyByName(company); var cmId = mongor.getCompanyByName(company); Changes changeFinal = null; if (cId.Count == 0 || cmId.Count == 0) { return("There is no such company!"); } if (temp != company && temp != null) { var tempC = raven.getCompanyByName(temp); var ret = raven.removeWorkerFromCompany(recvv.Id, tempC[0]); var com = raven.addWorkerToCompany(recvv.Id, cId[0]); recvv.CompanyId = cId[0].Id.ToString(); recvv.CompanyName = cId[0].CompanyName; } else if (temp == null) { var com = raven.addWorkerToCompany(recvv.Id, cId[0]); recvv.CompanyId = cId[0].Id.ToString(); recvv.CompanyName = cId[0].CompanyName; } var res = raven.updateWorker(recvv); //mongo if (temp != company && temp != null) { var tempC = mongor.getCompanyByName(temp); var ret = mongor.removeWorkerFromCompany(recvm.Id, tempC[0]); var com = mongor.addWorkerToCompany(recvm.Id, cmId[0]); recvm.CompanyId = cmId[0].Id.ToString(); recvm.CompanyName = cmId[0].CompanyName; } else if (temp == null) { var com = mongor.addWorkerToCompany(recvm.Id, cmId[0]); recvm.CompanyId = cmId[0].Id.ToString(); recvm.CompanyName = cmId[0].CompanyName; } var resm = mongor.updateWorker(recvm); if (temp != company || temp == null) { Changes ch = new Changes() { Actor1 = res.Id, Actor1Collection = "WorkersR", Actor1Name = res.FirstName + ' ' + res.LastName, Type = " has added as employer ", Actor2 = Guid.Parse(res.CompanyId), Actor2Name = res.CompanyName, Actor2Collection = "CompaniesR", Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }; changeFinal = raven.addFriendChange(ch); } else { Changes ch = new Changes() { Actor1 = res.Id, Actor1Name = res.FirstName + ' ' + res.LastName, Actor1Collection = "WorkersR", Type = " has updated profile!", Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }; changeFinal = raven.addFriendChange(ch); } var dbTemplist = raven.getDBPref(); string dbtemp = null; if (dbTemplist.Count != 0) { for (int i = 0; i < dbTemplist.Count; i++) { if (dbTemplist[i].MongoId == recvm.Id.ToString() && dbTemplist[i].RavenId == recvv.Id.ToString()) { dbtemp = dbTemplist[i].DbName; } } if (dbtemp == null) { DBCheck dbc = new DBCheck() { Collection = "worker", DbName = "raven", Mail = mail, Password = pass, MongoId = recvm.Id.ToString(), RavenId = recvv.Id.ToString() }; var dbcRet = raven.setDB(dbc); } } if (dbtemp != null && dbtemp != dbch) { DBCheck dbc = new DBCheck() { Collection = "worker", DbName = dbch, Mail = mail, Password = pass, MongoId = recvm.Id.ToString(), RavenId = recvv.Id.ToString() }; var dbcRet = raven.setDB(dbc); } if (res != null && resm != null && changeFinal != null) { if (dbch == "raven") { HttpContext.Current.Session.Clear(); HttpContext.Current.Session.Add("userR", res); HttpContext.Current.Session.Add("database", "raven"); return("Update successfull!"); } else if (dbch == "mongo") { HttpContext.Current.Session.Clear(); HttpContext.Current.Session.Add("user", resm); HttpContext.Current.Session.Add("database", "mongo"); return("Update successfull!"); } } return(fail); }