public AgencyUser SearchAgencyByNameAndPassword(string name, string password)
        {
            log.InfoFormat("SearchAgencyByNameAndPassword with values {0} and {0}", name, password);
            IDbConnection con = DBUtils.getConnection(properties);

            using (var comm = con.CreateCommand())
            {
                comm.CommandText = "select * from agencyUsers where userName=@name and password=@pass";
                IDbDataParameter paramName = comm.CreateParameter();
                paramName.ParameterName = "@name";
                paramName.Value         = name;
                comm.Parameters.Add(paramName);

                IDbDataParameter paramPass = comm.CreateParameter();
                paramPass.ParameterName = "@pass";
                paramPass.Value         = password;
                comm.Parameters.Add(paramPass);

                using (var dataR = comm.ExecuteReader())
                {
                    if (dataR.Read())
                    {
                        int    idV       = dataR.GetInt32(0);
                        String name2     = dataR.GetString(1);
                        String password2 = dataR.GetString(2);

                        AgencyUser agencyUser = new AgencyUser(idV, name2, password2);
                        log.InfoFormat("Exiting findOne with value {0}", agencyUser);
                        return(agencyUser);
                    }
                }
            }
            log.InfoFormat("Exiting SearchAgencyByNameAndPassword with value {0} and {0}", name, password);
            return(null);
        }
        public void Save(AgencyUser entity)
        {
            var con = DBUtils.getConnection(properties);

            using (var comm = con.CreateCommand())
            {
                comm.CommandText = "insert into agencyUsers values (@idT, @name, @pass)";
                var paramId = comm.CreateParameter();
                paramId.ParameterName = "@idT";
                paramId.Value         = entity.Id;
                comm.Parameters.Add(paramId);

                var paramName = comm.CreateParameter();
                paramName.ParameterName = "@name";
                paramName.Value         = entity.UserName;
                comm.Parameters.Add(paramName);

                var paramPass = comm.CreateParameter();
                paramPass.ParameterName = "@pass";
                paramPass.Value         = entity.Password;
                comm.Parameters.Add(paramPass);

                var result = comm.ExecuteNonQuery();
                if (result == 0)
                {
                    throw new Exception("No agencyUser added !");
                }
            }
        }
        public IEnumerable <AgencyUser> FindAll()
        {
            IDbConnection      con         = DBUtils.getConnection(properties);
            IList <AgencyUser> agencyUsers = new List <AgencyUser>();

            using (var comm = con.CreateCommand())
            {
                comm.CommandText = "select * from agencyUsers";

                using (var dataR = comm.ExecuteReader())
                {
                    while (dataR.Read())
                    {
                        int    idV      = dataR.GetInt32(0);
                        String name     = dataR.GetString(1);
                        String password = dataR.GetString(2);

                        AgencyUser agencyUser = new AgencyUser(idV, name, password);
                        agencyUsers.Add(agencyUser);
                    }
                }
            }

            return(agencyUsers);
        }
        public AgencyUser FindOne(int id)
        {
            log.InfoFormat("Entering findOne with value {0}", id);
            IDbConnection con = DBUtils.getConnection(properties);

            using (var comm = con.CreateCommand())
            {
                comm.CommandText = "select * from agencyUsers where id=@id";
                IDbDataParameter paramId = comm.CreateParameter();
                paramId.ParameterName = "@id";
                paramId.Value         = id;
                comm.Parameters.Add(paramId);

                using (var dataR = comm.ExecuteReader())
                {
                    if (dataR.Read())
                    {
                        int    idV      = dataR.GetInt32(0);
                        String name     = dataR.GetString(1);
                        String password = dataR.GetString(2);

                        AgencyUser agencyUser = new AgencyUser(idV, name, password);
                        log.InfoFormat("Exiting findOne with value {0}", agencyUser);
                        return(agencyUser);
                    }
                }
            }
            log.InfoFormat("Exiting findOne with value {0}", null);
            return(null);
        }
