Example #1
0
        private async Task <IActionResult> UserPutAsync(string userId, GuestUser guestUser)
        {
            if (guestUser.Email != userId)
            {
                throw new GuestUserNotValidError();
            }

            try
            {
                await _guests.GetById(userId);

                await _guests.Edit(guestUser.Email, guestUser);

                return(new JsonResult(guestUser));
            }
            catch (UserNotFoundError)
            {
                await _guests.Add(guestUser.Email, guestUser);

                return(new JsonResult(guestUser)
                {
                    StatusCode = 201
                });
            }
        }
        public async Task <GuestUser> createGuest()
        {
            string rv = await generateRandomUname();

            var ex = await _gU.Find(x => x.UserName == rv).ToListAsync();

            if (ex.Count != 0)
            {
                while (ex.Count != 0)
                {
                    rv = await generateRandomUname();

                    ex = await _gU.Find(x => x.UserName == rv).ToListAsync();
                }
            }

            GuestUser newguest = new GuestUser()
            {
                UserName = rv,
            };

            newguest.Roles.Add("guest");
            await _gU.InsertOneAsync(newguest);

            return(newguest);
        }
Example #3
0
        // Reset code from guestuser
        public Task ResetLoginCode(GuestUser guest)
        {
            var newCode = "";

            // newCode = GenerateNewGuestLoginCode();
            guest.LoginCode = newCode;
            throw new NotImplementedException();
        }
 public string CheckGuestUser(GuestUser user)
 {
     if (db.Users.Any(u => u.Email == user.Email))
     {
         return("Exists");
     }
     else
     {
         return("Not");
     }
 }
Example #5
0
 public static void UpdateUser(this Order order, GuestUser user)
 {
     order.Email     = user.Email;
     order.FirstName = user.FirstName;
     order.LastName  = user.LastName;
     order.Address   = user.Address;
     order.City      = user.City;
     order.State     = user.State;
     order.Zip       = user.PostalCode;
     order.Phone     = user.PhoneNumber;
 }
Example #6
0
        public GuestUser Add(GuestUser guestUser)
        {
            if (Get(guestUser.Id) == null)
            {
                List <GuestUser> guestUsers = GetAll();
                guestUsers.Add(guestUser);
                WriteAll(guestUsers);

                return(guestUser);
            }
            return(null);
        }
        public async Task <ActionResult> WarningDisplay([Bind(Include = "GuestUserId, GuestUserEmail, GuestUserFirstName, GuestUserLastName, GuestUserCity, State, GuestUserZipCode")] GuestUser guestUser)
        {
            if (ModelState.IsValid)
            {
                db.GuestUsers.Add(guestUser);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(guestUser));
        }
 /// <summary>
 /// Get users from the specified OU ready to add to the list box.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="doWorkEventArgs"></param>
 private void FetchUsersWorkerOnDoWork(object sender, DoWorkEventArgs doWorkEventArgs)
 {
     try
     {
         users =
             GuestUser.LoadGuestUsers(Properties.Settings.Default["LDAPSearchBase"].ToString());
     }
     catch (Exception e)
     {
         Logger.Warn($"Failed to load guest users from {Properties.Settings.Default["LDAPSearchBase"]} -- {e}");
     }
 }
Example #9
0
        public GuestUser Remove(int id)
        {
            List <GuestUser> guestUsers = GetAll();

            GuestUser guestUserToRemove = guestUsers.SingleOrDefault(r => r.Id == id);

            if (guestUserToRemove != null)
            {
                guestUsers.Remove(guestUserToRemove);
                WriteAll(guestUsers);
            }

            return(guestUserToRemove);
        }
