Example #1
0
        public ActionResult AllComplaints()
        {
            LogginUser userLogin = GetUser();

            if (userLogin == null || userLogin.UserTypeID != 2)
            {
                return(RedirectToAction("SignIn", "Users"));
            }
            else
            {
                ViewBag.name     = userLogin.FullName;
                ViewBag.Usertype = userLogin.UserTypeID;
            }
            List <ComplaintsGrid> RetrievedComplaints = null;

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(Baseurl);
                client.DefaultRequestHeaders.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                var Result = client.GetAsync("api/PublicAPI/GeAllComplaintsAPI").Result;
                if (Result.IsSuccessStatusCode)
                {
                    var MyComplaintResults = Result.Content.ReadAsStringAsync().Result;
                    RetrievedComplaints = JsonConvert.DeserializeObject <List <ComplaintsGrid> >(MyComplaintResults);
                }
            }

            return(View(RetrievedComplaints));
        }
Example #2
0
        public IActionResult login(LogginUser user)
        {
            if (ModelState.IsValid)
            {
                var userindb = _context.users.FirstOrDefault(u => u.Email == user.Email);

                if (userindb == null)
                {
                    ModelState.AddModelError("Email", "Invalid Email/Password");
                    return(View("Login"));
                }
                var hasher = new PasswordHasher <LogginUser>();
                var result = hasher.VerifyHashedPassword(user, userindb.Password, user.Password);

                if (result == 0)
                {
                    ModelState.AddModelError("Password", "Invalid Email/Password");
                    return(View("Login"));
                }

                HttpContext.Session.SetInt32("logged_in_userID", userindb.UserId);
                HttpContext.Session.SetString("logged_in_username", userindb.First_Name);

                int?logged_in_user = HttpContext.Session.GetInt32("logged_in_userID");

                return(Redirect($"Account/{logged_in_user}"));
            }
            else
            {
                return(View("Login"));
            }
        }
Example #3
0
        public ActionResult Details(int complaintID)
        {
            LogginUser userLogin = GetUser();

            if (userLogin == null || complaintID == 0)
            {
                return(RedirectToAction("SignIn", "Users"));
            }
            else
            {
                ViewBag.name     = userLogin.FullName;
                ViewBag.Usertype = userLogin.UserTypeID;
            }
            using (var client = new HttpClient())
            {
                var RetrievedComplaints = new  ComplaintDetails();
                client.BaseAddress = new Uri(Baseurl);
                client.DefaultRequestHeaders.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                var Result = client.GetAsync(string.Format("api/PublicAPI/GetMyComplaintsDetailsAPI?complainID=" + complaintID)).Result;
                if (Result.IsSuccessStatusCode)
                {
                    var MyComplaintResults = Result.Content.ReadAsStringAsync().Result;
                    RetrievedComplaints = JsonConvert.DeserializeObject <ComplaintDetails>(MyComplaintResults);
                }
                return(View(RetrievedComplaints));
            }
        }
Example #4
0
        private LogginUser GetUser()
        {
            LogginUser result = null;

            if (Session["UserProfile"] != null)
            {
                result = Session["UserProfile"] as LogginUser;
            }

            return(result);
        }