示例#5
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            AgencyUser agencyuser = await db.AgenciesUsers.FindAsync(id);

            db.AgenciesUsers.Remove(agencyuser);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("~/");
            //ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList();
            if (ModelState.IsValid)
            {
                var worker = new Worker();
                await this._workersService.AddAsync(worker);

                var user = new AgencyUser {
                    UserName = Input.Email, Email = Input.Email, WorkerId = worker.Id
                };

                var result = await _userManager.CreateAsync(user, Input.Password);

                if (result.Succeeded)
                {
                    _logger.LogInformation("User created a new account with password.");

                    #region EmailConfirmation

                    // var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
                    // code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code));
                    //var callbackUrl = Url.Page(
                    //    "/Account/ConfirmEmail",
                    //    pageHandler: null,
                    //    values: new { area = "Identity", userId = user.Id, code = code, returnUrl = returnUrl },
                    //    protocol: Request.Scheme);

                    //await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
                    //    $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");

                    //if (_userManager.Options.SignIn.RequireConfirmedAccount)
                    //{
                    //    return RedirectToPage("RegisterConfirmation", new { email = Input.Email, returnUrl = returnUrl });
                    //}
                    //else
                    //{
                    //    await _signInManager.SignInAsync(user, isPersistent: false);
                    //    return LocalRedirect(returnUrl);
                    //}
                    #endregion

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

                    return(LocalRedirect(returnUrl));
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }

            // If we got this far, something failed, redisplay form
            return(Page());
        }
        public void Logout(AgencyUser agencyUser, IObserver observer)
        {
            IObserver localAgencyUser = loggedAgencyUsers[agencyUser.Id];

            if (localAgencyUser == null)
            {
                throw new TouristAttractiontException("Agency User logged out!");
            }
            loggedAgencyUsers.Remove(agencyUser.Id);
        }
示例#8
0
        public async Task <ActionResult> Edit([Bind(Include = "AgencyUserId,AgencyId,Name,Mail,City,Ranking")] AgencyUser agencyuser)
        {
            if (ModelState.IsValid)
            {
                db.Entry(agencyuser).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.AgencyId = new SelectList(db.Agencies, "AgencyId", "Name", agencyuser.AgencyId);
            return(View(agencyuser));
        }
 protected void rptUsers_ItemCommand(object source, RepeaterCommandEventArgs e)
 {
     switch (e.CommandName.ToLower())
     {
     case "delete":
         _agency = Module.AgencyGetById(Convert.ToInt32(Request.QueryString["AgencyId"]));
         AgencyUser data = Module.AgencyUserGet(_agency, Module.UserGetById(Convert.ToInt32(e.CommandArgument)));
         Module.Delete(data);
         rptUsers.DataSource = _agency.Users;
         rptUsers.DataBind();
         break;
     }
 }
示例#10
0
 private void UpdateEntityTimestamps(AgencyUser entity)
 {
     // determine whether this is a "new" entity being saved for the first time
     if (entity.CreatedDateTime == DateTime.MinValue)
     {
         entity.CreatedDateTime = DateTime.UtcNow;
         entity.UpdatedDateTime = null;
     }
     else
     {
         entity.UpdatedDateTime = DateTime.UtcNow;
     }
 }
示例#11
0
 private void showTripsDialog(AgencyUser agencyUser)
 {
     try
     {
         tripsForm.SetAgencyUser(agencyUser);
         tripsForm.Show();
         tripsForm.updateRows();
         tripsForm.update();
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message, "Error");
     }
 }
示例#12
0
        // GET: /AgencyUser/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AgencyUser agencyuser = await db.AgenciesUsers.FindAsync(id);

            if (agencyuser == null)
            {
                return(HttpNotFound());
            }
            return(View(agencyuser));
        }
示例#13
0
        // GET: /AgencyUser/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AgencyUser agencyuser = await db.AgenciesUsers.FindAsync(id);

            if (agencyuser == null)
            {
                return(HttpNotFound());
            }
            ViewBag.AgencyId = new SelectList(db.Agencies, "AgencyId", "Name", agencyuser.AgencyId);
            return(View(agencyuser));
        }
        //public void Delete(int agencyUserId)
        //{
        //    _logger.Debug("Calling repository to delete agency user with Id={0}", agencyUserId);

        //    Collection.Remove(Query<MongoAgencyUser>.EQ(o => o.AgencyUserId, agencyUserId));

        //    _logger.Debug("Deleted agency user with Id={0}", agencyUserId);
        //}

        public AgencyUser Save(AgencyUser entity)
        {
            _logger.Debug("Called Mongodb to save agency user with username={0}", entity.Username);

            SetCreatedDateTime(entity);
            SetUpdatedDateTime(entity);

            var mongoEntity = _mapper.Map <AgencyUser, MongoAgencyUser>(entity);

            Collection.Save(mongoEntity);

            _logger.Debug("Saved agency user to Mongodb with username={0}", entity.Username);

            return(_mapper.Map <MongoAgencyUser, AgencyUser>(mongoEntity));
        }
示例#15
0
        private static AgencyUserViewModel GetAgencyUserViewModel(AgencyUser agencyUser, IEnumerable <Role> roles)
        {
            if (agencyUser.Role == null)
            {
                agencyUser.Role = roles.First(r => r.IsDefault);
            }

            return(new AgencyUserViewModel
            {
                Roles = GetRolesSelectList(roles, agencyUser.Role.Id),
                RoleId = agencyUser.Role.Id,
                RegionalTeams = GetRegionalTeamsSelectList(agencyUser.RegionalTeam),
                RegionalTeam = agencyUser.RegionalTeam
            });
        }