Example #10
0
 protected void Application_BeginRequest(object sender, EventArgs e)
 {
     //Set a auth cookie and redirect if the login is successful
     if (Request.Path.Contains("login"))
     {
         var username = Request.Form["username"];
         if (!string.IsNullOrEmpty(username))
         {
             var user = new GuestUser(username);
             user.TryLogOn();
             FormsAuthentication.SetAuthCookie(username, false);
             Response.Redirect("multy-game.html");
         }
     }
 }
        private int AddBooking(BookingDetails bookingDetails, List <BookingTransactions> transactions, List <BookingPassengers> passengers, GuestUser guestUser = null)
        {
            GuestUser guest   = new GuestUser();
            Booking   booking = ConvertToBooking(bookingDetails);

            if (bookingDetails.UserRegistered != 1)
            {
                if (db.GuestUsers.Any(gu => gu.Email == guestUser.Email && gu.Contact == guestUser.Contact))
                {
                    guest = db.GuestUsers.Where(gu => gu.Email == guestUser.Email && gu.Contact == guestUser.Contact).First();
                }
                else
                {
                    guest = guestUser;
                    db.GuestUsers.Add(guest);
                    db.SaveChanges();
                }
                booking.GuestId = guest.Id;
            }

            db.Bookings.Add(booking);
            db.SaveChanges();

            foreach (BookingPassengers bookingPassenger in passengers)
            {
                PassengerDetail passenger = ConvertPassenger(bookingPassenger);
                passenger.BookingID = booking.BookingID;
                db.PassengerDetails.Add(passenger);
                db.SaveChanges();
            }

            foreach (BookingTransactions bookingTransaction in transactions)
            {
                Transaction transaction = ConvertToTransaction(bookingTransaction);
                transaction.BookingID = booking.BookingID;
                db.Transactions.Add(transaction);


                if (transaction.Mode == "Wallet")
                {
                    User user = db.Users.Where(u => u.Id == booking.UserId).First();
                    user.Wallet         -= (int)transaction.amount;
                    db.Entry(user).State = System.Data.Entity.EntityState.Modified;
                }
                db.SaveChanges();
            }
            return(booking.BookingID);
        }
Example #12
0
        public GuestUser Update(GuestUser guestUser)
        {
            List <GuestUser> guestUsers = GetAll();

            for (int i = 0; i < guestUsers.Count; i++)
            {
                if (guestUsers[i].Id == guestUser.Id)
                {
                    guestUsers[i] = guestUser;
                    break;
                }
            }

            WriteAll(guestUsers);

            return(guestUser);
        }
Example #13
0
        public CheckoutRequest(GuestUser user, CartViewModel cart)
        {
            Cart = cart;
            if (user == null)
            {
                return;
            }

            FirstName  = user.FirstName;
            LastName   = user.LastName;
            Email      = user.Email;
            Phone      = user.PhoneNumber;
            Address    = user.Address;
            City       = user.City;
            State      = user.State;
            PostalCode = user.PostalCode;
        }
Example #14
0
        public virtual void TestInit()
        {
            DesignTimeHelper.Reset();
            mockMessageService = GetMockMessageService();
            messageService     = mockMessageService.Object;
            viewLocator        = new ViewLocator();
            mockRoomService    = GetMockRoomService();
            roomService        = mockRoomService.Object;
            viewModelFactory   = new ViewModelFactory(roomService, messageService, viewLocator);

            user      = DesignTimeHelper.GetRegisteredUser();
            room      = DesignTimeHelper.GetRoom();
            guestUser = DesignTimeHelper.GetGuestUser();

            // Wait to kick off any of the actual tests until the basic test initialization has completed.
            EnqueueConditional(() => TestGlobals.Initialized);
            EnqueueTestComplete();
        }
