Exemplo n.º 1
0
        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 { }));
        }
Exemplo n.º 2
0
        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
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
            }
        }