Exemple #1
0
        public async Task <HttpResponseMessage> AddAdminUser([FromBody] JObject adminUserJson)
        {
            try
            {
                var adminUser = AdminUserHelper.ConertToAdminUserDatabaseEntry(adminUserJson);

                var addedAdmin = await RegistrationManager.Instance.AddAdminUser(adminUser);

                if (addedAdmin != null)
                {
                    // Standard status code 201 for POST succesfully created new item
                    var message = Request.CreateResponse(HttpStatusCode.Created, addedAdmin);
                    message.Headers.Location = new Uri(Request.RequestUri + addedAdmin.Id);
                    return(message);
                }

                return(Request.CreateResponse(HttpStatusCode.BadRequest, "Failed to add the admin username: " + adminUser.Username));
            }
            catch (CosmosException cosmosEx)
            {
                return(Request.CreateErrorResponse(cosmosEx.StatusCode, cosmosEx));
            }
            catch (Exception otherEx)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, otherEx));
            }
        }
        public async Task <ActionResult> ClearData()
        {
            AdminUserHelper helper = new AdminUserHelper();
            await helper.ClearData();

            return(Restart());
        }
Exemple #3
0
        private async void button_Click(object sender, RoutedEventArgs e)
        {
            if (RoomList.SelectedItem != null)
            {
                if (MessageBox.Show("Do you really want to delete the selected room?", "Message", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    RoomCast rm = (RoomCast)RoomList.SelectedItem;
                    using var client = new HttpClient();
                    {
                        AdminUserHelper   ah    = AdminUserHelper.Instance;
                        AdministratorCast admin = ah.admin;
                        client.DefaultRequestHeaders.Authorization =
                            new AuthenticationHeaderValue("Bearer", admin.Token);
                        string url      = baseUrl + rm.Id;
                        var    response = await client.DeleteAsync(url);

                        if (response.IsSuccessStatusCode)
                        {
                            GetAllRooms();
                        }
                        else
                        {
                            MessageBox.Show(response.ReasonPhrase);
                        }
                    }
                }
            }
            else
            {
                responseBox.Content = "Select a room from the list bellow and try again";
            }
        }
Exemple #4
0
        /// <summary>
        /// 验证password "grant_type": "password"
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            AdminUserHelper helper    = new AdminUserHelper();
            AdminUser       adminUser = helper.Get(new LoginModel {
                UserName = context.UserName, Password = context.Password
            });

            if (adminUser == null)
            {
                LogHelper.Info($"invalid_grant:password, UserName:{context.UserName}, Password:{context.Password}, Invalid UserName and Password.");
                context.SetError("invalid_grant", "用户名或密码不正确。");
                return(Task.FromResult <object>(null));
            }

            //此处通过token得到用户  可以进行判断权限
            var oAuthIdentity = new ClaimsIdentity(context.Options.AuthenticationType);

            oAuthIdentity.AddClaim(new Claim(ClaimTypes.PrimarySid, adminUser.Id.ToString()));
            oAuthIdentity.AddClaim(new Claim(ClaimTypes.Name, adminUser.UserName));
            oAuthIdentity.AddClaim(new Claim(ClaimTypes.System, SiteType.Admin.ToString()));
            oAuthIdentity.AddClaim(new Claim(ClaimTypes.Role, adminUser.GroupId.ToString()));
            oAuthIdentity.AddClaim(new Claim(ClaimTypes.UserData, SerializationHelper.ToJson(adminUser)));

            var props = new AuthenticationProperties(new Dictionary <string, string>
            {
                { "client_id", context.ClientId }
            });
            var ticket = new AuthenticationTicket(oAuthIdentity, props);

            context.Validated(ticket);
            return(Task.FromResult <object>(null));
        }
