public ActionResult EditDevice(ClientDeviceInfo cdi_cl) { if (ModelState.IsValid) { using (var db = new MainDbContext()) { if (cdi_cl.deviceCategory == null) { cdi_cl.deviceCategory = TempData.Get <string>("deviceCategory"); } /* * if (cdi_cl.deviceSubcategory == null) * { * cdi_cl.deviceSubcategory = TempData.Get<string>("deviceSubcategory"); * } */ string timeToday = DateTime.Now.ToString("hh:mm:ss tt"); string dateToday = DateTime.Now.ToString("M/dd/yyyy"); // even though it's a edit date, still keep it as a registration date cdi_cl.deviceRegistrationDate = dateToday; cdi_cl.deviceRegistrationTime = timeToday; string client = GetCurrentClaimValues.GetCurrentUserClient(); int deviceAddedByUser = GetCurrentClaimValues.GetCurrentUserId(); cdi_cl.client = client; cdi_cl.deviceAddedByUser = deviceAddedByUser; db.Entry(cdi_cl).State = EntityState.Modified; db.SaveChanges(); } } else { ModelState.AddModelError("", "Incorrect data has been entered"); } if (GetCurrentClaimValues.GetCurrentUserRole() == RoleNames.ROLE_ADMIN) { return(RedirectToAction("RegisteredDevices", "Admin")); } else { return(RedirectToAction("Index", "Registrar")); } }
public ActionResult Index() { ViewBag.DefinedRoles = CommonManager.ReturnAvailableRoles(); if (User.Identity.IsAuthenticated) { var huy = GetCurrentClaimValues.GetCurrentUserRole(); if (GetCurrentClaimValues.GetCurrentUserRole() == ConstantValues.ROLE_AUTHORIZER) { return(RedirectToAction("Index", "Home")); } else { return(RedirectToAction("Index", "Home")); } } else { return(View()); } }
public ActionResult DeleteDevice(int id) { var db = new MainDbContext(); var neededDevice = db.clientDeviceInfo.Find(id); if (neededDevice == null) { return(HttpNotFound()); } db.clientDeviceInfo.Remove(neededDevice); db.SaveChanges(); if (GetCurrentClaimValues.GetCurrentUserRole() == RoleNames.ROLE_ADMIN) { return(RedirectToAction("RegisteredDevices", "Admin")); } else { return(RedirectToAction("Index", "Registrar")); } }
private List <UserInfo> GetListOfUsers() { string connectionString = CommonManager.ReturnNeededConnectionStringForHotel(); // select only those people who exist in the DB string sqlToGetUsersInfo = @"SELECT userId, userType, userFullName, userUniqueDatabaseId, userEmail, userPhoneNumber FROM tblUserInformation WHERE NOT userId=@userId AND ifRemoved='False'"; List <UserInfo> usersInfo = new List <UserInfo>(); using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlCommand cmdToGetUsersInfo = new SqlCommand(sqlToGetUsersInfo, conn); cmdToGetUsersInfo.Parameters.AddWithValue("@userId", GetCurrentClaimValues.GetCurrentUserName()); using (SqlDataReader dt_ToGetUsersInfo = cmdToGetUsersInfo.ExecuteReader()) { if (dt_ToGetUsersInfo.HasRows) { while (dt_ToGetUsersInfo.Read()) { UserInfo ui = new UserInfo { userId = dt_ToGetUsersInfo[0].ToString().TrimEnd(), userType = dt_ToGetUsersInfo[1].ToString().TrimEnd(), userFullName = dt_ToGetUsersInfo[2].ToString().TrimEnd(), uniqueUserId = dt_ToGetUsersInfo[3].ToString().TrimEnd(), userEmail = dt_ToGetUsersInfo[4].ToString().TrimEnd(), userPhoneNumber = dt_ToGetUsersInfo[5].ToString().TrimEnd() }; usersInfo.Add(ui); } } } } return(usersInfo); }
public ActionResult GetPaginatorValues() { int userId = GetCurrentClaimValues.GetCurrentUserId(); var db = new MainDbContext(); var listOfDevices = db.clientDeviceInfo.Where(d => d.deviceAddedByUser == userId).ToList(); int total = listOfDevices.Count; double currentPage = Convert.ToDouble(TempData.Get <string>("currentPageNumberForServerSidePagination")); int numberOfDevicesPerPage = Convert.ToInt32(Request.Cookies["numberOfDevicesPerPage"].Value); int maxPages = (int)Math.Ceiling((double)total / numberOfDevicesPerPage); return(Json(new { success = true, currentPage = Convert.ToInt32(TempData.Get <string>("currentPageNumberForServerSidePagination")), maxPages = maxPages, numberOfDevicesPerPage = numberOfDevicesPerPage, totalNumberOfDevicesRegisteredByUser = total }, JsonRequestBehavior.AllowGet)); }
public ActionResult RegisteredDevices() { if (Request.Cookies["numberOfDevicesPerPage"] == null) { //TempData.Put("numberOfDevicesPerPage", numberOfDevicesPerPageInitially.ToString()); HttpCookie aCookie = new HttpCookie("numberOfDevicesPerPage"); aCookie.Value = numberOfDevicesPerPageInitially.ToString(); aCookie.Expires = DateTime.Now.AddDays(1); Response.SetCookie(aCookie); } int userId = GetCurrentClaimValues.GetCurrentUserId(); var db = new MainDbContext(); int numberOfDevicesPerPage = Convert.ToInt32(Request.Cookies["numberOfDevicesPerPage"].Value); List <ClientDeviceInfo> listOfDevices = new List <ClientDeviceInfo>(); string paginationMove_str = TempData.Get <string>("paginationMove_str"); if (paginationMove_str == string.Empty || paginationMove_str == null) { listOfDevices = db.clientDeviceInfo.Where(d => d.deviceAddedByUser == userId).OrderByDescending(d => d.deviceRegistrationDate). ThenByDescending(d => d.deviceRegistrationTime).Take(numberOfDevicesPerPage).ToList(); TempData.Put("currentPageNumber", "0"); } else { if (paginationMove_str == "previousDevices") { int currentPage = Convert.ToInt32(TempData.Get <string>("currentPageNumber")) - 1; // just in case if (currentPage < 0) { currentPage = 0; } listOfDevices = db.clientDeviceInfo.Where(d => d.deviceAddedByUser == userId).OrderByDescending(d => d.deviceRegistrationDate) .ThenByDescending(d => d.deviceRegistrationTime).Skip(currentPage * numberOfDevicesPerPage) .Take(numberOfDevicesPerPage).ToList(); TempData.Put("currentPageNumber", currentPage.ToString()); TempData.Put("currentPageNumberForServerSidePagination", currentPage.ToString()); } else if (paginationMove_str == "nextDevices") { int currentPage = Convert.ToInt32(TempData.Get <string>("currentPageNumber")); currentPage++; listOfDevices = db.clientDeviceInfo.Where(d => d.deviceAddedByUser == userId).OrderByDescending(d => d.deviceRegistrationDate) .ThenByDescending(d => d.deviceRegistrationTime).Skip(currentPage * numberOfDevicesPerPage) .Take(numberOfDevicesPerPage).ToList(); TempData.Put("currentPageNumber", currentPage.ToString()); TempData.Put("currentPageNumberForServerSidePagination", currentPage.ToString()); } } foreach (ClientDeviceInfo cdi in listOfDevices) { string deviceRegistrationTime = cdi.deviceRegistrationTime; if (!deviceRegistrationTime.Contains("AM") && !deviceRegistrationTime.Contains("PM")) { // since we write the time in 24H format, we need to display it with AM/PM for the customers string[] timeSplit = deviceRegistrationTime.Split(':'); string hour = timeSplit[0]; string min = timeSplit[1]; string sec = timeSplit[2]; string newHour = string.Empty; string postfix = string.Empty; int hour_int = Convert.ToInt32(hour); if (hour_int > 12) { newHour = (hour_int - 12).ToString(); postfix = "PM"; } else { newHour = hour_int.ToString(); postfix = "AM"; } string formattedTime = newHour + ":" + min + ":" + sec + " " + postfix; cdi.deviceRegistrationTime = formattedTime; } } return(View(listOfDevices)); }
public ActionResult AddNewDevice(ClientDeviceInfo cdi_cl) { if (ModelState.IsValid) { using (var db = new MainDbContext()) { string timeToday = DateTime.Now.ToString("HH:mm:ss"); string dateToday = DateTime.Now.ToString("M/dd/yyyy"); string client = GetCurrentClaimValues.GetCurrentUserClient(); int deviceAddedByUser = GetCurrentClaimValues.GetCurrentUserId(); var device = db.clientDeviceInfo.Create(); device.client = client; device.deviceAddedByUser = deviceAddedByUser; device.deviceRegistrationDate = dateToday; device.deviceRegistrationTime = timeToday; // since it is an id for the purposes of cascading dropdowns //int deviceCategoryId = Convert.ToInt32(cdi_cl.deviceCategory); //var materializeDeviceCategory = db.deviceCategory.Where(c => c.deviceCategoryId == deviceCategoryId).Select(c => c.deviceCategoryName).ToList(); string deviceCategory = cdi_cl.deviceCategory; device.deviceCategory = deviceCategory; //device.deviceSubcategory = cdi_cl.deviceSubcategory; device.deviceName = cdi_cl.deviceName; device.deviceNUINTASerialNumber = cdi_cl.deviceNUINTASerialNumber; device.deviceCarrier = cdi_cl.deviceCarrier; device.deviceCondition = cdi_cl.deviceCondition; device.deviceBin = cdi_cl.deviceBin; device.deviceRepairCost = cdi_cl.deviceRepairCost; device.deviceOtherComments = cdi_cl.deviceOtherComments; // since an admin would have a slightly different view when registering a device if (GetCurrentClaimValues.GetCurrentUserRole() == RoleNames.ROLE_ADMIN) { device.deviceUsedBy = cdi_cl.deviceUsedBy; device.deviceValue = cdi_cl.deviceValue; device.deviceSoldFor = cdi_cl.deviceSoldFor; } //Console.WriteLine(device); db.clientDeviceInfo.Add(device); db.SaveChanges(); } } else { ModelState.AddModelError("", "Incorrect data has been entered"); } return(RedirectToAction("RegisteredDevices")); //if (GetCurrentClaimValues.GetCurrentUserRole() == RoleNames.ROLE_ADMIN) //{ // return RedirectToAction("Devices", "Admin"); //} //else //{ // return RedirectToAction("Index", "Registrar"); //} }
public ActionResult CreateUser([Bind(Exclude = "uniqueUserId")] UserInfo ui) { SetRolesForViewBag(); SetTypeOfActionWithRequestForm("Create"); if (!ModelState.IsValid) //Checks if input fields have the correct format { return(View(ui)); //Returns the view with the input values so that the user doesn't have to retype again } else { try { string decryptedPassword = CustomEncrypt.Encrypt(ui.userPwd); if (CheckIfSuchUserAlreadyExistsInDatabase(ui.userId, false) == true) { ModelState.AddModelError("userId", "Username must be unique"); return(View(ui)); } else { string uniqueEightDigitNumber = GenerateUniqueValues.ReturnUniqueEightDigitNumber(); string connectionStringCommon = CommonManager.ReturnNeededConnectionStringForCommonDatabase(); string sqlToCreateUser = @"INSERT INTO tblUser (userId, userPwd, userEmployer, userUniqueDatabaseId, ifRemoved) VALUES (@userId, @userPwd, @userEmployer, @userUniqueDatabaseId, @ifRemoved)"; using (SqlConnection conn = new SqlConnection(connectionStringCommon)) { conn.Open(); SqlCommand cmdToCreateUser = new SqlCommand(sqlToCreateUser, conn); cmdToCreateUser.Parameters.AddWithValue("@userId", ui.userId); cmdToCreateUser.Parameters.AddWithValue("@userPwd", decryptedPassword); cmdToCreateUser.Parameters.AddWithValue("@userEmployer", GetCurrentClaimValues.GetCurrentUserEmployer()); cmdToCreateUser.Parameters.AddWithValue("@userUniqueDatabaseId", uniqueEightDigitNumber); cmdToCreateUser.Parameters.AddWithValue("@ifRemoved", 0); cmdToCreateUser.ExecuteNonQuery(); } string connectionStringHotel = CommonManager.ReturnNeededConnectionStringForHotel(); string sqlToCreateInfoAboutUser = @"INSERT INTO tblUserInformation (userFullName, userType, userId, userUniqueDatabaseId, userEmail, userPhoneNumber, ifRemoved) VALUES (@userFullName, @userType, @userId, @userUniqueDatabaseId, @userEmail, @userPhoneNumber, @ifRemoved)"; using (SqlConnection conn = new SqlConnection(connectionStringHotel)) { conn.Open(); SqlCommand cmdToCreateMainUser = new SqlCommand(sqlToCreateInfoAboutUser, conn); cmdToCreateMainUser.Parameters.AddWithValue("@userId", ui.userId); cmdToCreateMainUser.Parameters.AddWithValue("@userFullName", ui.userFullName); cmdToCreateMainUser.Parameters.AddWithValue("@userType", ui.userType); cmdToCreateMainUser.Parameters.AddWithValue("@userUniqueDatabaseId", uniqueEightDigitNumber); cmdToCreateMainUser.Parameters.AddWithValue("@userEmail", ui.userEmail); cmdToCreateMainUser.Parameters.AddWithValue("@userPhoneNumber", ui.userPhoneNumber); cmdToCreateMainUser.Parameters.AddWithValue("@ifRemoved", 0); cmdToCreateMainUser.ExecuteNonQuery(); if (ui.userType == "Driver") { string sqlDriverAvailability = @"INSERT INTO tblDriverAvailability VALUES (@driverUniqueId, @driverAvailability)"; SqlCommand cmdToCreateDriverAvailability = new SqlCommand(sqlDriverAvailability, conn); cmdToCreateDriverAvailability.Parameters.AddWithValue("@driverUniqueId", uniqueEightDigitNumber); cmdToCreateDriverAvailability.Parameters.AddWithValue("@driverAvailability", true); cmdToCreateDriverAvailability.ExecuteNonQuery(); } } return(RedirectToAction("Index")); } } catch (Exception ex) { //Console.WriteLine(ex); return(HttpNotFound("Something went wrong. Please, contact the administration")); } } }
public static string ReturnNeededConnectionStringForHotel() { return(ConfigurationManager.ConnectionStrings[CommonPaths.RerurnConnectionString() + GetCurrentClaimValues.GetCurrentUserEmployer()].ConnectionString); }
public ActionResult Index(string token) { string userAgent = Request.Headers["User-Agent"].ToString(); bool result = CommonManager.IsTokenValid(token, CommonManager.GetIP(Request), userAgent); LoginStatus ls_cl = new LoginStatus() { }; ls_cl.loginStatus = result; if (result == true) { LoginReturnUserBasicInfo lrubi = CommonManager.ReturnInfoAboutUser(token); ls_cl.lrubi = lrubi; ClaimsIdentity identity = new ClaimsIdentity(); CommonData cd = CommonManager.ReturnInfoAboutCommonData(lrubi.userEmployer); if (lrubi.userType == "Admin") { // create an identity with name and role identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, lrubi.userId), new Claim(ClaimTypes.Role, lrubi.userType), new Claim("userEmployer", lrubi.userEmployer.ToLower()), new Claim("userUniqueDatabaseId", lrubi.userUniqueDatabaseId), new Claim("userRole", lrubi.userType), new Claim("sendgridEmail", cd.sendgridEmail), new Claim("timezone", cd.timezone), new Claim("cultureInfo", cd.cultureInfo), new Claim("sendgridEmailAuthor", cd.sendgridEmailAuthor), new Claim("phoneNumber", cd.phoneNumber), new Claim("destination", cd.destination.ToLower()), new Claim("destinationAirportCode", cd.destinationAirportCode), new Claim("dateFormat", cd.dateFormat) }, "CustomCookie"); } else { // create an identity with name and role identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, lrubi.userId), new Claim(ClaimTypes.Role, lrubi.userType), new Claim("userEmployer", lrubi.userEmployer.ToLower()), new Claim("userUniqueDatabaseId", lrubi.userUniqueDatabaseId), new Claim("userRole", lrubi.userType), new Claim("timezone", cd.timezone), new Claim("cultureInfo", cd.cultureInfo), new Claim("destination", cd.destination.ToLower()), new Claim("destinationAirportCode", cd.destinationAirportCode), new Claim("dateFormat", cd.dateFormat) }, "CustomCookie"); } // actually login with identity var ctx = Request.GetOwinContext(); var authManager = ctx.Authentication; authManager.SignIn(identity); var huy = GetCurrentClaimValues.GetCurrentUserRole(); if (lrubi.userType == ConstantValues.ROLE_AUTHORIZER) { ls_cl.successUrlAction = Url.Action("Index", "Home"); } else { ls_cl.successUrlAction = Url.Action("Index", "Home"); //return RedirectToAction("Index", "Home"); } } return(Json(JsonConvert.SerializeObject(ls_cl), JsonRequestBehavior.AllowGet)); }