Example #5
0
        public ActionResult ValidateEdit(ComplaintDetails Model)
        {
            LogginUser userLogin = GetUser();

            if (userLogin == null || userLogin.UserTypeID != 2)
            {
                return(RedirectToAction("SignIn", "Users"));
            }
            else
            {
                ViewBag.name     = userLogin.FullName;
                ViewBag.Usertype = userLogin.UserTypeID;
            }
            var RetrievedComplaints = new ComplaintDetails();

            ComplaintDetails _model = new ComplaintDetails();

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(Baseurl);
                client.DefaultRequestHeaders.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                var Result = client.GetAsync(string.Format("api/PublicAPI/GetMyComplaintsDetailsAPI?complainID=" + Model.ComplaintsID)).Result;
                if (Result.IsSuccessStatusCode)
                {
                    var MyComplaintResults = Result.Content.ReadAsStringAsync().Result;
                    RetrievedComplaints = JsonConvert.DeserializeObject <ComplaintDetails>(MyComplaintResults);
                }
                List <ComplaintStatus> ComplaintStatustModel = null;
                var ComplaintStatusListAPI = client.GetAsync("api/PublicAPI/GetComplaintStatusAPI/").Result;
                if (ComplaintStatusListAPI.IsSuccessStatusCode)
                {
                    var ComplaintsStatusListIDs = ComplaintStatusListAPI.Content.ReadAsStringAsync().Result;

                    ComplaintStatustModel = JsonConvert.DeserializeObject <List <ComplaintStatus> >(ComplaintsStatusListIDs);


                    RetrievedComplaints.ComplaintStatus = (from d in ComplaintStatustModel
                                                           select new SelectListItem
                    {
                        Value = d.ComplaintStatusID.ToString(),
                        Text = d.Name.ToString()
                    }).ToList();
                }
            }

            return(View(RetrievedComplaints));
        }
 public ActionResult SignIn(LogginUser Model)
 {
     try
     {
         using (var client = new HttpClient())
         {
             client.BaseAddress = new Uri(Baseurl);
             client.DefaultRequestHeaders.Clear();
             client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
             var API = client.GetAsync(string.Format("api/PublicAPI/Login?Username={0}&Password={1}", Model.UserName, Model.Password)).Result;
             if (API.IsSuccessStatusCode)
             {
                 var        APIResults = API.Content.ReadAsStringAsync().Result;
                 LogginUser MyModel    = JsonConvert.DeserializeObject <LogginUser>(APIResults);
                 if (!string.IsNullOrEmpty(MyModel.FullName))
                 {
                     Model.FullName   = MyModel.FullName;
                     Model.UserTypeID = MyModel.UserTypeID;
                     Model.UserID     = MyModel.UserID;
                     ViewBag.name     = Model.FullName;
                     ViewBag.Usertype = Model.UserTypeID;
                     SaveSession(MyModel);
                     if (Model.UserTypeID == 1)
                     {
                         return(RedirectToAction("MyComplaints", "Complaints", new
                         {
                             UserID = Model.UserID
                         }));
                     }
                     else
                     {
                         return(RedirectToAction("AllComplaints", "Complaints"));
                     }
                 }
                 else
                 {
                     ViewBag.Error = "Wrong Email Or Password";
                     return(View());
                 }
             }
         }
         return(View());
     }
     catch (Exception ex)
     {
         LoggedError(ex.Message);
         return(RedirectToAction("Index", "Users"));
     }
 }
        public ActionResult Index()
        {
            LogginUser userLogin = GetUser();

            if (userLogin == null)
            {
                return(RedirectToAction("SignIn", "Users"));
            }
            else
            {
                ViewBag.name     = userLogin.FullName;
                ViewBag.Usertype = userLogin.UserTypeID;
            }
            return(View());
        }
Example #8
0
 public ActionResult Edit(ComplaintDetails Model)
 {
     try
     {
         LogginUser userLogin = GetUser();
         if (userLogin == null || userLogin.UserTypeID != 2)
         {
             return(RedirectToAction("SignIn", "Users"));
         }
         else
         {
             ViewBag.name     = userLogin.FullName;
             ViewBag.Usertype = userLogin.UserTypeID;
         }
         if (!ModelState.IsValid)
         {
             ValidateEdit(Model);
             return(View());
         }
         using (var client = new HttpClient())
         {
             client.BaseAddress = new Uri(Baseurl);
             client.DefaultRequestHeaders.Clear();
             client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
             var EditComplaintStatusAPI = client.PostAsJsonAsync <ComplaintDetails>("api/PublicAPI/EditComplaintStatus", Model);
             EditComplaintStatusAPI.Wait();
             var EditComplaintStatusResultAPI = EditComplaintStatusAPI.Result;
             if (EditComplaintStatusResultAPI.IsSuccessStatusCode)
             {
                 var  EditComplaintStatusResult = EditComplaintStatusResultAPI.Content.ReadAsStringAsync().Result;
                 bool EditComplaintStatus       = JsonConvert.DeserializeObject <bool>(EditComplaintStatusResult);
                 return(RedirectToAction("AllComplaints", "Complaints"));
             }
         }
         return(View());
     }
     catch (Exception ex)
     {
         LoggedError(ex.Message);
         return(RedirectToAction("Users", "Index"));
     }
 }