Exemple #5
0
        private async void button_Click(object sender, RoutedEventArgs e)
        {
            int    roomNbr;
            int    floorNbr;
            int    capacityNbr;
            double areaNbr;
            double priceNbr;

            if (int.TryParse(roomNumberField.Text, out roomNbr))
            {
                if (int.TryParse(floorField.Text, out floorNbr))
                {
                    if (int.TryParse(capacityField.Text, out capacityNbr))
                    {
                        if (double.TryParse(areaField.Text, out areaNbr))
                        {
                            if (double.TryParse(priceField.Text, out priceNbr))
                            {
                                AdminUserHelper   ah    = AdminUserHelper.Instance;
                                AdministratorCast admin = ah.admin;
                                client.DefaultRequestHeaders.Authorization =
                                    new AuthenticationHeaderValue("Bearer", admin.Token);
                                var registerContent = new JObject();
                                registerContent.Add("RoomNumber", roomNbr);
                                registerContent.Add("Floor", floorNbr);
                                registerContent.Add("Capacity", capacityNbr);
                                registerContent.Add("Area", areaNbr);
                                registerContent.Add("Price", priceNbr);
                                registerContent.Add("Description", descriptionField.Text);
                                registerContent.Add("isAvailable", 1);
                                HttpContent content      = new StringContent(registerContent.ToString(), Encoding.UTF8, "application/json");
                                var         responseBody = client.PostAsync(baseUrl, content).Result;
                                responseField.Content = await responseBody.Content.ReadAsStringAsync();
                            }
                            else
                            {
                                responseField.Content = "Price can not contain letters!";
                            }
                        }
                        else
                        {
                            responseField.Content = "Area can not contain letters!";
                        }
                    }
                    else
                    {
                        responseField.Content = "Capacity must be described only in numbers!";
                    }
                }
                else
                {
                    responseField.Content = "Floor must only be numbers!";
                }
            }
            else
            {
                responseField.Content = "Room number must contain only numbers!";
            }
        }
        // GET: Administrator/Profile
        public ActionResult Index()
        {
            AdminUserHelper objHelper    = new AdminUserHelper();
            ProfileModel    profileModel = new ProfileModel();

            profileModel = objHelper.GetAdminUserProfileById(AdminSessionData.AdminUserId);

            return(View(profileModel));
        }
        private ActionResult BindUserList(UserModel model)
        {
            if (TempData["message"] != null)
            {
                model.MessageClass  = (string)TempData["MessageClass"];
                model.IsShowMessage = 1;
                model.Message       = (string)TempData["message"];
            }
            else
            {
                model.MessageClass  = "";
                model.IsShowMessage = 0;
                model.Message       = "";
            }

            //get grid parameters from URL/POST (if any)
            var activeGridParameters = GridParameters.GetGridParameters();
            int pageSize             = 10; //displayed rows per page


            model.Flag   = 1;
            model.Status = 1;
            AdminUserHelper objAdminUserHelper = new AdminUserHelper();



            ActiveUserList = objAdminUserHelper.GetAdminUserByStatus(model).ToList(); //.Where(x => x.IsSuper != 1)
            var ActiveUser = GetUserDataUsingLINQ(activeGridParameters.Sort,          //order by column
                                                  activeGridParameters.SortDirection, //order by direction
                                                  activeGridParameters.Page ?? 1,     //returned page
                                                  pageSize, ActiveUserList);          //displayed rows per page


            model.Status = 0;
            var InActiveGridParameters = GridParameters.GetGridParameters();

            InActiveUserList = objAdminUserHelper.GetAdminUserByStatus(model);
            var InActiveUser = GetUserDataUsingLINQ(InActiveGridParameters.Sort,          //order by column
                                                    InActiveGridParameters.SortDirection, //order by direction
                                                    InActiveGridParameters.Page ?? 1,     //returned page
                                                    pageSize, InActiveUserList);          //displayed rows per page


            //set record count for use in view


            ViewBag.ActiveGridRecordCount   = ActiveUserList.Count;
            ViewBag.InActiveGridRecordCount = InActiveUserList.Count;

            return(View(Tuple.Create(ActiveUser, InActiveUser, model)));
        }
