public ActionResult Post([FromBody] DtoOnboarding obj) { var repo = new DapperUserRepository(); var srv = new SrvOnboardingV1(repo); if (!srv.Exec(network, obj)) { return(BadRequest(srv.Error)); } return(Ok(new { })); }
bool ValidadeRequest(DtoOnboarding dto) { #region - code - if (string.IsNullOrEmpty(dto.sID)) { Error = new DtoServiceError { message = getLanguage(dto._language, 1) }; return(false); } if (string.IsNullOrEmpty(dto.sEmail)) { Error = new DtoServiceError { message = getLanguage(dto._language, 2) }; return(false); } if (string.IsNullOrEmpty(dto.sName)) { Error = new DtoServiceError { message = getLanguage(dto._language, 3) }; return(false); } if (string.IsNullOrEmpty(dto.sPass)) { Error = new DtoServiceError { message = getLanguage(dto._language, 4) }; return(false); } return(true); #endregion }
public bool Exec(LocalNetwork network, DtoOnboarding dto) { if (!ValidadeRequest(dto)) { return(false); } try { //prep dto.sEmail = dto.sEmail.ToLower().Trim(); dto.sID = dto.sID.ToLower().Trim(); dto.sName = dto.sName.ToLower().Trim(); using (var db = GetConnection(network)) { var user = repository.GetUserByEmail(db, dto.sEmail); if (user != null) { Error = new DtoServiceError { message = getLanguage(dto._language, 5), debugInfo = "[1]" }; return(false); } user = repository.GetUserBySocial(db, dto.sID); if (user != null) { Error = new DtoServiceError { message = getLanguage(dto._language, 6), debugInfo = "[1]" }; return(false); } var rnd = new Random(); var token = ""; for (int i = 0; i < 4; i++) { token += rnd.Next(0, 9); Thread.Sleep(33); } repository.InsertUser(db, new Infra.Entity.Database.User { bAdmin = false, bActive = true, bTokenized = false, dtCreation = DateTime.Now, dtLastLogin = null, stEmail = dto.sEmail, stName = dto.sName, stPassword = dto.sPass, stSocialID = dto.sID, stToken = token, }); SendEmail(dto.sEmail.ToLower(), "Onboarding", "Token: " + token); } return(true); } catch (Exception ex) { Error = new DtoServiceError { message = getLanguage(dto._language, 0), debugInfo = ex.ToString() }; return(false); } }
public bool Exec(LocalNetwork network, DtoOnboarding dto) { if (!ValidadeRequest(dto)) { return(false); } try { dto.sEmail = dto.sEmail.ToLower().Trim(); dto.sID = dto.sID.ToLower().Trim(); dto.sName = dto.sName.ToLower().Trim(); using (var db = GetConnection(network)) { #if MASSLOAD User user = null; #else User user = repository.GetUserByEmail(db, dto.sEmail.ToLower().Trim()); if (user != null) { if (user.bTokenized == true) { Error = new DtoServiceError { message = getLanguage(dto._language, 5), debugInfo = "[1]" }; return(false); } } user = repository.GetUserBySocial(db, dto.sID); if (user != null) { if (user.bTokenized == true) { Error = new DtoServiceError { message = getLanguage(dto._language, 6), debugInfo = "[2]" }; return(false); } } #endif #if MASSLOAD var token = "1234"; #else var token = ""; var rnd = new Random(); for (int i = 0; i < 4; i++) { token += rnd.Next(0, 9); Thread.Sleep(33); } #endif if (user == null) { user = new User { bAdmin = false, bActive = true, bTokenized = false, dtCreation = DateTime.Now, dtLastLogin = null, stEmail = dto.sEmail, stName = dto.sName, stPassword = dto.sPass, stSocialID = dto.sID, stToken = token, dtTokenExpires = DateTime.Now.AddSeconds(3 * 60), }; #if MASSLOAD user.bTokenized = true; _sendEmail = false; #endif user.compile(); repository.InsertUser(db, user); } else { user.bTokenized = false; user.stToken = token; user.dtTokenExpires = DateTime.Now.AddSeconds(3 * 60); repository.UpdateUser(db, user); } SendEmail(dto.sEmail.ToLower(), "Onboarding", "Token: " + token); } return(true); } catch (Exception ex) { Error = new DtoServiceError { message = getLanguage(dto._language, 0), debugInfo = ex.ToString() }; return(false); } }