public string createInscription(Project project, string id) { string query = "INSERT INTO inscriptions (Id, id_user, id_project, Validated) VALUES (NULL, " + id + ", " + project.Id + ", false)"; MySqlHelper.ExecuteNonQuery(Connection, query); using (MySqlDataReader projectChecker = MySqlHelper.ExecuteReader(Connection, "SELECT id_user, title From projects WHERE id = '" + project.Id + "'")) { if (projectChecker.HasRows) { projectChecker.Read(); using (MySqlDataReader userChecker = MySqlHelper.ExecuteReader(Connection, "SELECT Email From users WHERE uniq_id = '" + projectChecker.GetString(0) + "'")) { if (userChecker.HasRows) { userChecker.Read(); string emailAddress = "*****@*****.**", password = "******"; var sender = new GmailDotComMail(emailAddress, password); sender.SendMail(userChecker.GetString(0), "Coding MarketPlace - inscription au projet", "Un développeur s'est inscrit à votre projet : " + projectChecker.GetString(1)); Notification notif = new Notification(); NotificationsController notifCtrl = new NotificationsController(); notif.Text = "Un développeur s'est inscrit au projet : " + projectChecker.GetString(1); notif.UniqId = projectChecker.GetString(0); notifCtrl.createNotification(notif); } } } } return "ok"; }
public string validateInscription(Project project, string id) { string query = "UPDATE inscriptions SET Validated = true WHERE id_user = "******" AND id_project = " + project.Id; MySqlHelper.ExecuteNonQuery(Connection, query); deleteOtherApply(project, id); using (MySqlDataReader projectChecker = MySqlHelper.ExecuteReader(Connection, "SELECT id_user, title From projects WHERE id = '" + project.Id + "'")) { if (projectChecker.HasRows) { projectChecker.Read(); using (MySqlDataReader userChecker = MySqlHelper.ExecuteReader(Connection, "SELECT Email From users WHERE uniq_id = '" + projectChecker.GetString(0) + "'")) { if (userChecker.HasRows) { userChecker.Read(); string emailAddress = "*****@*****.**", password = "******"; var sender = new GmailDotComMail(emailAddress, password); sender.SendMail(userChecker.GetString(0), "Coding MarketPlace - inscription au projet", "Le projet : " + projectChecker.GetString(1) + " a bien été validé"); Notification notif = new Notification(); NotificationsController notifCtrl = new NotificationsController(); notif.Text = "Le projet : " + projectChecker.GetString(1) + "a bien été validé"; notif.UniqId = projectChecker.GetString(0); notifCtrl.createNotification(notif); } } } } return "ok"; }
public void ContactUs([FromBody] MailContactUs mail) { string emailAddress = "*****@*****.**", password = "******"; var sender = new GmailDotComMail(emailAddress, password); sender.SendMail("*****@*****.**", "Coding MarketPlace - Contact Us", "L'utilisateur : " + mail.FirstName + " " + mail.LastName + " nous a contacté.\nSon message est le suivant:\n\n" + mail.Message + "\n\nPour lui répondre, voici son adresse email : " + mail.Email); }
public string createMail(string content, string id, string contactMailAddress) { string emailAddress = "*****@*****.**", password = "******"; var sender = new GmailDotComMail(emailAddress, password); sender.SendMail(contactMailAddress, "Coding MarketPlace - contact", content); string query = "INSERT INTO mails (Id, id_user, content) VALUES (NULL, " + id + ", '" + content + "')"; MySqlHelper.ExecuteNonQuery(Connection, query); return "ok"; }
public object ApplyToProject([FromBody] Project project, string id) { using (MySqlDataReader userChecker = MySqlHelper.ExecuteReader(Connection, "SELECT developper, Email From users WHERE uniq_id = '" + id + "'")) { if (userChecker.HasRows) { userChecker.Read(); if (userChecker.GetBoolean(0)) { InscriptionsController insc = new InscriptionsController(); if (insc.createInscription(project, id).Equals("ok")) { using (MySqlDataReader projectChecker = MySqlHelper.ExecuteReader(Connection, "SELECT title From projects WHERE id = '" + project.Id + "'")) { if (projectChecker.HasRows) { projectChecker.Read(); string emailAddress = "*****@*****.**", password = "******"; var sender = new GmailDotComMail(emailAddress, password); sender.SendMail(userChecker.GetString(1), "Coding MarketPlace - inscription", "Votre inscription au projet : " + projectChecker.GetString(0) + " a bien été prise en compte"); Notification notif = new Notification(); NotificationsController notifCtrl = new NotificationsController(); notif.Text = "Vous êtes bien inscrit au projet : " + projectChecker.GetString(0); notif.UniqId = id; notifCtrl.createNotification(notif); } } return Request.CreateResponse(HttpStatusCode.Created, "Inscription to project successful"); } else { return Request.CreateResponse(HttpStatusCode.InternalServerError, "Error, inscription to project denied"); } } else { return Request.CreateResponse(HttpStatusCode.BadRequest, "You are not a developper"); } } } return Request.CreateResponse(HttpStatusCode.InternalServerError, "Error, could not proceed to inscription"); }
public object Create([FromBody] User user) { using (MySqlDataReader reader = MySqlHelper.ExecuteReader(Connection, "SELECT Login, Email From users WHERE Login = '******' OR Email = '" + user.Email + "'")) { if (reader.HasRows) { if (reader.GetString(0).Equals(user.Login)) { return Request.CreateResponse(HttpStatusCode.BadRequest, "Login already exist"); } else { return Request.CreateResponse(HttpStatusCode.BadRequest, "Email already exist"); } } } string query = "INSERT INTO users (Id, Email, password, login, developper, project_creator, description, image_url, first_name, last_name, uniq_id) VALUES (NULL, @email, @password, @login, @developper, @projectCreator, @description, @imageUrl, @firstName, @lastName, @uniqId)"; Random rnd = new Random(); int number = rnd.Next(1000, 10000); DateTime localDate = DateTime.Now; var culture = new CultureInfo("fr-FR"); string uniqId = number.ToString() + localDate.ToString(culture).Replace(" ", string.Empty).Replace("/", string.Empty).Replace(":", string.Empty); List<MySqlParameter> parms = new List<MySqlParameter>(); parms.Add(new MySqlParameter("email", user.Email)); parms.Add(new MySqlParameter("password", encryptString(user.Password))); parms.Add(new MySqlParameter("login", user.Login)); parms.Add(new MySqlParameter("developper", user.Developper)); parms.Add(new MySqlParameter("projectCreator", user.ProjectCreator)); parms.Add(new MySqlParameter("description", user.Description)); if(user.ImageUrl != "") { parms.Add(new MySqlParameter("imageUrl", user.ImageUrl)); } else { parms.Add(new MySqlParameter("imageUrl", "http://codingmarketplace.herokuapp.com/app/img/upload/profile_user_default.jpg")); } parms.Add(new MySqlParameter("firstName", user.FirstName)); parms.Add(new MySqlParameter("lastName", user.LastName)); parms.Add(new MySqlParameter("uniqId", uniqId)); MySqlHelper.ExecuteNonQuery(Connection, query, parms.ToArray()); string emailAddress = "*****@*****.**", password = "******"; var sender = new GmailDotComMail(emailAddress, password); sender.SendMail(user.Email, "Coding MarketPlace - inscription", "Bienvenue sur le site coding MarketPlace, " + user.Login); return Request.CreateResponse(HttpStatusCode.Created, "Utilisateur créé avec succes"); }
public object ForgottenPass([FromBody] User user) { User response = new User(); using (MySqlDataReader reader = MySqlHelper.ExecuteReader(Connection, "SELECT Uniq_id From users WHERE Email = '" + user.Email + "'")) { if (reader.HasRows) { reader.Read(); string emailAddress = "*****@*****.**", password = "******"; var sender = new GmailDotComMail(emailAddress, password); sender.SendMail(user.Email, "Coding MarketPlace - Recuperation de mot de passe", "Pour réinitialiser votre mot de passe, veuillez suivre le lien suivant : http://codingmarketplace.herokuapp.com/app/#/forgot-password/" + reader.GetString(0)); return Request.CreateResponse(HttpStatusCode.OK, response); } else { return Request.CreateResponse(HttpStatusCode.BadRequest, "wrong id"); } } }
public object Validate([FromBody] Project project, string id) { using (MySqlDataReader userChecker = MySqlHelper.ExecuteReader(Connection, "SELECT uniq_id, Email From users WHERE uniq_id = '" + id + "'")) { if (userChecker.HasRows) { userChecker.Read(); InscriptionsController insc = new InscriptionsController(); if (insc.validateInscription(project, id).Equals("ok")) { using (MySqlDataReader projectChecker = MySqlHelper.ExecuteReader(Connection, "SELECT title From projects WHERE id = '" + project.Id + "'")) { if (projectChecker.HasRows) { projectChecker.Read(); string emailAddress = "*****@*****.**", password = "******"; var sender = new GmailDotComMail(emailAddress, password); sender.SendMail(userChecker.GetString(1), "Coding MarketPlace - validation", "Vous avez été retenu pour travailler sur le projet : " + projectChecker.GetString(0) + ""); Notification notif = new Notification(); NotificationsController notifCtrl = new NotificationsController(); notif.Text = "Vous avez été retenu pour travailler sur le projet : " + projectChecker.GetString(0); notif.UniqId = project.IdUser; notifCtrl.createNotification(notif); string query = "UPDATE projects SET started = true WHERE id = '" + project.Id + "'"; MySqlHelper.ExecuteNonQuery(Connection, query); } } return Request.CreateResponse(HttpStatusCode.OK, "Project has been validated"); } else { return Request.CreateResponse(HttpStatusCode.BadRequest, "You are not the project owner"); } } } return Request.CreateResponse(HttpStatusCode.InternalServerError, "Error, could not proceed to validation"); }
public object FinishProject([FromBody] Project project, string id) { using (MySqlDataReader userChecker = MySqlHelper.ExecuteReader(Connection, "SELECT id, Email From users WHERE uniq_id = '" + id + "'")) { if (userChecker.HasRows) { userChecker.Read(); string query = "UPDATE projects SET over = true WHERE id = '" + project.Id + "'"; MySqlHelper.ExecuteNonQuery(Connection, query); using (MySqlDataReader projectChecker = MySqlHelper.ExecuteReader(Connection, "SELECT title From projects WHERE id = '" + project.Id + "'")) { if (projectChecker.HasRows) { projectChecker.Read(); string emailAddress = "*****@*****.**", password = "******"; var sender = new GmailDotComMail(emailAddress, password); sender.SendMail(userChecker.GetString(1), "Coding MarketPlace - Fin", "Le projet : " + projectChecker.GetString(0) + " est terminé"); Notification notif = new Notification(); NotificationsController notifCtrl = new NotificationsController(); notif.Text = "Le projet : " + projectChecker.GetString(0) + "est terminé"; notif.UniqId = id; notifCtrl.createNotification(notif); } } using (MySqlDataReader projectChecker = MySqlHelper.ExecuteReader(Connection, "SELECT id_user, title From projects WHERE id = '" + project.Id + "'")) { if (projectChecker.HasRows) { projectChecker.Read(); using (MySqlDataReader finalUserChecker = MySqlHelper.ExecuteReader(Connection, "SELECT Email From users WHERE uniq_id = '" + projectChecker.GetString(0) + "'")) { if (finalUserChecker.HasRows) { finalUserChecker.Read(); string emailAddress = "*****@*****.**", password = "******"; var sender = new GmailDotComMail(emailAddress, password); sender.SendMail(finalUserChecker.GetString(0), "Coding MarketPlace - Fin", "Le projet : " + projectChecker.GetString(1) + " est terminé"); Notification notif = new Notification(); NotificationsController notifCtrl = new NotificationsController(); notif.Text = "Le projet : " + projectChecker.GetString(1) + "est terminé"; notif.UniqId = projectChecker.GetString(0); notifCtrl.createNotification(notif); } } } } return Request.CreateResponse(HttpStatusCode.OK); } } return Request.CreateResponse(HttpStatusCode.InternalServerError, "Error"); }