Exemple #8
0
        private void LogOff_Clicked(object sender, RoutedEventArgs e)
        {
            MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show("Are you sure?", "Log off confirmation", System.Windows.MessageBoxButton.YesNo);

            if (messageBoxResult == MessageBoxResult.Yes)
            {
                MainWindowHelper vm          = MainWindowHelper.Instance;
                AdminUserHelper  adminHelper = AdminUserHelper.Instance;
                adminHelper.admin = null;
                MainWindow mw = new MainWindow();
                mw.Show();
                this.Close();
            }
        }
        public ActionResult Edit(UserModel model)
        {
            if (ModelState.IsValid)
            {
                model.IsShowMessage = 0;
                model.Flag          = 2;
                model.CreatedBy     = AdminSessionData.AdminUserId;
                model.CreatedFromIp = Request.UserHostAddress;
                model.UserType      = 'S'; // for admin user

                AdminUserHelper objHelper = new AdminUserHelper();
                int             result    = objHelper.PerformActionOnUser(model);
                if (result == 0)
                {
                    TempData["CommonMessage"] = AppLogic.setMessage(0, "Record updated successfully!");
                    return(RedirectToAction("List", "User"));
                }
                else if (result == -5)
                {
                    TempData["CommonMessage"] = AppLogic.setMessage(1, "User name password are same");
                }
                else if (result == -4)
                {
                    TempData["CommonMessage"] = AppLogic.setMessage(1, "Email address already exists");
                }
                else if (result == -3)
                {
                    TempData["CommonMessage"] = AppLogic.setMessage(1, "User name already exists");
                }
                else
                {
                    TempData["CommonMessage"] = AppLogic.setMessage(-1, "Error, please try again");
                }


                return(RedirectToAction("List", "User"));
            }
            RoleModel objRoleModel = new RoleModel();

            objRoleModel.Flag   = 3;
            objRoleModel.Status = 1;
            RoleHelper objRoleHelper = new RoleHelper();

            model.ListRole   = objRoleHelper.GetRoleByStatus(objRoleModel);
            model.ListStatus = GetStatus();
            return(View(model));
        }
        public ActionResult Delete(int?userId, UserModel model)
        {
            model.Flag   = 3;
            model.UserId = (int)userId;
            AdminUserHelper objHelper = new AdminUserHelper();
            int             result    = objHelper.PerformActionOnUser(model);

            if (result == 0)
            {
                TempData["CommonMessage"] = AppLogic.setMessage(0, "Record deleted successfully!");
            }
            else
            {
                TempData["CommonMessage"] = AppLogic.setMessage(-1, "Error, Please try again");
            }
            return(RedirectToAction("List", "User"));
        }
Exemple #11
0
        public async void GetAllApprovedBookings()
        {
            using var client = new HttpClient();
            {
                AdminUserHelper   ah    = AdminUserHelper.Instance;
                AdministratorCast admin = ah.admin;
                client.DefaultRequestHeaders.Authorization =
                    new AuthenticationHeaderValue("Bearer", admin.Token);
                string url      = baseUrl + "AllOfStatus?status=1";
                var    response = await client.GetAsync(url);

                var responseJsonString = await response.Content.ReadAsStringAsync();

                var deserialized = JsonConvert.DeserializeObject <IEnumerable <BookingCast> >(responseJsonString);
                BookingList.ItemsSource = deserialized;
            }
        }
        public ActionResult Activate(int?userId, UserModel model)
        {
            model.Flag   = 4;
            model.UserId = (int)userId;
            model.Status = 1;
            AdminUserHelper objHelper = new AdminUserHelper();
            int             result    = objHelper.PerformActionOnUser(model);

            if (result == 0)
            {
                TempData["CommonMessage"] = AppLogic.setMessage(0, "Record activated successfully!");
            }
            else
            {
                TempData["CommonMessage"] = AppLogic.setMessage(-1, "Error, please try again");
            }
            return(RedirectToAction("List", "User", new { @At = "InActiveUser" }));
        }
        public ActionResult Index(ProfileModel profileModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    profileModel.CreatedBy     = AdminSessionData.AdminUserId;
                    profileModel.CreatedFromIp = Request.UserHostAddress;


                    AdminUserHelper objHelper = new AdminUserHelper();
                    int             result    = objHelper.UpdateProfile(profileModel);
                    if (result == 0)
                    {
                        AdminSessionData.AdminUserName = profileModel.LoginId;
                        AdminSessionData.AdminName     = profileModel.FirstName + " " + profileModel.LastName;

                        TempData["CommonMessage"] = AppLogic.setMessage(0, "Record updated successfully.");
                        // return RedirectToAction("List", "User");
                    }

                    else if (result == -4)
                    {
                        TempData["CommonMessage"] = AppLogic.setMessage(1, "Email address already exists.");
                    }
                    else if (result == -3)
                    {
                        TempData["CommonMessage"] = AppLogic.setMessage(1, "User name already exists.");
                    }
                    else
                    {
                        TempData["CommonMessage"] = AppLogic.setMessage(-1, "Error, please try again.");
                    }
                }
            }
            catch (Exception ex)
            {
                profileModel.IsShowMessage = 1;
                profileModel.Message       = ex.Message;
                profileModel.MessageClass  = "MsgRed";
            }

            return(View(profileModel));
        }
