protected virtual Dictionary <string, object> SignUp(string fullName, string email, string password) { Dictionary <string, object> json = new Durados.Web.Mvc.UI.Helpers.AccountService(this).SignUpToBackand(email, password, Durados.Web.Mvc.Maps.SendWelcomeEmail, null, fullName, "100", null); Durados.Web.Mvc.Maps.Instance.DuradosMap.Logger.Log("Account", "SignUp", "Post", "SignUp call", email, 3, null, DateTime.Now); return(json); }
public virtual IHttpActionResult SignUp() { try { string json = Request.Content.ReadAsStringAsync().Result; Dictionary <string, object> values = Durados.Web.Mvc.UI.Json.JsonSerializer.Deserialize(json); if (!values.ContainsKey("fullName")) { return(ResponseMessage(Request.CreateResponse(HttpStatusCode.NotAcceptable, "fullName is missing"))); } string fullName = values["fullName"].ToString(); if (!values.ContainsKey("email")) { return(ResponseMessage(Request.CreateResponse(HttpStatusCode.NotAcceptable, "email is missing"))); } string email = values["email"].ToString(); if (!values.ContainsKey("password")) { return(ResponseMessage(Request.CreateResponse(HttpStatusCode.NotAcceptable, "password is missing"))); } string password = values["password"].ToString(); if (!values.ContainsKey("confirmPassword")) { return(ResponseMessage(Request.CreateResponse(HttpStatusCode.NotAcceptable, "confirmPassword is missing"))); } string confirmPassword = values["confirmPassword"].ToString(); if (!password.Equals(confirmPassword)) { return(ResponseMessage(Request.CreateResponse(HttpStatusCode.NotAcceptable, "The password is not confirmed"))); } Dictionary <string, object> jsonResponse = SignUp(fullName, email, password); if (jsonResponse.ContainsKey("Message") && jsonResponse["Message"].Equals("Success")) { Durados.Web.Mvc.UI.Helpers.AccountService account = new Durados.Web.Mvc.UI.Helpers.AccountService(this); account.InviteAdminAfterSignUp(email); Durados.Web.Mvc.UI.Helpers.Analytics.Log(Durados.Web.Mvc.Logging.ExternalAnalyticsAction.SignedUp, email, new Dictionary <string, object>() { { Durados.Database.AppName, Durados.Web.Mvc.Maps.DuradosAppName } , { Durados.Web.Mvc.Logging.ExternalAnalyticsTraitsKey.name.ToString(), fullName } }, SegmentAnalytics.GetPage(), SegmentAnalytics.GetCampaign(), SegmentAnalytics.GetUserAgent()); return(Ok()); } else { object message = jsonResponse; if (jsonResponse.ContainsKey("Message")) { message = jsonResponse["Message"].ToString(); } return(ResponseMessage(Request.CreateResponse(HttpStatusCode.ExpectationFailed, message))); } } catch (Exception exception) { throw new BackAndApiUnexpectedResponseException(exception, this); } }