示例#1
0
        public async Task <IActionResult> EditOfficer(int personalDetailsId, ResultHandler resultHandler = null)
        {
            var role     = HttpContext.Session.GetInt32(SessionKeyRole);
            var username = HttpContext.Session.GetString(SessionUserName);

            if (username == null)
            {
                HttpContext.Session.SetString(SessionUserName, username);
            }

            if (resultHandler.Result != null)
            {
                personalDetailsId = (int)resultHandler.Result;
            }

            if (username == null && role != 1)
            {
                return(RedirectToAction("Login", "Accounts"));
            }
            UserDTO user       = new UserDTO();
            var     requestUrl = $"{BaseUrl}{apiUri}/GetUserById?personId={personalDetailsId}";

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(requestUrl);
                HttpResponseMessage response = await client.GetAsync(requestUrl);

                if (response.StatusCode == HttpStatusCode.OK)
                {
                    user = await response.Content.ReadAsAsync <UserDTO>();
                }
                ;
            };

            IEnumerable <Branch> branches = await StaticDataHandler.GetBranches(BaseUrl);

            IEnumerable <Positions> positions = await StaticDataHandler.GetPositions(BaseUrl);

            IEnumerable <Roles> roles = await StaticDataHandler.GetRoles(BaseUrl);

            user.Branches  = branches;
            user.Positions = positions;
            user.Roles     = roles;

            //True - means its  comming from edit and something went wrong
            if (resultHandler.IsErrorOccured == true)
            {
                user.IsErrorOccured = true;
                user.Message        = "The system failed to delete the record, please contact inform Technical Administrator";
            }
            return(View(user));
        }
示例#2
0
        public async Task <IActionResult> Register(string message)
        {
            if (message != null)
            {
                ViewBag.message = message;
            }

            IEnumerable <Branch> branches = await StaticDataHandler.GetBranches(BaseUrl);

            IEnumerable <Positions> positions = await StaticDataHandler.GetPositions(BaseUrl);

            IEnumerable <Roles> roles = await StaticDataHandler.GetRoles(BaseUrl);

            var user = new UserDTO
            {
                Branches  = branches,
                Positions = positions,
                Roles     = roles,
            };

            return(View(user));
        }
示例#3
0
        public async Task <IActionResult> Register(UserDTO user)
        {
            if (user.DateOfBirth > DateTime.UtcNow.AddHours(2))
            {
                string error = "Date cannot be from the future";
                return(RedirectToAction("Register", new { message = error }));
            }


            if (user.DateOfBirth == DateTime.UtcNow.AddHours(2))
            {
                string error = "Date cannot be today";
                return(RedirectToAction("Register", new { message = error }));
            }

            int age = DateTime.UtcNow.Year - user.DateOfBirth.Year;

            if (age < 16)
            {
                string error = "Minimum years is 16 years old";
                return(RedirectToAction("Register", new { message = error }));
            }

            OutputHandler resultHandler = new OutputHandler();

            if (user.Password == user.ConfirmPassword)
            {
                if (ModelState.IsValid)
                {
                    var requestUrl = $"{BaseUrl}{apiUri}/CreateUser";
                    using (var client = new HttpClient())
                    {
                        client.BaseAddress = new Uri(requestUrl);
                        client.DefaultRequestHeaders.Accept.Clear();
                        client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

                        user.RoleId = 2;


                        var result = await client.PostAsJsonAsync(client.BaseAddress, user);

                        if (result.StatusCode == HttpStatusCode.OK)
                        {
                            if (user.PositionId == 3)
                            {
                                return(RedirectToAction("ManageUsers"));
                            }
                            else
                            {
                                return(RedirectToAction("ManageOfficers"));
                            }
                        }
                        else
                        {
                            resultHandler = await result.Content.ReadAsAsync <OutputHandler>();

                            if (resultHandler.Message != null)
                            {
                                user.Message = resultHandler.Message;
                            }

                            IEnumerable <Branch> branches = await StaticDataHandler.GetBranches(BaseUrl);

                            IEnumerable <Positions> positions = await StaticDataHandler.GetPositions(BaseUrl);

                            IEnumerable <Roles> roles = await StaticDataHandler.GetRoles(BaseUrl);

                            user.Branches          = branches;
                            user.Positions         = positions;
                            user.Roles             = roles;
                            user.IsOfficerCreation = user.IsOfficerCreation;

                            return(View(user));
                        }
                    };
                }
                else
                {
                    IEnumerable <Branch> branches = await StaticDataHandler.GetBranches(BaseUrl);

                    IEnumerable <Positions> positions = await StaticDataHandler.GetPositions(BaseUrl);

                    IEnumerable <Roles> roles = await StaticDataHandler.GetRoles(BaseUrl);

                    user.Branches          = branches;
                    user.Positions         = positions;
                    user.Roles             = roles;
                    user.IsOfficerCreation = user.IsOfficerCreation;

                    return(View(user));
                }
            }
            else
            {
                ModelState.AddModelError("", "Password does do not match");
                ;
                IEnumerable <Branch> branches = await StaticDataHandler.GetBranches(BaseUrl);

                IEnumerable <Positions> positions = await StaticDataHandler.GetPositions(BaseUrl);

                IEnumerable <Roles> roles = await StaticDataHandler.GetRoles(BaseUrl);

                user.Branches          = branches;
                user.Positions         = positions;
                user.Roles             = roles;
                user.IsOfficerCreation = user.IsOfficerCreation;

                //var user = new UserDTO
                //{
                //    Branches = branches,
                //    Positions = positions,
                //    Roles = roles
                //};
            }
            return(View(user));
        }
示例#4
0
        public async Task <IActionResult> EditOfficer(long personalDetailsId, UserDTO user)
        {
            ResultHandler resultHandler = new ResultHandler();

            if (ModelState.IsValid)
            {
                var requestUrl = $"{BaseUrl}{apiUri}/UpdateUser";
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(requestUrl);
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

                    user.RoleId = 1;


                    var result = await client.PostAsJsonAsync(client.BaseAddress, user);

                    if (result.StatusCode == HttpStatusCode.OK)
                    {
                        return(RedirectToAction("ManageOfficers"));
                    }
                    else
                    {
                        resultHandler = await result.Content.ReadAsAsync <ResultHandler>();

                        if (resultHandler.IsErrorOccured)
                        {
                            ModelState.AddModelError("", resultHandler.Message);
                        }

                        IEnumerable <Branch> branches = await StaticDataHandler.GetBranches(BaseUrl);

                        IEnumerable <Positions> positions = await StaticDataHandler.GetPositions(BaseUrl);

                        IEnumerable <Roles> roles = await StaticDataHandler.GetRoles(BaseUrl);

                        user.Branches  = branches;
                        user.Positions = positions;
                        user.Roles     = roles;

                        return(View(user));
                    }
                };
            }
            else
            {
                IEnumerable <Branch> branches = await StaticDataHandler.GetBranches(BaseUrl);

                IEnumerable <Positions> positions = await StaticDataHandler.GetPositions(BaseUrl);

                IEnumerable <Roles> roles = await StaticDataHandler.GetRoles(BaseUrl);

                user.Branches  = branches;
                user.Positions = positions;
                user.Roles     = roles;
                return(View(user));
            }


            return(View(user));
        }