Exemple #14
0
        private async void button_Click(object sender, RoutedEventArgs e)
        {
            MainWindowHelper vm        = MainWindowHelper.Instance;
            string           okMessage = "\"ok\"";
            string           url       = baseUrl + "LogIn";
            var logInContent           = new JObject();

            logInContent.Add("Email", emailField.Text);
            logInContent.Add("Password", passwordField.Password);
            HttpContent content      = new StringContent(logInContent.ToString(), Encoding.UTF8, "application/json");
            var         responseBody = client.PostAsJsonAsync(url, logInContent).Result;
            string      response     = await responseBody.Content.ReadAsStringAsync();

            if (okMessage.Equals(response))
            {
                string uri   = baseUrl + "Info";
                var    email = new JObject();
                email.Add("email", emailField.Text);
                HttpContent content2  = new StringContent(email.ToString(), Encoding.UTF8, "application/json");
                var         response2 = client.PostAsync(uri, content2).Result;
                if (response2.IsSuccessStatusCode)
                {
                    var responseJsonString = await response2.Content.ReadAsStringAsync();

                    var             deserialized = JsonConvert.DeserializeObject <AdministratorCast>(responseJsonString);
                    AdminUserHelper adminHelper  = AdminUserHelper.Instance;
                    adminHelper.admin = deserialized;
                    AdministratorWindow administratorWindow = new AdministratorWindow();
                    administratorWindow.Show();
                    vm.CloseAction();
                }
                else
                {
                    MessageBox.Show(response2.ReasonPhrase);
                }
            }
            else
            {
                responseBox.Content = response;
            }
        }
Exemple #15
0
        private async void informationBooking_Clicked(object sender, RoutedEventArgs e)
        {
            if (BookingList.SelectedItem != null)
            {
                using var client = new HttpClient();
                {
                    BookingCast bm                 = (BookingCast)BookingList.SelectedItem;
                    string      url                = "https://localhost:44382/api/Rooms?id=" + bm.RoomId;
                    var         roomResult         = client.GetAsync(url).Result;
                    var         responseJsonString = await roomResult.Content.ReadAsStringAsync();

                    var               deserialized = JsonConvert.DeserializeObject <RoomCast>(responseJsonString);
                    RoomCast          rm           = deserialized;
                    AdminUserHelper   ah           = AdminUserHelper.Instance;
                    AdministratorCast admin        = ah.admin;
                    client.DefaultRequestHeaders.Authorization =
                        new AuthenticationHeaderValue("Bearer", admin.Token);
                    string uri                 = "https://localhost:44382/api/Student/FindByBooking?bookingId=" + bm.Id;
                    var    studentResult       = client.GetAsync(uri).Result;
                    var    responseJsonString2 = await studentResult.Content.ReadAsStringAsync();

                    var                 deserialized2 = JsonConvert.DeserializeObject <StudentCast>(responseJsonString2);
                    StudentCast         sd            = deserialized2;
                    BookingAdvancedInfo bk            = new BookingAdvancedInfo();
                    bk.BookingID.Content      = bm.Id;
                    bk.RoomNumber.Content     = rm.RoomNumber;
                    bk.DateOfCreation.Content = bm.CreationDate;
                    bk.StudentMail.Content    = sd.Email;
                    bk.StudentName.Content    = sd.FirstName + sd.LastName;
                    bk.ShowDialog();
                }

                GetAllApprovedBookings();
            }
            else
            {
                responseBox.Content = "Select a booking from the list bellow and try again";
            }
        }