Example #15
0
        public IUser GetUserObject(UserIdentifier userIdentifier)
        {
            if (userIdentifier.IsGuest)
            {
                var res = new GuestUser(userIdentifier.Guid, _unirOfWork, _shopDomain);
                if (!DomainData.GuestsCollection.ContainsKey(res.Guid))
                {
                    DomainData.GuestsCollection.Add(res.Guid, res.Guid);
                }
                return(res);
            }
            var baseUser = _unirOfWork.BaseUserRepository.FindByIdOrNull(userIdentifier.Guid);

            if (baseUser.IsAdmin)
            {
                return(new AdminUser(baseUser, _unirOfWork, _shopDomain));
            }
            return(new RegisteredUser(baseUser, _unirOfWork, _shopDomain));
        }
        /// <summary>
        /// When the user changes the selected item in the list box.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void chooseAccountBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (users == null)
            {
                Logger.Info("No users to select -- users is null");
                return;
            }

            if (!users.Any())
            {
                Logger.Info("No users to select");
                return;
            }

            // match user
            try
            {
                user = users.Single((theUser =>
                                     (theUser.ADUser.SamAccountName == (sender as ComboBox).SelectedItem.ToString())));
                disableButton.Enabled    = true;
                generatePassword.Enabled = true;
                UpdateStatusLabel();
            }

            catch (Exception ex)
            {
                Logger.Warn($"Failed to match the user selected to a GuestUser object -- {ex}");
            }


            passwordRevealBox.Text = "";
            adUsername.Text        = user.ADUser.SamAccountName;

            revealButton.Enabled = false;
            printButton.Enabled  = false;

            passwordRevealBox.Enabled  = true;
            passwordRevealBox.ReadOnly = true;


            adUsername.Enabled  = true;
            adUsername.ReadOnly = true;
        }
        public List <int> CreateNewBooking(CompleteBookingDetails cBD)
        {
            List <BookingDetails>      bookingDetails      = cBD.Bookings;
            List <BookingTransactions> bookingTransactions = cBD.Transactions;
            List <BookingPassengers>   bookingPassengers   = cBD.Passengers;
            GuestUser  guestUser = cBD.GuestUser;
            List <int> Ids       = new List <int>();

            Boolean IsReturn = cBD.Bookings.Count > 1 ? true : false;

            Booking onwardBooking = ConvertToBooking(cBD.Bookings.First());
            List <BookingTransactions> onwardTransactions = cBD.Transactions.Where(t => t.BookingDirection == "onward").ToList();

            if (cBD.Bookings[0].UserRegistered == 1)
            {
                Ids.Add(AddBooking(cBD.Bookings[0], onwardTransactions, cBD.Passengers.ToList()));
            }
            else
            {
                Ids.Add(AddBooking(cBD.Bookings[0], onwardTransactions, cBD.Passengers.ToList(), cBD.GuestUser));
            }



            if (IsReturn)
            {
                List <BookingTransactions> returnTransactions = cBD.Transactions.Where(t => t.BookingDirection == "return").ToList();

                if (cBD.Bookings[1].UserRegistered == 1)
                {
                    Ids.Add(AddBooking(cBD.Bookings[1], returnTransactions, cBD.Passengers));
                }
                else
                {
                    Ids.Add(AddBooking(cBD.Bookings[1], returnTransactions, cBD.Passengers, guestUser));
                }
            }



            return(Ids);
        }
        public string AddUser(User user)
        {
            if (db.Users.Any(u => u.Email.ToLower() == user.Email.ToLower()))
            {
                return("Exists");
            }
            else
            {
                if (user.FirstName != "" && user.FirstName != null &&
                    user.LastName != "" && user.LastName != null &&
                    user.Email != "" && user.Email != null &&
                    user.Contact != "" && user.Contact != null && user.Contact.Length == 10 &&
                    user.Password != "" && user.Password != null)
                {
                    db.Users.Add(user);
                    db.SaveChanges();
                    if (db.GuestUsers.Any(gu => gu.Email.ToLower() == user.Email.ToLower() && gu.Contact == user.Contact))
                    {
                        GuestUser guestUser = db.GuestUsers.Where(gu => gu.Email.ToLower() == user.Email.ToLower() && gu.Contact == user.Contact).First();
                        if (db.Bookings.Any(b => b.GuestId == guestUser.Id))
                        {
                            foreach (Booking booking in db.Bookings.Where(b => b.GuestId == guestUser.Id))
                            {
                                booking.UserRegistered  = 1;
                                booking.UserId          = user.Id;
                                booking.GuestId         = null;
                                db.Entry(booking).State = System.Data.Entity.EntityState.Modified;
                            }
                        }
                        db.Entry(guestUser).State = System.Data.Entity.EntityState.Deleted;
                        db.SaveChanges();
                    }

                    return("Added");
                }
                else
                {
                    return("Invalid");
                }
            }
        }
