Exemple #1
0
        public FlightUser Verify(string IdAuth0)
        {
            Management management      = new Management(UnitOfWork.AppServices);
            User       FlightUserAuth0 = Task.Run(() => management.ReadAsync(IdAuth0)).Result;

            if (FlightUserAuth0 == null)
            {
                return(null);
            }
            else
            {
                try
                {
                    FlightUser flightUser = ReadByEmail(FlightUserAuth0.Email);
                    Task.Run(() => management.EditAppMetadataAsync(flightUser));

                    return(flightUser);
                }
                catch
                {
                    FlightUserAdd FlightUserAdd = new FlightUserAdd
                    {
                        Email    = FlightUserAuth0.Email,
                        FName    = FlightUserAuth0.FirstName ?? String.Empty,
                        LName    = FlightUserAuth0.LastName ?? String.Empty,
                        Password = UtilsString.RandomPassword(20)
                    };

                    return(Add(FlightUserAdd, false, IdAuth0));
                }
            }
        }
Exemple #2
0
        private bool ValidateExist(FlightUserAdd flightUserAdd)
        {
            FlightUser flightUser = new FlightUser()
            {
                Id    = 0,
                Email = flightUserAdd.Email,
            };

            return(ValidateExist(flightUser));
        }
        public IActionResult AddUser([FromBody] FlightUserAdd flightUserIncluir)
        {
            try
            {
                Login.Add(flightUserIncluir, true);

                IActionResult response = CreatedAtAction("AddUser", true);
                return(response);
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Exemple #4
0
        public FlightUser Add(FlightUserAdd flightUserAdd, bool AddAuth0, string IdAuth0 = null)
        {
            if (!ValidateExist(flightUserAdd))
            {
                try
                {
                    // Database
                    UnitOfWork.BeginTransaction();

                    // Usuário
                    FlightUser flightUser = new FlightUser
                    {
                        Id       = 0,
                        BornDate = flightUserAdd.BornDate,
                        Email    = flightUserAdd.Email,
                        FName    = flightUserAdd.FName,
                        LName    = flightUserAdd.LName,
                    };

                    UnitOfWork.FlightUsers.Add(flightUser);
                    UnitOfWork.SaveChanges();

                    // Auth0
                    var management = new Management(UnitOfWork.AppServices);

                    if (AddAuth0)
                    {
                        var FlightUserAuth0 = Task.Run(() => management.IncludeAsync((int)flightUser.Id, flightUser.Email, flightUserAdd.Password, flightUser.FName, flightUser.LName)).Result;

                        if (FlightUserAuth0 == null)
                        {
                            throw new InvalidOperationException("[Login] Some problem while add User in Auth0");
                        }
                    }
                    else
                    {
                        User FlightUserAuth0 = Task.Run(() => management.ReadAsync(IdAuth0)).Result;

                        if (FlightUserAuth0 == null)
                        {
                            throw new InvalidOperationException("[Usuários] Ocorreu um problema ao Read o usuário em Auth0");
                        }
                        else
                        if (!(FlightUserAuth0.AppMetadata as Dictionary <string, object>).ContainsKey("IdFlightUser") || (FlightUserAuth0.AppMetadata["IdFlightUser"] == null))
                        {
                            Task.Run(() => management.EditAppMetadataAsync(flightUser));
                        }
                    }


                    UnitOfWork.Commit();
                    return(Read((int)flightUser.Id));
                }
                catch (Exception ex)
                {
                    UnitOfWork.Rollback();
                    throw ex;
                }
            }
            else
            {
                throw new ArgumentException("[Login] User Already exists");
            }
        }