Esempio n. 1
0
 public WorkerLogedInViewModel(HotelUser worker, WorkerLogedInView workerLogedInViewOpen)
 {
     this.worker       = worker;
     workerLogedInView = workerLogedInViewOpen;
     HotelUser         = service.GetWorkerDetailsById(worker.HotelUserId);
     RequestList       = new ObservableCollection <vwRequest>(service.RequestListByWorker(worker.HotelUserId));
 }
Esempio n. 2
0
        public async Task <IActionResult> Registration(RegisterViewModel registerModel)
        {
            //Если нет ошибок при регистрации нового пользователя
            if (ModelState.IsValid)
            {
                HotelUser newHotelUser = new HotelUser()
                {
                    UserName = registerModel.Name,
                    SurName  = registerModel.SurName,
                    Name     = registerModel.Name
                };
                //Добавляем нового псетителя отеля в бд
                var result = await _userManager.CreateAsync(newHotelUser, registerModel.Password);

                //Если пользователь успешно добален
                if (result.Succeeded)
                {
                    var result2 = await _userManager.AddToRoleAsync(newHotelUser, "user");

                    //устанавливаем аутентифицированные куки к пользователю и перенаправляем на главную страницу
                    await _signInManager.SignInAsync(newHotelUser, false);

                    return(RedirectToAction("Main", "Admin"));
                }
                else
                {
                    for (int i = 0; i < result.Errors.Count(); i++)
                    {
                        //Если есть ошибки то передаем их в модель состояния
                        ModelState.AddModelError(string.Empty, result.Errors.ElementAt(i).Description);
                    }
                }
            }
            return(View(registerModel));
        }
Esempio n. 3
0
 public ManagerLogedInViewModel(HotelUser manager, ManagerLogedInView managerLogedInViewOpen)
 {
     this.manager       = manager;
     managerLogedInView = managerLogedInViewOpen;
     ManagerFloor       = service.GetManagerFlorByUserId(manager.HotelUserId);
     WorkerList         = new ObservableCollection <vwWorker>(service.GetAllWorkersByFloor(ManagerFloor));
 }
Esempio n. 4
0
        public HotelDataObject GetHotelByName(string userName)
        {
            HotelUser hotelUser = hotelUserRepository.GetUserByName(userName);
            Hotel     hotel     = hotelRepository.GetByKey(hotelUser.HotelId);

            return(AutoMapper.Mapper.Map <Hotel, HotelDataObject>(hotel));
        }
Esempio n. 5
0
        public HotelDataObject GetHotelById(Guid UserId)
        {
            HotelUser hotelUser = hotelUserRepository.GetByKey(UserId);
            Hotel     hotel     = hotelRepository.GetByKey(hotelUser.HotelId);

            return(AutoMapper.Mapper.Map <Hotel, HotelDataObject>(hotel));
        }
Esempio n. 6
0
        public async Task <IActionResult> Login(LoginViewModel loginModel)
        {
            if (ModelState.IsValid)
            {
                //Аутентифицируем пользоватеря по логину и паролю
                var result = await _signInManager.PasswordSignInAsync(loginModel.UserName, loginModel.Password, loginModel.Remember, false);

                if (result.Succeeded)
                {
                    //Определяем роль и перенапраляем на соответстсвующую страницу
                    HotelUser user = _dbContext.Users.FirstOrDefault(x => x.UserName == loginModel.UserName);
                    if (await _userManager.IsInRoleAsync(user, "sysadmin"))
                    {
                        return(RedirectToAction("Index", "SysAdmin"));
                    }
                    else if (await _userManager.IsInRoleAsync(user, "user"))
                    {
                        return(RedirectToAction("Main", "Admin"));
                    }
                    else
                    {
                        return(RedirectToAction("MainReception", "Reception"));
                    }
                }
                else
                {
                    return(RedirectToAction("Index", "Home"));
                }
            }
            else
            {
                ModelState.AddModelError("", "Incorrect username or password");
            }
            return(View(loginModel));
        }
