private void DeleteService(int id) { SocialTFSEntities db = new SocialTFSEntities(); bool isDeleted; try { var delInst = db.ServiceInstance.Where(si => si.pk_id == id); foreach (ServiceInstance s in delInst) { db.ServiceInstance.DeleteObject(s); } //db.ServiceInstance.DeleteAllOnSubmit(db.ServiceInstance.Where(si => si.pk_id == id)); db.SaveChanges(); isDeleted = true; } catch (Exception) { isDeleted = false; } XDocument xml = new XDocument( new XElement("Root", new XElement("Deleted", isDeleted))); Response.Clear(); Response.ContentType = "text/xml"; Response.Write(xml); Response.End(); }
private void SaveWeights() { SocialTFSEntities db = new SocialTFSEntities(); bool isSaved; XmlDocument requestXml = new XmlDocument(); requestXml.Load(new XmlTextReader(new StreamReader(Request.InputStream))); try { foreach (XmlNode item in requestXml.SelectNodes("//weights/item")) { FeatureScore featureScore = db.FeatureScore.Where(fs => fs.ServiceInstance.name == item.SelectSingleNode("service").InnerText && fs.pk_fk_feature == item.SelectSingleNode("feature").InnerText).Single(); featureScore.score = Int32.Parse(item.SelectSingleNode("weight").InnerText); } db.SaveChanges(); isSaved = true; } catch (Exception) { isSaved = false; } XDocument xml = new XDocument( new XElement("Root", new XElement("Saved", isSaved))); Response.Clear(); Response.ContentType = "text/xml"; Response.Write(xml); Response.End(); }
private void SaveUsers() { SocialTFSEntities db = new SocialTFSEntities(); XmlDocument requestXml = new XmlDocument(); requestXml.Load(new XmlTextReader(new StreamReader(Request.InputStream))); List<string> mailError = new List<string>(); foreach (XmlNode item in requestXml.SelectNodes("//users/user")) { try { String passwd = Membership.GeneratePassword(10, 2); User user = new User() { username = item.InnerText, email = item.InnerText, //password = (passwd) password = (passwd) }; db.User.AddObject(user); if (WebUtility.SendEmail(item.InnerText, "SocialTFS invitation", GetBody(item.InnerText, passwd), true)) db.SaveChanges(); else mailError.Add(item.InnerText); } catch { mailError.Add(item.InnerText); } } XElement root = new XElement("Root"); foreach (string item in mailError) root.Add(new XElement("NotSent", item)); Response.Clear(); Response.ContentType = "text/xml"; Response.Write(new XDocument(root)); Response.End(); }
private void ChangeAdminSettings() { string username = Request.Params["ctl00$MainContent$AdminUsernameTB"]; string email = Request.Params["ctl00$MainContent$AdminEmailTB"]; string password = Request.Params["ctl00$MainContent$PasswordTB"]; string confirm = Request.Params["ctl00$MainContent$ConfirmTB"]; SocialTFSEntities db = new SocialTFSEntities(); User admin = db.User.Where(u => u.isAdmin).Single(); bool changePassword = true; if (ChangePasswordCB.Checked) if (password.Equals(confirm)) admin.password = (password); else { ErrorPA.Attributes.Add("class", "error"); ErrorPA.InnerText = "Passwords do not match."; changePassword = false; } if (changePassword) { if (!db.User.Any(u => (u.username == username || u.email == email) && !u.isAdmin)) { admin.username = username; admin.email = email; db.SaveChanges(); ErrorPA.Attributes.Add("class", "confirm"); ErrorPA.InnerText = "Data stored"; } else { ErrorPA.Attributes.Add("class", "error"); ErrorPA.InnerText = "Username or email already exist."; } } }
private void ChangeSmtpSettings() { SocialTFSEntities db = new SocialTFSEntities(); try { bool changePassword = true; if (ChangeMailPasswordCB.Checked) if (Request.Params["ctl00$MainContent$MailPasswordTB"].Equals(Request.Params["ctl00$MainContent$MailConfirmTB"])) //db.Setting.Where(s => s.key == "MailPassword").Single().value = db.EncDecRc4("key",Request.Params["ctl00$MainContent$MailPasswordTB"]); db.Setting.Where(s => s.key == "MailPassword").Single().value = Request.Params["ctl00$MainContent$MailPasswordTB"]; else { ErrorPA.Attributes.Add("class", "error"); ErrorPA.InnerText = "Passwords do not match."; changePassword = false; } if (changePassword) { db.Setting.Where(s => s.key == "SmtpServer").Single().value = Request.Params["ctl00$MainContent$SmtpServerTB"]; db.Setting.Where(s => s.key == "SmtpPort").Single().value = Request.Params["ctl00$MainContent$SmtpPortTB"]; db.Setting.Where(s => s.key == "SmtpSecurity").Single().value = Request.Params["ctl00$MainContent$SmtpSecuritySE"]; db.Setting.Where(s => s.key == "MailAddress").Single().value = Request.Params["ctl00$MainContent$MailAddressTB"]; db.SaveChanges(); ErrorPA.Attributes.Add("class", "confirm"); ErrorPA.InnerText = "Data stored."; } } catch { try { var list = new List<Setting>(){ new Setting () { key = "SmtpServer", value = Request.Params["ctl00$MainContent$SmtpServerTB"] }, new Setting () { key = "SmtpPort", value = Request.Params["ctl00$MainContent$SmtpPortTB"] }, new Setting () { key = "SmtpSecurity", value = Request.Params["ctl00$MainContent$SmtpSecuritySE"] }, new Setting () { key = "MailAddress", value = Request.Params["ctl00$MainContent$MailAddressTB"] }, new Setting () { key = "MailPassword", //value = db.EncDecRc4("key",Request.Params["ctl00$MainContent$MailPasswordTB"]) value = Request.Params["ctl00$MainContent$MailPasswordTB"] } }; foreach(Setting s in list) { db.Setting.AddObject(s); } /* db.Setting.InsertAllOnSubmit(new List<Setting>(){ new Setting () { key = "SmtpServer", value = Request.Params["ctl00$MainContent$SmtpServerTB"] }, new Setting () { key = "SmtpPort", value = Request.Params["ctl00$MainContent$SmtpPortTB"] }, new Setting () { key = "SmtpSecurity", value = Request.Params["ctl00$MainContent$SmtpSecuritySE"] }, new Setting () { key = "MailAddress", value = Request.Params["ctl00$MainContent$MailAddressTB"] }, new Setting () { key = "MailPassword", value = db.EncDecRc4("key",Request.Params["ctl00$MainContent$MailPasswordTB"]) } }); * */ db.SaveChanges(); ErrorPA.Attributes.Add("class", "confirm"); ErrorPA.InnerText = "Data stored."; } catch { ErrorPA.Attributes.Add("class", "error"); ErrorPA.InnerText = "Something was wrong. Please try again later."; } } }
protected void Page_Load(object sender, EventArgs e) { SocialTFSEntities db = new SocialTFSEntities(); String token = Request.QueryString["token"]; Setting recoveringToken = null; Setting recoveringTime = null; try { recoveringTime = db.Setting.Where(s => s.key == "RecoveringTime").Single(); recoveringToken = db.Setting.Where(s => s.key == "RecoveringToken").Single(); } catch { } if (Request.RequestType == "GET") { if (String.IsNullOrEmpty(token)) { if (recoveringTime == null || DateTime.Parse(recoveringTime.value) < DateTime.UtcNow - new TimeSpan(0, 5, 0)) { String newToken = GenerateToken(); if (WebUtility.SendEmail(db.User.Where(u => u.isAdmin).Single().email, "Password recovering", GetBody(newToken), true)) { if (recoveringToken != null) { recoveringToken.value = newToken; recoveringTime.value = DateTime.UtcNow.ToString(); } else { var list = new List<Setting>(){ new Setting () { key = "RecoveringToken", value = newToken }, new Setting () { key = "RecoveringTime", value = DateTime.UtcNow.ToString() }}; foreach(Setting s in list) { db.Setting.AddObject(s); } /* db.Setting.AddObject( new List<Setting>(){ new Setting () { key = "RecoveringToken", value = newToken }, new Setting () { key = "RecoveringTime", value = DateTime.UtcNow.ToString() }}); * */ } db.SaveChanges(); Response.Redirect("Login.aspx?type=confirm&message=Email sent, check your email inbox."); } else Response.Redirect("Login.aspx?type=error&message=Is not possible recover the password, the smtp server is not set."); } else Response.Redirect("Login.aspx?type=error&message=You have sent a request less than 5 minutes ago. Please, try again later."); } else { if (recoveringToken == null || recoveringToken.value != token) Response.Redirect("Login.aspx?type=error&message=Wrong token."); } } else if (Request.RequestType == "POST") { db.User.Where(u => u.isAdmin).Single().password = (Request.Params["ctl00$MainContent$PasswordTB"]); var set = db.Setting.Where(s => s.key == "RecoveringToken" || s.key == "RecoveringTime"); foreach (Setting s in set) { db.Setting.DeleteObject(s); } //db.Setting.DeleteAllOnSubmit(db.Setting.Where(s => s.key == "RecoveringToken" || s.key == "RecoveringTime")); db.SaveChanges(); Response.Redirect("Login.aspx?type=confirm&message=Password changed successfully."); } }
private void SaveService() { SocialTFSEntities db = new SocialTFSEntities(); Service service = new Service(); int id = Int32.Parse(Request.Params["ctl00$MainContent$ServiceSE"]); try { service = db.Service.Where(s => s.pk_id == id).Single(); } catch { ErrorPA.Style.Remove("display"); } IService iService = ServiceFactory.getService(service.name); ServiceInstance serviceInstance = new ServiceInstance(); if (!iService.GetPrivateFeatures().Contains(FeaturesType.MoreInstance)) { PreregisteredService preser = db.PreregisteredService.Where(ps => ps.service == service.pk_id).Single(); serviceInstance.name = preser.name; serviceInstance.host = preser.host; serviceInstance.fk_service = preser.service; serviceInstance.consumerKey = preser.consumerKey; serviceInstance.consumerSecret = preser.consumerSecret; db.ServiceInstance.AddObject(serviceInstance); } else { string consumerKey = null, consumerSecret = null; string host = Request.Params["ctl00$MainContent$HostTB"]; if (host.EndsWith(@"/")) host = host.Remove(host.Length - 1); if (iService.GetPrivateFeatures().Contains(FeaturesType.OAuth1)) { consumerKey = Request.Params["ctl00$MainContent$ConsumerKeyTB"]; consumerSecret = Request.Params["ctl00$MainContent$ConsumerSecretTB"]; } serviceInstance.name = Request.Params["ctl00$MainContent$NameTB"]; serviceInstance.host = host; serviceInstance.Service = service; serviceInstance.consumerKey = consumerKey; serviceInstance.consumerSecret = consumerSecret; db.ServiceInstance.AddObject(serviceInstance); } db.SaveChanges(); if (iService.GetPrivateFeatures().Contains(FeaturesType.Labels)) { iService.Get(FeaturesType.Labels, Request.Params["ctl00$MainContent$GitHubLabelTB"]); } foreach (FeaturesType featureType in iService.GetScoredFeatures()) { db.FeatureScore.AddObject(new FeatureScore() { pk_fk_serviceInstance = serviceInstance.pk_id, pk_fk_feature = featureType.ToString(), score = 1 }); } //TODO update the new version (leave comment from the next line) //dbService.version = newServiceVersion; db.SaveChanges(); Response.Redirect("Services.aspx"); }
private void SaveService() { if (!String.IsNullOrEmpty(NameTB.Attributes["required"]) && String.IsNullOrEmpty(Request.Params["ctl00$MainContent$NameTB"])) Response.Redirect("Services.aspx"); if (!String.IsNullOrEmpty(HostTB.Attributes["required"]) && String.IsNullOrEmpty(Request.Params["ctl00$MainContent$HostTB"])) Response.Redirect("Services.aspx"); if (!String.IsNullOrEmpty(ConsumerKeyTB.Attributes["required"]) && String.IsNullOrEmpty(Request.Params["ctl00$MainContent$ConsumerKeyTB"])) Response.Redirect("Services.aspx"); if (!String.IsNullOrEmpty(ConsumerSecretTB.Attributes["required"]) && String.IsNullOrEmpty(Request.Params["ctl00$MainContent$ConsumerSecretTB"])) Response.Redirect("Services.aspx"); SocialTFSEntities db = new SocialTFSEntities(); ServiceInstance service = (from serin in db.ServiceInstance where serin.pk_id == Int32.Parse(Request.QueryString["id"]) select serin).Single(); IService iService = ServiceFactory.getService(service.Service.name); if (iService.GetPrivateFeatures().Contains(FeaturesType.Labels)) { if (String.IsNullOrEmpty(Request.Params["ctl00$MainContent$GitHubLabelTB"])) { System.Diagnostics.Debug.WriteLine("label nulla"); ServiceFactory.GitHubLabels = String.Empty; } else { System.Diagnostics.Debug.WriteLine("labels associate " + Request.Params["ctl00$MainContent$GitHubLabelTB"]); ServiceFactory.GitHubLabels = Request.Params["ctl00$MainContent$GitHubLabelTB"]; } } else { service.name = Request.Params["ctl00$MainContent$NameTB"]; service.host = Request.Params["ctl00$MainContent$HostTB"]; if (iService.GetPrivateFeatures().Contains(FeaturesType.OAuth1)) { service.consumerKey = Request.Params["ctl00$MainContent$ConsumerKeyTB"]; service.consumerSecret = Request.Params["ctl00$MainContent$ConsumerSecretTB"]; } else if (iService.GetPrivateFeatures().Contains(FeaturesType.TFSAuthenticationWithDomain)) { service.consumerKey = Request.Params["ctl00$MainContent$UsernameTB"]; service.consumerSecret = Request.Params["ctl00$MainContent$PasswordTB"]; } db.SaveChanges(); } Response.Redirect("Services.aspx"); }