示例#16
0
        public static async Task <IdentityResult> CreateUser(AgencyUser user, string password)
        {
            var userManager = new UserManager <AgencyUser>(
                new UserStore <AgencyUser>(new AgencyUserIdentityDbContext()));

            //Allows for use of email address as username:
            userManager.UserValidator = new UserValidator <AgencyUser>(userManager)
            {
                AllowOnlyAlphanumericUserNames = false
            };


            var idResult = await userManager.CreateAsync(user, password);

            return(idResult);
        }
        public void Login(AgencyUser agencyUser, IObserver observer)
        {
            AgencyUser newAgencyUser = AgencyUserRepository.SearchAgencyByNameAndPassword(agencyUser.UserName, agencyUser.Password);

            if (newAgencyUser != null)
            {
                if (loggedAgencyUsers.ContainsKey(newAgencyUser.Id))
                {
                    throw new TouristAttractiontException("Agency User already logged in!");
                }
                loggedAgencyUsers[newAgencyUser.Id] = observer;
            }
            else
            {
                throw new TouristAttractiontException("Autthetication failed!");
            }
        }
        public void Logout(AgencyUser agencyUser, IObserver observer)
        {
            sendRequest(new LogoutRequest(agencyUser));
            Response response = readResponse();

            closeConnection();
            if (response is ErrorResponse)
            {
                ErrorResponse err = (ErrorResponse)response;
                throw new TouristAttractiontException(err.Message);
            }
            if (response is OkResponse)
            {
                this.client = observer;
                return;
            }
        }
示例#19
0
        public AgencyUserViewModel GetOrCreateAgencyUser(string username)
        {
            var agencyUser = _userProfileService.GetAgencyUser(username);
            var roles      = _userProfileService.GetRoles().ToList();

            if (agencyUser == null)
            {
                agencyUser = new AgencyUser
                {
                    Username     = username,
                    Role         = roles.Single(r => r.IsDefault),
                    RegionalTeam = RegionalTeam.North
                };
                agencyUser = _userProfileService.SaveUser(agencyUser);
            }

            return(GetAgencyUserViewModel(agencyUser, roles));
        }
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            if (Request.QueryString["AgencyId"] != null)
            {
                _agency = Module.AgencyGetById(Convert.ToInt32(Request.QueryString["AgencyId"]));
            }
            UserSelector selector = userSelector as UserSelector;

            if (selector == null)
            {
                throw new Exception("Selector error");
            }
            if (selector.SelectedUserId > 0)
            {
                AgencyUser data = Module.AgencyUserGet(_agency, Module.UserGetById(selector.SelectedUserId));
                rptUsers.DataSource = _agency.Users;
                rptUsers.DataBind();
            }
        }
示例#21
0
        public AgencyUser Save(AgencyUser entity)
        {
            _logger.Debug("Called SQL DB to save AgencyUser with AgencyUserId={0}", entity.AgencyUserId);

            UpdateEntityTimestamps(entity);

            var dbEntity = _mapper.Map <AgencyUser, Entities.AgencyUser>(entity);

            if (dbEntity.AgencyUserGuid == Guid.Empty)
            {
                dbEntity.AgencyUserGuid = Guid.NewGuid();
            }

            // TODO: SQL: AG: consider generalising (and testing) SqlException handling below.

            try
            {
                var result = (int)_getOpenConnection.Insert(dbEntity);
                dbEntity.AgencyUserId = result;
            }
            catch (SqlException e)
                when(e.Number == 2601)
                {
                    if (!_getOpenConnection.UpdateSingle(dbEntity))
                    {
                        throw new Exception("Failed to update record after failed insert", e);
                    }
                }

            _logger.Debug("Saved AgencyUser with AgencyUserId={0}", entity.AgencyUserId);

            var endResult = _mapper.Map <Entities.AgencyUser, AgencyUser>(dbEntity);

            endResult.Role         = entity.Role;
            endResult.RegionalTeam = entity.RegionalTeam;

            return(endResult);
        }
 public LogoutRequest(AgencyUser agencyUser)
 {
     this.agencyUser = agencyUser;
 }
示例#23
0
 public FindAgencyUserResponse(AgencyUser agencyUser)
 {
     this.agencyUser = agencyUser;
 }