Esempio n. 7
0
        /// <summary>
        /// 更新用户信息
        /// </summary>
        /// <param name="hotelUser"></param>
        public static void ModifyHotelUser(HotelUser hotelUser)
        {
            string sql =
                "UPDATE HotelUser " +
                "SET " +
                "UserName = @UserName, " +
                "Password = @Password " +
                "WHERE UserID = @UserID";


            try
            {
                SqlParameter[] para = new SqlParameter[]
                {
                    new SqlParameter("@UserID", hotelUser.UserID),
                    new SqlParameter("@UserName", hotelUser.UserName),
                    new SqlParameter("@Password", hotelUser.Password)
                };

                DBHelper.ExecuteCommand(sql, para);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                throw e;
            }
        }
 public AddSalaryForOneWorkerViewModel(HotelUser manager, HotelUser user, Worker worker, AddSalaryForOneWorker addSalaryOneWorkerOpen)
 {
     this.manager       = manager;
     this.worker        = worker;
     this.user          = user;
     addSalaryOneWorker = addSalaryOneWorkerOpen;
 }
Esempio n. 9
0
 public int ValidateUserOnLogin(HotelUser user)
 {
     try
     {
         var companies       = GetCurrentUsersCompaniesUserAsync(user.Id).GetAwaiter().GetResult();
         var current_company = companies.FirstOrDefault(c => c.HotelId == user.HotelId);
         if (current_company == null)
         {
             _logger.LogWarning($"Attempt to login user {user.Id} to detached company {user.HotelId}");
             var defaultcompany = GetDefaultCompanyForUser(user).GetAwaiter().GetResult();
             if (defaultcompany == 0)
             {
                 _logger.LogWarning($"Not possible to obtain default company for user {user.Id}");
                 return(-1);
             }
             var changeres = ChangeUserCompanyAsync(user.Id, defaultcompany, null).GetAwaiter().GetResult();
             return(changeres ? 1 : -1);
         }
     }
     catch (Exception ex)
     {
         _logger.LogError(ex, "ValidateUserOnLogin on error");
         return(-1);
     }
     return(0);
 }
        private void CheckIfHotelIsFavorite(int id, string currentUserId)
        {
            SelectedHotel = _appContext.Hotels.Where(h => h.HotelId == id)
                            .Include(h => h.HotelFacilities)
                            .ThenInclude(hf => hf.Facility)
                            .FirstOrDefault();

            List <int> hotelIdList = GetHotelIdList(currentUserId);

            if (hotelIdList.Contains(id))
            {
                var oldHotelUser = _appContext.HotelUsers
                                   .Where(hu => hu.UserId == currentUserId)
                                   .Where(hu => hu.HotelId == id)
                                   .FirstOrDefault();
                _appContext.HotelUsers.Remove(oldHotelUser);
                _appContext.SaveChanges();
            }
            else
            {
                var newHotelUser = new HotelUser
                {
                    UserId          = currentUserId,
                    ApplicationUser = CurrentUser,
                    HotelId         = id,
                    Hotel           = SelectedHotel
                };
                _appContext.HotelUsers.Add(newHotelUser);
                _appContext.SaveChanges();
            }
        }
Esempio n. 11
0
        private static IList <HotelUser> GetHotelUsersBySql(string safeSql)
        {
            List <HotelUser> list = new List <HotelUser>();

            try
            {
                DataTable table = DBHelper.GetDataSet(safeSql);

                foreach (DataRow row in table.Rows)
                {
                    HotelUser hotelUser = new HotelUser();

                    hotelUser.UserID   = (int)row["UserID"];
                    hotelUser.UserName = (string)row["UserName"];
                    hotelUser.Password = (string)row["Password"];

                    list.Add(hotelUser);
                }

                return(list);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                throw e;
            }
        }
