Exemple #1
0
        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());
     }
 }
Exemple #3
0
        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"));
            }
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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));
        }
Exemple #6
0
        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));
        }
Exemple #7
0
        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");
            //}
        }
Exemple #8
0
        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"));
                }
            }
        }
Exemple #9
0
 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));
        }