Example #9
0
        public ActionResult SendComplaintValid(Complaints model)
        {
            try
            {
                LogginUser userLogin = GetUser();
                if (userLogin == null || userLogin.UserTypeID != 1)
                {
                    return(RedirectToAction("SignIn", "Users"));
                }
                else
                {
                    ViewBag.name     = userLogin.FullName;
                    ViewBag.Usertype = userLogin.UserTypeID;
                }
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(Baseurl);
                    client.DefaultRequestHeaders.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    List <Countries> CountriesListModel = null;
                    var CountriesListAPI = client.GetAsync("api/PublicAPI/GetCountriesAPI/").Result;
                    if (CountriesListAPI.IsSuccessStatusCode)
                    {
                        var CountriesListIDs = CountriesListAPI.Content.ReadAsStringAsync().Result;

                        CountriesListModel = JsonConvert.DeserializeObject <List <Countries> >(CountriesListIDs);


                        model.Countries = (from d in CountriesListModel
                                           select new SelectListItem
                        {
                            Value = d.CountryID.ToString(),
                            Text = d.CountryName
                        }).ToList();
                    }
                    List <ContactMethod> ContactMethodstModel = null;
                    var MethodsListAPI = client.GetAsync("api/PublicAPI/GetMethodsAPI/").Result;
                    if (MethodsListAPI.IsSuccessStatusCode)
                    {
                        var MethodsListIDs = MethodsListAPI.Content.ReadAsStringAsync().Result;

                        ContactMethodstModel = JsonConvert.DeserializeObject <List <ContactMethod> >(MethodsListIDs);


                        model.ContactMethods = (from d in ContactMethodstModel
                                                select new SelectListItem
                        {
                            Value = d.ContactMethodID.ToString(),
                            Text = d.Name
                        }).ToList();
                    }

                    List <Departments> DepartmentstModel = null;
                    var DepartmentsListAPI = client.GetAsync("api/PublicAPI/GetDepartmentsAPI/").Result;
                    if (DepartmentsListAPI.IsSuccessStatusCode)
                    {
                        var DeparmentListIDs = DepartmentsListAPI.Content.ReadAsStringAsync().Result;

                        DepartmentstModel = JsonConvert.DeserializeObject <List <Departments> >(DeparmentListIDs);


                        model.Departments = (from d in DepartmentstModel
                                             select new SelectListItem
                        {
                            Value = d.DepartmentID.ToString(),
                            Text = d.Name
                        }).ToList();
                    }
                }

                return(View(model));
            }
            catch (Exception ex)
            {
                LoggedError(ex.Message);
                return(RedirectToAction("Users", "Index"));
            }
        }
Example #10
0
        public ActionResult SendComplaint(Complaints Model)
        {
            try
            {
                LogginUser userLogin = GetUser();
                if (userLogin == null || userLogin.UserTypeID != 1)
                {
                    return(RedirectToAction("SignIn", "Users"));
                }
                else
                {
                    ViewBag.name     = userLogin.FullName;
                    ViewBag.Usertype = userLogin.UserTypeID;
                }
                if (!ModelState.IsValid)
                {
                    SendComplaintValid(Model);
                    return(View());
                }
                else
                {
                    using (var client = new HttpClient())
                    {
                        client.BaseAddress = new Uri(Baseurl);
                        client.DefaultRequestHeaders.Clear();
                        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                        Model.ComplaintLoggedTime = DateTime.Now;
                        Model.ComplaintStatusID   = 2;
                        Model.UserID = userLogin.UserID;
                        var AddComplaintAPI = client.PostAsJsonAsync <Complaints>("api/PublicAPI/AddComplaintAPI", Model);
                        AddComplaintAPI.Wait();
                        var AddComplaint = AddComplaintAPI.Result;
                        if (AddComplaint.IsSuccessStatusCode)
                        {
                            var Results     = AddComplaint.Content.ReadAsStringAsync().Result;
                            int ComplaintID = JsonConvert.DeserializeObject <int>(Results);

                            if (ComplaintID > 0)
                            {
                                foreach (int i in Model.DepartmentsID)
                                {
                                    var API = client.GetAsync(string.Format("api/PublicAPI/AddComplaintDepartmentAPI?Depatment={0}&ComplaintID={1}", i, ComplaintID)).Result;
                                    if (API.IsSuccessStatusCode)
                                    {
                                        var APIResults = API.Content.ReadAsStringAsync().Result;
                                    }
                                }
                            }
                        }
                    }
                    return(RedirectToAction("MyComplaints", "Complaints", new
                    {
                        UserID = userLogin.UserID
                    }));
                }
            }
            catch (Exception ex)
            {
                LoggedError(ex.Message);
                return(RedirectToAction("Users", "Index"));
            }
        }
 private void SaveSession(LogginUser user)
 {
     Session["UserProfile"] = user;
 }