Example #19
0
        public async Task <(AnyCompleteUser, int)> UserPutAsync(string userId, GuestUser payload)
        {
            if (payload.Email != userId)
            {
                throw new GuestUserNotValidError();
            }
            try
            {
                await _guests.GetById(userId);

                await _guests.Edit(payload.Email, payload);

                return(payload, 200);
            }
            catch (UserNotFoundError)
            {
                await _guests.Add(payload.Email, payload);

                return(payload, 201);
            }
        }
Example #20
0
        public void CreateGuestUserTest()
        {
            // Arrange
            var controller = new TracerController();

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            var gusr = new GuestUser();

            gusr.lstNewUserEmails = "*****@*****.**";
            gusr.siteID           = 4;
            gusr.updateByID       = 50331;


            // Act
            var response = controller.CreateGuestUserByEmailIds(gusr);

            // Assert

            Assert.IsTrue(response.StatusCode == HttpStatusCode.OK);
        }
Example #21
0
        private async Task <HttpResponseMessage> UserPutAsync(string userId, GuestUser guestUser)
        {
            if (guestUser.Email != userId)
            {
                throw new GuestUserNotValidError();
            }

            try
            {
                await _guests.GetById(userId);

                await _guests.Edit(guestUser.Email, guestUser);

                return(JsonResult(guestUser));
            }
            catch (UserNotFoundError)
            {
                await _guests.Add(guestUser.Email, guestUser);

                return(JsonResult(guestUser, HttpStatusCode.Created));
            }
        }
        /// <summary>
        /// Generate and set the password across AD and SQL. Runs in BackgroundWorker
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void GenerateAndSetPassword(object sender, DoWorkEventArgs e)
        {
            generatePasswordWorker.DoWork -= GenerateAndSetPassword;

            if (user == null)
            {
                NotifyUserIsNull();
                passwordSetSucceeded = false;
                return;
            }

            try
            {
                int passwordLength = Int32.Parse(Properties.Settings.Default["PasswordLength"].ToString());
                newPassword = GuestUser.GenerateRandomPassword(passwordLength);
            }
            catch (Exception ex)
            {
                Invoke(new ShowExceptionDialogWithDetails(ShowExceptionDialog), "Unable to generate the password.", ex);
                passwordSetSucceeded = false;
                return;
            }

            try
            {
                user.SetPassword(newPassword);
            }
            catch (Exception ex)
            {
                Invoke(new ShowExceptionDialogWithDetails(ShowExceptionDialog),
                       $"There was a problem setting the user's password. Check that your user account has been delegated permission to change the user's password.",
                       ex);
                passwordSetSucceeded = false;
                return;
            }

            passwordSetSucceeded = true;
        }
 public async Task Create(GuestUser user)
 {
     var entity = _mapper.Map <Entity.GuestUser>(user);
     await _guestUserRepository.Create(entity);
 }
Example #24
0
 public Task CreateGuestUser(GuestUser model) => _guestUserService.Create(model);