示例#24
0
        private object handleRequest(Request request)
        {
            Response response = null;

            if (request is LoginRequest)
            {
                Console.WriteLine("Login request ...");
                LoginRequest logReq     = (LoginRequest)request;
                AgencyUser   agencyUser = logReq.AgencyUser;
                try
                {
                    lock (server)
                    {
                        server.Login(agencyUser, this);
                    }
                    return(new OkResponse());
                }
                catch (TouristAttractiontException e)
                {
                    connected = false;
                    return(new ErrorResponse(e.Message));
                }
            }


            if (request is LogoutRequest)
            {
                Console.WriteLine("Logout request ...");
                LogoutRequest logReq     = (LogoutRequest)request;
                AgencyUser    agencyUser = logReq.AgencyUser;
                try
                {
                    lock (server)
                    {
                        server.Logout(agencyUser, this);
                    }
                    return(new OkResponse());
                }
                catch (TouristAttractiontException e)
                {
                    connected = false;
                    return(new ErrorResponse(e.Message));
                }
            }

            if (request is GetTripsRequest)
            {
                Console.WriteLine("Get Trips request");
                GetTripsRequest    getReq = (GetTripsRequest)request;
                IEnumerable <Trip> trips;
                try
                {
                    lock (server)
                    {
                        trips = server.FindAllTrips();
                    }
                    return(new GetTripsResponse(trips));
                }
                catch (TouristAttractiontException e)
                {
                    connected = false;
                    return(new ErrorResponse(e.Message));
                }
            }

            if (request is GetSearchedTripsRequest)
            {
                Console.WriteLine("Find searched trips request");
                GetSearchedTripsRequest getReq = (GetSearchedTripsRequest)request;
                TripDTO     tripDTO            = getReq.TripDTO;
                List <Trip> trips;

                try
                {
                    lock (server)
                    {
                        trips = (List <Trip>)server.SearchTripByTouristAttractionAndLeavingHour(tripDTO.TouristAttraction, tripDTO.Hour1, tripDTO.Hour2);
                    }
                    return(new GetSearchedTripsResponse(trips));
                }
                catch (TouristAttractiontException e)
                {
                    connected = false;
                    return(new ErrorResponse(e.Message));
                }
            }

            if (request is FindAgencyUserRequest)
            {
                Console.WriteLine("Finding agency user");
                FindAgencyUserRequest findReq       = (FindAgencyUserRequest)request;
                AgencyUserDTO         agencyUserDTO = findReq.AgencyUser;
                AgencyUser            agencyUser;
                try
                {
                    lock (server)
                    {
                        agencyUser = server.SearchAgencyUserByUserNameAndPassword(agencyUserDTO.userName, agencyUserDTO.password);
                    }
                    return(new FindAgencyUserResponse(agencyUser));
                }
                catch (TouristAttractiontException e)
                {
                    connected = false;
                    return(new ErrorResponse(e.Message));
                }
            }


            if (request is AddReservationRequest)
            {
                Console.WriteLine("Add Reservation Request");
                AddReservationRequest findReq     = (AddReservationRequest)request;
                Reservation           reservation = findReq.Reservation;
                try
                {
                    lock (server)
                    {
                        server.AddReservation(reservation);
                    }
                    return(new OkResponse());
                }
                catch (TouristAttractiontException e)
                {
                    connected = false;
                    return(new ErrorResponse(e.Message));
                }
            }

            if (request is UpdateTripRequest)
            {
                Console.WriteLine("Update Trip Request");
                UpdateTripRequest findReq = (UpdateTripRequest)request;
                Trip trip = findReq.Trip;
                try
                {
                    lock (server)
                    {
                        server.UpdateTrip(trip);
                    }
                    return(new OkResponse());
                }
                catch (TouristAttractiontException e)
                {
                    connected = false;
                    return(new ErrorResponse(e.Message));
                }
            }


            if (request is GetReservsationSizeRequest)
            {
                Console.WriteLine("Reservation Size Request");
                GetReservsationSizeRequest findReq = (GetReservsationSizeRequest)request;
                int size = 0;
                try
                {
                    lock (server)
                    {
                        size = server.GetReservationsSize();
                    }
                    return(new GetReservationSizeRespons(size));
                }
                catch (TouristAttractiontException e)
                {
                    connected = false;
                    return(new ErrorResponse(e.Message));
                }
            }

            return(response);
        }
示例#25
0
        public TouristAttractions.model.AgencyUser SearchAgencyUserByUserNameAndPassword(string userName, string password)
        {
            AgencyUser agencyUser = server.SearchAgencyUserByUserNameAndPassword(userName, password);

            return(new TouristAttractions.model.AgencyUser(agencyUser.Id, agencyUser.UserName, agencyUser.Password));
        }
 public AgencyUser SaveUser(AgencyUser agencyUser)
 {
     return(_agencyUserWriteRepository.Save(agencyUser));
 }
 internal void SetAgencyUser(AgencyUser AgencyUser)
 {
     this.AgencyUser    = AgencyUser;
     userFillLabel.Text = AgencyUser.UserName;
 }