Exemple #16
0
        public async Task <IHttpActionResult> AdminLogin([FromBody] JObject adminCredentialJson)
        {
            try
            {
                var adminCredential = AdminUserHelper.ConertToAdminUserDatabaseEntry(adminCredentialJson);

                var adminPasswordMatch = await RegistrationManager.Instance.VerifyAdmin(adminCredential);

                if (adminPasswordMatch)
                {
                    var token = AdminUserHelper.CreateToken(adminCredential.Username);

                    return(Ok <JObject>(token));
                }

                return(Unauthorized());
            }
            catch (Exception)
            {
                return(Unauthorized());
            }
        }
 public ActionResult Index(ChangePasswordModel model)
 {
     try
     {
         AdminUserHelper objUserHelper = new AdminUserHelper();
         int             val           = objUserHelper.ChangeAdminPassword(ref model);
         if (val == 1)
         {
             TempData["CommonMessage"] = AppLogic.setMessage(-1, "Please enter correct old password.");
         }
         else
         {
             TempData["CommonMessage"] = AppLogic.setMessage(0, model.Message = model.Message);
         }
     }
     catch (Exception ex)
     {
         model.IsShowMessage = 1;
         model.Message       = ex.Message;
         model.MessageClass  = "MsgRed";
     }
     return(View(model));
 }
        public ActionResult Edit(int?userId, UserModel objUserModel)
        {
            RoleModel objRoleModel = new RoleModel();

            objRoleModel.Flag     = 3;
            objRoleModel.Status   = 1;
            objRoleModel.RoleType = "S";
            RoleHelper objRoleHelper = new RoleHelper();

            objUserModel.ListRole   = objRoleHelper.GetRoleByStatus(objRoleModel);
            objUserModel.ListStatus = GetStatus();


            objUserModel.Flag   = 2;
            objUserModel.UserId = (int)userId;
            AdminUserHelper objHelper = new AdminUserHelper();

            objUserModel     = objHelper.GetUserById(objUserModel);
            objUserModel.DOB = objUserModel.DOBMMDDYYYY;
            // for clear of the validation class
            ModelState.Clear();

            return(View(objUserModel));
        }
Exemple #19
0
        private async void button_Click(object sender, RoutedEventArgs e)
        {
            string          okResponse = "\"ok\"";
            string          url        = baseUrl + "Update";
            int             id         = Convert.ToInt32(idField.Content);
            int             roomNbr;
            int             floorNbr;
            int             capacityNbr;
            double          areaNbr;
            double          priceNbr;
            AdminUserHelper ah = AdminUserHelper.Instance;

            if (int.TryParse(roomNumberField.Text, out roomNbr))
            {
                if (int.TryParse(floorField.Text, out floorNbr))
                {
                    if (int.TryParse(capacityField.Text, out capacityNbr))
                    {
                        if (double.TryParse(areaField.Text, out areaNbr))
                        {
                            if (double.TryParse(priceField.Text, out priceNbr))
                            {
                                SelectedRoomHelper rh         = SelectedRoomHelper.Instance;
                                AdministratorCast  admin      = ah.admin;
                                RoomCast           updateRoom = rh.GetSelectedRoom(Convert.ToInt32(idField.Content));
                                client.DefaultRequestHeaders.Authorization =
                                    new AuthenticationHeaderValue("Bearer", admin.Token);
                                var registerContent = new JObject();
                                registerContent.Add("Id", id);
                                registerContent.Add("RoomNumber", roomNbr);
                                registerContent.Add("Floor", floorNbr);
                                registerContent.Add("Capacity", capacityNbr);
                                registerContent.Add("Area", areaNbr);
                                registerContent.Add("Price", priceNbr);
                                registerContent.Add("Description", descriptionField.Text);
                                registerContent.Add("isAvailable", 1);
                                registerContent.Add("modificationDate", updateRoom.modificationDate);
                                HttpContent content      = new StringContent(registerContent.ToString(), Encoding.UTF8, "application/json");
                                var         responseBody = client.PostAsync(url, content).Result;
                                string      response     = await responseBody.Content.ReadAsStringAsync();

                                if (response.Equals(okResponse))
                                {
                                    this.Close();
                                }
                                else
                                {
                                    responseField.Content = response;
                                }
                            }
                            else
                            {
                                responseField.Content = "Price can not contain letters!";
                            }
                        }
                        else
                        {
                            responseField.Content = "Area can not contain letters!";
                        }
                    }
                    else
                    {
                        responseField.Content = "Capacity must be described only in numbers!";
                    }
                }
                else
                {
                    responseField.Content = "Floor must only be numbers!";
                }
            }
            else
            {
                responseField.Content = "Room number must contain only numbers!";
            }
        }