Exemplo n.º 1
0
        public async Task <IActionResult> Login(string Username, string Password, bool RememberMe)
        {
            var result = await _signInManager.PasswordSignInAsync(Username, Password, RememberMe, lockoutOnFailure : false);

            if (result.Succeeded)
            {
                var user = _context.Users.Where(x => x.UserName == Username).FirstOrDefault();
                if (user != null)
                {
                    string   Address      = !string.IsNullOrEmpty(user.Address) ? user.Address : "";
                    string   Age          = !string.IsNullOrEmpty(user.Age) ? user.Age : "";
                    string   City         = !string.IsNullOrEmpty(user.City) ? user.City : "";
                    string   Country      = !string.IsNullOrEmpty(user.Country) ? user.Country : "";
                    DateTime CreationDate = user.CreationDate;
                    Gender   VGender      = user.Gender;
                    string   Id           = user.Id;
                    string   Image        = user.Image;
                    string   PhoneNumber  = !string.IsNullOrEmpty(user.PhoneNumber) ? user.PhoneNumber : "";
                    UserType UserType     = user.UserType;
                    var      events       = _context.Events.Where(x => x.UserId == user.Id).FirstOrDefault();
                    if (events != null)
                    {
                        if (!string.IsNullOrEmpty(events.Image))
                        {
                            events.Image = "http://" + Request.Host + "/Media/" + events.Image;
                        }
                    }
                    else
                    {
                        events = new Events {
                        }
                    };

                    ApiUsersViewModel api = new ApiUsersViewModel {
                        Address = Address, Age = Age, City = City, Country = Country, CreationDate = CreationDate, Email = user.Email, FirstName = user.FirstName, Gender = VGender, Id = Id, Image = Image, LastName = user.LastName, PhoneNumber = PhoneNumber, UserName = Username, UserType = user.UserType, Events = events
                    };
                    return(Ok(api));
                }
                else
                {
                    return(BadRequest());
                }
            }
            else
            {
                return(Ok(result));
            }
        }
        public ApiUsersViewModel Authenticate(ApiUsersViewModel apiUsersViewModel)
        {
            if (apiUsersViewModel != null)
            {
                SunwingVouchersEntities context         = new SunwingVouchersEntities();
                IssuanceManager         issuanceManager = new IssuanceManager(context);
                var user = context.ApiUsers.Where(x => x.UserName == apiUsersViewModel.UserName &&
                                                  x.Password == apiUsersViewModel.Password && !x.IsDeleted).FirstOrDefault();

                apiUsersViewModel.Token = user.Token;
                //  generate and save new token
                if (user != null)
                {
                    user.Token          = issuanceManager.GenerateUniqueToken();
                    user.TokenTimestamp = System.DateTime.Now.AddSeconds(BeerTicketConfigurationManager.TokenLifeTime);
                    user.ModefiedOn     = System.DateTime.Now;
                    context.SaveChanges();
                }
            }
            return(apiUsersViewModel);
        }
        public async Task <IActionResult> Register(string Username, string Email, string Password, string Token, string FirstName, string LastName)
        {
            var user = new Users {
                UserName = Username, Email = Email, CreationDate = DateTime.Now, FirstName = FirstName, LastName = LastName
            };
            var result = await _userManager.CreateAsync(user, Password);

            if (result.Succeeded)
            {
                user = await _userManager.GetUserAsync(User);

                var token = _context.UserPushToken.Where(x => x.Token == Token).FirstOrDefault();
                if (token != null)
                {
                    token.User = user;
                }
                _context.SaveChanges();
                string            Address      = !string.IsNullOrEmpty(user.Address) ? user.Address : "";
                string            Age          = !string.IsNullOrEmpty(user.Age) ? user.Age : "";
                string            City         = !string.IsNullOrEmpty(user.City) ? user.City : "";
                string            Country      = !string.IsNullOrEmpty(user.Country) ? user.Country : "";
                DateTime          CreationDate = user.CreationDate;
                Gender            VGender      = user.Gender;
                string            Id           = user.Id;
                string            Image        = user.Image;
                string            PhoneNumber  = !string.IsNullOrEmpty(user.PhoneNumber) ? user.PhoneNumber : "";
                UserType          UserType     = user.UserType;
                ApiUsersViewModel api          = new ApiUsersViewModel {
                    Address = Address, Age = Age, City = City, Country = Country, CreationDate = CreationDate, Email = Email, FirstName = FirstName, Gender = VGender, Id = Id, Image = Image, LastName = LastName, PhoneNumber = PhoneNumber, UserName = Username, UserType = user.UserType
                };
                return(Ok(api));
            }
            else
            {
                return(Ok(result));
            }
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Register(string Username, string Email, string Password, string Token, string FirstName, string LastName, string FBToken)
        {
            Users user = null;

            if (!string.IsNullOrEmpty(FBToken))
            {
                user = _context.Users.Where(x => x.FBToken == FBToken).FirstOrDefault();
                if (user == null)
                {
                    user = _context.Users.Where(x => x.Email == Email).FirstOrDefault();
                }
            }
            if (user == null)
            {
                user = new Users {
                    UserName = Username, Email = Email, CreationDate = DateTime.Now, FirstName = FirstName, LastName = LastName, UserType = UserType.Planner, FBToken = FBToken
                };
                var result = await _userManager.CreateAsync(user, Password);

                if (result.Succeeded)
                {
                    await _userManager.AddToRoleAsync(user, "Planner");


                    await _signInManager.SignInAsync(user, isPersistent : false);

                    var token = _context.UserPushToken.Where(x => x.Token == Token).FirstOrDefault();
                    if (token != null)
                    {
                        token.User = user;
                    }
                    _context.SaveChanges();
                    string   Address      = !string.IsNullOrEmpty(user.Address) ? user.Address : "";
                    string   Age          = !string.IsNullOrEmpty(user.Age) ? user.Age : "";
                    string   City         = !string.IsNullOrEmpty(user.City) ? user.City : "";
                    string   Country      = !string.IsNullOrEmpty(user.Country) ? user.Country : "";
                    DateTime CreationDate = user.CreationDate;
                    Gender   VGender      = user.Gender;
                    string   Id           = user.Id;
                    string   Image        = user.Image;
                    string   PhoneNumber  = !string.IsNullOrEmpty(user.PhoneNumber) ? user.PhoneNumber : "";
                    UserType UserType     = user.UserType;
                    var      events       = _context.Events.Where(x => x.UserId == user.Id).FirstOrDefault();
                    if (events != null)
                    {
                        if (!string.IsNullOrEmpty(events.Image))
                        {
                            events.Image = "http://" + Request.Host + "/Media/" + events.Image;
                        }
                    }
                    else
                    {
                        events = new Events {
                        }
                    };
                    ApiUsersViewModel api = new ApiUsersViewModel {
                        Address = Address, Age = Age, City = City, Country = Country, CreationDate = CreationDate, Email = Email, FirstName = FirstName, Gender = VGender, Id = Id, Image = Image, LastName = LastName, PhoneNumber = PhoneNumber, UserName = Username, UserType = user.UserType, Events = events
                    };
                    return(Ok(api));
                }
                else
                {
                    return(Ok(result));
                }
            }
            else
            {
                await _signInManager.SignInAsync(user, isPersistent : false);

                var token = _context.UserPushToken.Where(x => x.Token == Token).FirstOrDefault();
                if (token != null)
                {
                    token.User = user;
                }
                _context.SaveChanges();
                string   Address      = !string.IsNullOrEmpty(user.Address) ? user.Address : "";
                string   Age          = !string.IsNullOrEmpty(user.Age) ? user.Age : "";
                string   City         = !string.IsNullOrEmpty(user.City) ? user.City : "";
                string   Country      = !string.IsNullOrEmpty(user.Country) ? user.Country : "";
                DateTime CreationDate = user.CreationDate;
                Gender   VGender      = user.Gender;
                string   Id           = user.Id;
                string   Image        = user.Image;
                string   PhoneNumber  = !string.IsNullOrEmpty(user.PhoneNumber) ? user.PhoneNumber : "";
                UserType UserType     = user.UserType;
                var      events       = _context.Events.Where(x => x.UserId == user.Id).FirstOrDefault();
                if (events != null)
                {
                    if (!string.IsNullOrEmpty(events.Image))
                    {
                        events.Image = "http://" + Request.Host + "/Media/" + events.Image;
                    }
                }
                else
                {
                    events = new Events {
                    }
                };
                ApiUsersViewModel api = new ApiUsersViewModel {
                    Address = Address, Age = Age, City = City, Country = Country, CreationDate = CreationDate, Email = Email, FirstName = FirstName, Gender = VGender, Id = Id, Image = Image, LastName = LastName, PhoneNumber = PhoneNumber, UserName = Username, UserType = user.UserType, Events = events
                };
                return(Ok(api));
            }
        }