Example #25
0
        public IActionResult AddOrderGuest([FromBody] OrderGuestUserViewModel model)
        {
            if (ModelState.IsValid)
            {
                GuestUser guestUser = new GuestUser
                {
                    UserGuid    = Guid.NewGuid(),
                    Email       = model.Email,
                    FirstName   = model.FirstName,
                    LastName    = model.LastName,
                    PhoneNumber = model.PhoneNumber
                };

                ShippingAddress userAddress = new ShippingAddress
                {
                    PostalCode     = model.PostalCode,
                    StreetNumber   = model.StreetNumber,
                    StreetName     = model.StreetName,
                    CityName       = model.CityName,
                    Country        = model.Country,
                    AssociatedUser = guestUser.UserGuid
                };

                guestUser.ShippingAddress = userAddress;

                decimal             totalPriceOrder = CalculateOrderPrice(model.Products);
                List <ProductOrder> productOrders   = GetOrderProducts(model.Products);

                decimal finalPrice = totalPriceOrder;
                decimal discount   = 0;

                if (model.Coupon != null)
                {
                    var discountValidation = ValidateCouponCode(model.Coupon, totalPriceOrder);
                    if (discountValidation != null)
                    {
                        model.Coupon = discountValidation.Item1;
                        discount     = discountValidation.Item2;
                        finalPrice   = discountValidation.Item3;
                    }
                }

                Order newOrder = new Order
                {
                    Guid                    = Guid.NewGuid(),
                    Paid                    = false,
                    Shipped                 = false,
                    OrderCreated            = DateTime.Now,
                    TotalPrice              = totalPriceOrder,
                    Discount                = discount,
                    FinalPrice              = finalPrice,
                    CouponCode              = model.Coupon,
                    OrderedProducts         = productOrders,
                    AssociatedUserGuid      = guestUser.UserGuid,
                    OrderedFromGuestAccount = true,
                    EmailConfirmationSent   = false
                };

                OrderRepository.AddOrder(newOrder, guestUser);
                return(Ok(newOrder.Guid));
            }

            return(BadRequest());
        }
Example #26
0
 public async Task CreateGuestUser(GuestUser model) => await _guestUsers.Create(model);
Example #27
0
        private async Task <AuthenticationResult> GenerateAuthenticationResultForGuestAsync(GuestUser user)
        {
            var tokenHandler = new JwtSecurityTokenHandler();
            var key          = Encoding.ASCII.GetBytes(_jwtSettings.Secret);
            var userR        = _gU.Find <GuestUser>(x => x.UserName == user.UserName).FirstOrDefault();
            var userrole     = userR.Roles;

            var claimlist = new List <Claim> {
                new Claim(JwtRegisteredClaimNames.Sub, user.UserName),
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
                new Claim("id", userR.Id),
                new Claim("name", userR.UserName),
                new Claim("role", userrole.FirstOrDefault())
            };

            var claims = new List <IdentityUserClaim>();

            for (int i = 0; i < claimlist.Count; i++)
            {
                claims.Add(new IdentityUserClaim(claimlist[i]));
            }



            foreach (var userRole in userrole)
            {
                Claim claim = new Claim(ClaimTypes.Role, userRole);
                claims.Add(new IdentityUserClaim(claim));
            }



            var filter = Builders <GuestUser> .Filter.Eq("Id", userR.Id);

            var userClaims    = _gU.Find <GuestUser>(filter).FirstOrDefault();
            var CurrentClaims = userClaims.Claims;

            CurrentClaims.AddRange(claims);

            var update = Builders <GuestUser> .Update.Set("Claims", CurrentClaims);

            await _gU.UpdateOneAsync(filter, update);


            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new ClaimsIdentity(claimlist),
                Expires            = DateTime.Now.Add(_jwtSettings.TokenLifetime),
                SigningCredentials =
                    new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };
            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(new AuthenticationResult
            {
                Username = user.UserName,
                Success = true,
                Token = tokenHandler.WriteToken(token),
                RefreshToken = "",
            });
        }
Example #28
0
        public async Task <AuthenticationResult> AuthenticateGuest(GuestUser ar)
        {
            AuthenticationResult response = new AuthenticationResult();

            return(await GenerateAuthenticationResultForGuestAsync(ar));
        }
Example #29
0
 public GuestUser Add(GuestUser guestUser)
 {
     return(_guestUserRepository.Add(guestUser));
 }
 public List <int> GetGuestBookings(GuestUser user)
 {
     return(db.Bookings.Where(b => b.GuestUser.Email == user.Email && b.GuestUser.Contact == user.Contact).Select(bd => bd.BookingID).ToList());
 }
        /// <summary>
        /// Load the users from the OU
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void LoadUsersDoWork(object sender, DoWorkEventArgs e)
        {
            IEnumerable <GuestUser> users = GuestUser.LoadGuestUsers(adPicker.ADsPath);

            foundUsersLabel.Invoke((MethodInvoker)(() => foundUsersLabel.Text = $"Found {users.Count()} users in {adPicker.ADsPath}"));
        }