Esempio n. 12
0
        /// <summary>
        /// 根据用户名获取用户
        /// </summary>
        /// <param name="userName"></param>
        /// <returns></returns>

        public static HotelUser GetHotelUserByUserName(string userName)
        {
            string sql = "SELECT * FROM HotelUser WHERE UserName = @UserName";

            try
            {
                SqlDataReader reader = DBHelper.GetReader(sql, new SqlParameter("@UserName", userName));
                if (reader.Read())
                {
                    HotelUser hotelUser = new HotelUser();

                    hotelUser.UserID   = (int)reader["UserID"];
                    hotelUser.UserName = (string)reader["UserName"];
                    hotelUser.Password = (string)reader["Password"];

                    reader.Close();

                    return(hotelUser);
                }
                else
                {
                    reader.Close();
                    return(null);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                throw e;
            }
        }
Esempio n. 13
0
        public HotelRoleDataObject GetUserRoleByUserName(string userName)
        {
            HotelUser hotelUser = hotelUserRepository.GetUserByName(userName);
            HotelRole hotelrole = hotelRoleRepository.GetByKey(hotelUser.HotelRoleId);

            return(AutoMapper.Mapper.Map <HotelRole, HotelRoleDataObject>(hotelrole));
        }
Esempio n. 14
0
        /// <summary>
        /// 添加用户
        /// </summary>
        /// <param name="hotelUser"></param>
        /// <returns></returns>
        public static HotelUser AddHotelUser(HotelUser hotelUser)
        {
            string sql =
                "INSERT HotelUser (UserName, Password)" +
                "VALUES (@UserName, @Password)";

            sql += " ; SELECT @@IDENTITY";

            try
            {
                SqlParameter[] para = new SqlParameter[]
                {
                    new SqlParameter("@UserName", hotelUser.UserName),
                    new SqlParameter("@Password", hotelUser.Password)
                };

                int newId = DBHelper.GetScalar(sql, para);
                return(GetHotelUserByUserID(newId));
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                throw e;
            }
        }
Esempio n. 15
0
        private static void CreateAdminRole(AppDbContext context, RoleManager <HotelRole> _roleManager, UserManager <HotelUser> _userManager)
        {
            bool roleExists = _roleManager.RoleExistsAsync("Admin").Result;

            if (roleExists)
            {
                return;
            }

            var role = new HotelRole()
            {
                Name = "Admin"
            };

            _roleManager.CreateAsync(role).Wait();

            var user = new HotelUser()
            {
                UserName         = "******",
                Email            = "*****@*****.**",
                HotelId          = 1,
                EmailConfirmed   = true,
                ConfirmedByAdmin = true,
                Id = Guid.NewGuid().ToString(),
            };

            string adminPassword = "******";
            var    userResult    = _userManager.CreateAsync(user, adminPassword).Result;

            if (userResult.Succeeded)
            {
                _userManager.AddToRoleAsync(user, "Admin").Wait();
            }
        }
Esempio n. 16
0
        public UpdateUserModel CopyFrom(HotelUser usr)
        {
            if (usr != null)
            {
                this.Id       = usr.Id;
                this.Email    = usr.Email;
                this.ZipCode  = usr.ZipCode;
                this.Address1 = usr.Address1;

                this.City             = usr.City;
                this.Country          = usr.Country;
                this.PhoneNumber      = usr.PhoneNumber;
                this.NameSurname      = usr.NameSurname;
                this.UserName         = usr.UserName;
                this.UserGroupId      = usr.UserGroupId;
                this.ConfirmedByAdmin = usr.ConfirmedByAdmin;
                this.EmailConfirmed   = usr.EmailConfirmed;
                if (usr.LockoutEnd != null)
                {
                    this.LockoutEnd = (DateTimeOffset)usr.LockoutEnd;
                }
            }

            return(this);
        }
Esempio n. 17
0
        public HotelUser CopyEditedParamsTo(HotelUser usr, bool isNew = false)
        {
            if (usr != null)
            {
                if (!string.IsNullOrEmpty(this.Id))
                {
                    usr.Id = this.Id;
                }
                if (!string.IsNullOrEmpty(this.Email))
                {
                    usr.Email = this.Email;
                }
                usr.City        = this.City;
                usr.PhoneNumber = this.PhoneNumber;
                usr.NameSurname = this.NameSurname;
                if (!string.IsNullOrEmpty(this.UserName))
                {
                    usr.UserName = this.UserName;
                }
                if (isNew)
                {
                    usr.Email = this.Email;
                }
            }

            return(usr);
        }
Esempio n. 18
0
        /// <summary>
        /// Удаление пользователя
        /// </summary>
        /// <param name="context"></param>
        /// <param name="userNumber"></param>
        public void DeleteRoom(HotelContext context, int userNumber)
        {
            HotelUser hotelUser = context.HotelUsers.Where(c => c.UserNumber == userNumber).FirstOrDefault();

            context.HotelUsers.Remove(hotelUser);
            context.SaveChanges();
        }
Esempio n. 19
0
        public HotelUser CopyUpdateParamsTo(HotelUser usr, bool isNew = false)
        {
            if (usr != null)
            {
                if (!string.IsNullOrEmpty(this.Id))
                {
                    usr.Id = this.Id;
                }
                if (!string.IsNullOrEmpty(this.Email))
                {
                    usr.Email = this.Email;
                }
                usr.City        = this.City;
                usr.Country     = this.Country;
                usr.PhoneNumber = this.PhoneNumber;
                usr.NameSurname = this.NameSurname;
                usr.Address1    = this.Address1;
                usr.ZipCode     = this.ZipCode;
                if (!string.IsNullOrEmpty(this.UserName))
                {
                    usr.UserName = this.UserName;
                }

                if (isNew)
                {
                    usr.Email = this.Email;
                }
            }

            return(usr);
        }
Esempio n. 20
0
        public HotelUser CopyEditedModalDataTo(HotelUser usr, bool isNew = false)
        {
            if (usr != null)
            {
                if (!string.IsNullOrEmpty(this.Id))
                {
                    usr.Id = this.Id;
                }
                usr.Email       = this.Email;
                usr.City        = this.City;
                usr.PhoneNumber = this.PhoneNumber;
                usr.NameSurname = this.NameSurname;
                if (!string.IsNullOrEmpty(this.UserName))
                {
                    usr.UserName = this.UserName;
                }
                usr.UserGroupId      = this.UserGroupId;
                usr.ConfirmedByAdmin = this.ConfirmedByAdmin;
                if (isNew)
                {
                    usr.Email = this.Email;
                }
            }

            return(usr);
        }
Esempio n. 21
0
        public HotelUser CopyTo(HotelUser usr, bool isNew = false)
        {
            if (usr != null)
            {
                if (!string.IsNullOrEmpty(this.Id))
                {
                    usr.Id = this.Id;
                }
                if (!string.IsNullOrEmpty(this.Email))
                {
                    usr.Email = this.Email;
                }
                usr.ZipCode     = this.ZipCode;
                usr.Address1    = this.Address1;
                usr.City        = this.City;
                usr.PhoneNumber = this.PhoneNumber;
                usr.NameSurname = this.NameSurname;
                if (!string.IsNullOrEmpty(this.UserName))
                {
                    usr.UserName = this.UserName;
                }
                usr.UserGroupId      = this.UserGroupId;
                usr.ConfirmedByAdmin = this.ConfirmedByAdmin;
                // usr.EmailConfirmed = this.EmailConfirmed;
                if (isNew)
                {
                    usr.Email = this.Email;
                }
            }

            return(usr);
        }
Esempio n. 22
0
 public SalaryInfoViewModel(HotelUser worker, vwWorker userWorker, SalariInfoView salariInfoViewOpen)
 {
     this.worker     = worker;
     this.userWorker = userWorker;
     salariInfoView  = salariInfoViewOpen;
     ManagerInput    = Salary.CalculateManagerInput(userWorker.Salary, userWorker.WorkExperience, userWorker.QualificationLevelId, userWorker.GenderId);
 }
Esempio n. 23
0
 public AddManagerViewModel(AddManagerView addManagerViewOpen)
 {
     addManagerView         = addManagerViewOpen;
     QualificationLevelList = new ObservableCollection <QualificationLevel>(service.GetAllQualificationLevel());
     User        = new HotelUser();
     UserManager = new Manager();
 }
 public RequestViewModel(HotelUser worker, vwWorker hotelWorker, RequestView requestViewViewOpen)
 {
     this.worker      = worker;
     this.hotelWorker = hotelWorker;
     requestViewView  = requestViewViewOpen;
     Request          = new Request();
 }
Esempio n. 25
0
        public async Task <int> CreateHotelAsync(RegisterHotelDTO model)
        {
            var  currentUser     = _userResolverService.GetUser();
            var  currentUserName = currentUser.FindFirst(ClaimTypes.NameIdentifier).Value;
            User user            = await _userManager.FindByIdAsync(currentUserName);

            var city = CreateCity(model.CityName);

            if (!_userManager.IsInRoleAsync(user, "Hotel manager").Result)
            {
                await _userManager.AddToRoleAsync(user, "Hotel manager");
            }
            model.StatusId = (int)HotelStatusTypes.Pending;

            var hotelManager = new HotelUser();

            model.CityId = city.Id;
            var hotel = _mapper.Map <Hotel>(model);

            hotel.CityId       = city.Id;
            hotelManager.Hotel = hotel;
            hotelManager.User  = user;

            _hotelAppContext.HotelUsers.Add(hotelManager);
            hotel.HotelUsers.Add(hotelManager);
            _hotelAppContext.Hotels.Add(hotel);
            _hotelAppContext.SaveChanges();
            _logger.LogInformation("Hotel successfully added!");
            return(hotel.Id);
        }
        public ManagerLogedInView(HotelUser manager)
        {
            InitializeComponent();
            ManagerLogedInViewModel managerLogedInViewModel = new ManagerLogedInViewModel(manager, this);

            this.DataContext             = managerLogedInViewModel;
            this.managerLogedInViewModel = managerLogedInViewModel;
        }
Esempio n. 27
0
        /// <summary>
        /// Добавление пользователя
        /// </summary>
        /// <param name="context"></param>
        /// <param name="surname"></param>
        /// <param name="name"></param>
        /// <param name="patronymic"></param>
        /// <param name="email"></param>
        public void AddHostelUser(HotelContext context, string surname, string name, string patronymic, string email)
        {
            HotelUser hotelUser = context.HotelUsers.Add(new HotelUser {
                Surname = surname, Name = name, Patronymic = patronymic, Email = email
            });

            context.SaveChanges();
        }
Esempio n. 28
0
        public void AssignRole(Guid userID, Guid roleID)
        {
            HotelUser hotelUser = hotelUserRepository.GetByKey(userID);

            hotelUser.HotelRoleId = roleID;
            hotelUserRepository.Update(hotelUser);
            repositoryContext.Commit();
        }
        public RequestView(HotelUser worker, vwWorker hotelUser)
        {
            InitializeComponent();
            RequestViewModel requestViewModel = new RequestViewModel(worker, hotelUser, this);

            this.DataContext      = requestViewModel;
            this.requestViewModel = requestViewModel;
        }
Esempio n. 30
0
        public WorkerLogedInView(HotelUser worker)
        {
            InitializeComponent();
            WorkerLogedInViewModel workerLogedInViewModel = new WorkerLogedInViewModel(worker, this);

            this.DataContext            = workerLogedInViewModel;
            this.workerLogedInViewModel = workerLogedInViewModel;
        }