Exemplo n.º 1
0
        public async Task <IActionResult> Delete(int id)
        {
            var user = await StaticDataHandler.GetSessionDetails();

            var requestUrl = $"{BaseUrl}{apiUriTeamMembers}/DeleteTeamMember?TeammemberId={id}";

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(requestUrl);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", user.Token);

                var result = await client.DeleteAsync(client.BaseAddress);

                if (result.StatusCode == HttpStatusCode.OK)
                {
                    return(RedirectToAction("TeamMembersForAdmin"));
                }
                else if (result.StatusCode == HttpStatusCode.Unauthorized)
                {
                    return(RedirectToAction("TeamMembersForAdmin", new
                    {
                        isDeleteFailed = true,
                        error = "You're not Authorized to perfom this Action"
                    }));
                }
                else
                {
                    return(RedirectToAction("TeamMembersForAdmin", new { isDeleteFailed = true }));
                };
            };
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Index()
        {
            var user = await StaticDataHandler.GetSessionDetails();

            if (user.IsSet)
            {
                return(View());
            }
            return(RedirectToAction("Login", "Account"));
        }
        public async Task <IActionResult> Login(UserLoginResource loginCredentials)
        {
            var           requestUrl    = $"{BaseUrl}{apiUriAccount}/SignIn";
            OutputHandler outputHandler = new OutputHandler();

            //Get Sermons
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(requestUrl);
                HttpResponseMessage response = await client.PostAsJsonAsync(requestUrl, loginCredentials);

                if (response.StatusCode == HttpStatusCode.OK)
                {
                    outputHandler = await response.Content.ReadAsAsync <OutputHandler>();

                    if (!outputHandler.IsErrorOccured)
                    {
                        HttpContext.Session.Clear();
                        HttpContext.Session.SetString(LoggedInUser, outputHandler.Message);
                        HttpContext.Session.SetString(Token, outputHandler.Result.ToString());
                        var sessionDetails = await StaticDataHandler.GetSessionDetails();

                        if (sessionDetails.IsSet)
                        {
                            return(RedirectToAction("Index", "Dashboard"));
                        }
                        else
                        {
                            UserLoginResource userLogin = new UserLoginResource
                            {
                                OutputHandler = new OutputHandler {
                                    IsErrorOccured = true, Message = "Login was successful, System has experienced a technical fault, Contact TechArch"
                                }
                            };
                            return(View(userLogin));
                        }
                    }
                }
                ;
                outputHandler = await response.Content.ReadAsAsync <OutputHandler>();
            };
            UserLoginResource userLoginResource = new UserLoginResource
            {
                OutputHandler = new OutputHandler {
                    IsErrorOccured = true, Message = outputHandler.Message
                }
            };

            return(View(userLoginResource));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> ManageEvents(bool isDeleteFailed, string error)
        {
            var user = await StaticDataHandler.GetSessionDetails();

            var requestUrl = $"{BaseUrl}{apiUriEvents}/GetAllEventsForAdmin";
            EventManagementVM eventManagementVM = new EventManagementVM(_configuration);

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", user.Token);
                client.BaseAddress = new Uri(requestUrl);
                HttpResponseMessage response = await client.GetAsync(requestUrl);

                OutputHandler outputHandler = new OutputHandler();
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    if (isDeleteFailed) //This is coming from delete function if anything wrong happens there, throw error
                    {
                        outputHandler.IsErrorOccured = true;
                        if (string.IsNullOrEmpty(error))
                        {
                            outputHandler.Message = "Something went wrong, Delete failed. Check if related records exist e.g events or Media";
                        }
                        else
                        {
                            outputHandler.Message = error;
                        }
                    }
                    else
                    {
                        outputHandler.IsErrorOccured = false;
                    }
                    eventManagementVM.OutputHandler = outputHandler;
                    eventManagementVM.EventDTO      = await response.Content.ReadAsAsync <IEnumerable <EventDTO> >();
                }
                else if (response.StatusCode == HttpStatusCode.Unauthorized)
                {
                    eventManagementVM.OutputHandler.IsErrorOccured = true;
                    eventManagementVM.OutputHandler.Message        = "You're not Authorized to perfom this task";
                }
                else
                {
                    outputHandler.IsErrorOccured = false;
                };


                return(View(eventManagementVM));
            }
        }
Exemplo n.º 5
0
        public async Task <IActionResult> ManageMinistryArms(bool isDeleteFailed, string error)
        {
            var user = await StaticDataHandler.GetSessionDetails();

            //send admin = true to avoid looping which converts files to bytes, we don't need it here.
            //True means this request has been generated by an individual with admin privileges from the Admin Portal, so the API handles the request as an admin request
            var           requestUrl    = $"{BaseUrl}{apiUriMinistryArms}/GetMinistryArms?isAdminRequest={true}";
            MinistryArmVM ministryArmVM = new MinistryArmVM(_configuration);

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(requestUrl);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", user.Token);
                HttpResponseMessage response = await client.GetAsync(requestUrl);

                OutputHandler outputHandler = new OutputHandler();
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    if (isDeleteFailed) //This is coming from delete function if anything wrong happens there, throw error
                    {
                        outputHandler.IsErrorOccured = true;
                        if (string.IsNullOrEmpty(error))
                        {
                            outputHandler.Message = "Something went wrong, Delete failed. Check if related records exist e.g events or Media";
                        }
                        else
                        {
                            outputHandler.Message = error;
                        }
                    }

                    ministryArmVM.OutputHandler    = outputHandler;
                    ministryArmVM.MinistryArmsList = await response.Content.ReadAsAsync <IEnumerable <MinistryArmDTO> >();
                }
                else if (response.StatusCode == HttpStatusCode.Unauthorized)
                {
                    ministryArmVM.OutputHandler.IsErrorOccured = true;
                    ministryArmVM.OutputHandler.Message        = "You're not Authorized to perfom this task";
                }
                else
                {
                    outputHandler.IsErrorOccured = false;
                };
            };
            //sermons.SermonCategories = await StaticDataHandler.GetSermonCategory(BaseUrl);
            return(View(ministryArmVM));
        }
Exemplo n.º 6
0
        public async Task <IActionResult> TeamMembersForAdmin(bool isDeleteFailed, string error)
        {
            var user = await StaticDataHandler.GetSessionDetails();

            var           requestUrl  = $"{BaseUrl}{apiUriTeamMembers}/GetTeamMembersForAdmin";
            TeamMembersVM teamMembers = new TeamMembersVM(_configuration);

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(requestUrl);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", user.Token);
                HttpResponseMessage response = await client.GetAsync(requestUrl);

                OutputHandler outputHandler = new OutputHandler();

                if (response.StatusCode == HttpStatusCode.OK)
                {
                    if (isDeleteFailed) //This is coming from delete function if anything wrong happens there, throw error
                    {
                        outputHandler.IsErrorOccured = true;
                        outputHandler.Message        = "Delete failed! Something went wrong, please contact techarch team";
                    }
                    else
                    {
                        outputHandler.IsErrorOccured = false;
                    }
                    teamMembers.OutputHandler  = outputHandler;
                    teamMembers.TeamMembersDTO = await response.Content.ReadAsAsync <IEnumerable <TeamMembersDTO> >();
                }
                else if (response.StatusCode == HttpStatusCode.Unauthorized)
                {
                    teamMembers.OutputHandler.IsErrorOccured = true;
                    teamMembers.OutputHandler.Message        = "You're not Authorized to perfom this task";
                }
                else
                {
                    outputHandler.IsErrorOccured = false;
                };
            };
            //teamMembers.Branches = await StaticDataHandler.GetTeamMemberCategory(BaseUrl);
            return(View(teamMembers));
        }
Exemplo n.º 7
0
        public async Task <IActionResult> UpdateEvent(EventDTO eventDTO, IFormFile artwork)
        {
            try
            {
                if (eventDTO.DateOfEvent > eventDTO.EventEndDate)
                {
                    eventDTO.OutputHandler = new OutputHandler {
                        IsErrorOccured = true, Message = "End DateTime cannot be before Start DateTime"
                    };
                    eventDTO.MinistryArms = await StaticDataHandler.GetMinistryArmsAsync(BaseUrl);

                    return(View(eventDTO));
                }
                var user = await StaticDataHandler.GetSessionDetails();

                eventDTO.ModifiedBy   = user.Username;
                eventDTO.ModifiedDate = DateTime.Now.AddHours(2);
                if (ModelState.IsValid)
                {
                    if (artwork == null)
                    {
                    }
                    else
                    {
                        var fileUploadResult = await StaticDataHandler.fileUpload(artwork, FolderName, eventDTO.IsTimeActive);

                        if (fileUploadResult.IsErrorOccured)
                        {
                            return(View());
                        }
                        else
                        {
                            eventDTO.ImgBytes = (byte[])fileUploadResult.Result; //return the byte data
                            eventDTO.FileName = artwork.FileName;
                        }
                    }
                    var requestUrl = $"{BaseUrl}{apiUriEvents}/UpdateEvent";
                    using (var client = new HttpClient())
                    {
                        client.BaseAddress = new Uri(requestUrl);
                        client.DefaultRequestHeaders.Accept.Clear();
                        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", user.Token);

                        var result = await client.PutAsJsonAsync(client.BaseAddress, eventDTO);

                        if (result.StatusCode == HttpStatusCode.OK)
                        {
                            return(RedirectToAction("ManageEvents"));
                        }
                        else if (result.StatusCode == HttpStatusCode.Unauthorized)
                        {
                            eventDTO.OutputHandler = new OutputHandler
                            {
                                IsErrorOccured = true,
                                Message        = "You're not Authorized to perfom this task"
                            };
                        }
                        else
                        {
                            eventDTO.OutputHandler = await result.Content.ReadAsAsync <OutputHandler>();
                        }
                    };
                }
                else
                {
                }
            }
            catch (Exception ex)
            {
                if (ex.InnerException.Message != null)
                {
                    ModelState.AddModelError("", $"ERROR: {ex.InnerException.Message}");
                }
                else
                {
                    ModelState.AddModelError("", ex.Message);
                }
            }
            eventDTO.MinistryArms = await StaticDataHandler.GetMinistryArmsAsync(BaseUrl);

            return(View(eventDTO));
        }
Exemplo n.º 8
0
        public async Task <IActionResult> EditTeamMember(TeamMembersDTO teamMember, IFormFile artwork)
        {
            try
            {
                var user = await StaticDataHandler.GetSessionDetails();

                teamMember.ModifiedBy   = user.Username;
                teamMember.ModifiedDate = DateTime.Now.AddHours(2);

                if (ModelState.IsValid)
                {
                    if (artwork == null)
                    {
                    }
                    else
                    {
                        var fileUploadResult = await StaticDataHandler.fileUpload(artwork, FolderName);

                        if (fileUploadResult.IsErrorOccured)
                        {
                            return(View(teamMember.OutputHandler = new OutputHandler
                            {
                                IsErrorOccured = true,
                                Message = "Something went wrong"
                            }));
                        }
                        else
                        {
                            teamMember.Artwork  = (byte[])fileUploadResult.Result; //return the byte data
                            teamMember.Filename = artwork.FileName;
                        }
                    }
                    var requestUrl = $"{BaseUrl}{apiUriTeamMembers}/EditTeamMember";
                    using (var client = new HttpClient())
                    {
                        client.BaseAddress = new Uri(requestUrl);
                        client.DefaultRequestHeaders.Accept.Clear();
                        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", user.Token);
                        var result = await client.PostAsJsonAsync(client.BaseAddress, teamMember);

                        if (result.StatusCode == HttpStatusCode.OK)
                        {
                            return(RedirectToAction("TeamMembersForAdmin"));
                        }
                        else if (result.StatusCode == HttpStatusCode.Unauthorized)
                        {
                            teamMember.OutputHandler = new OutputHandler
                            {
                                IsErrorOccured = true,
                                Message        = "You're not Authorized to perfom this task"
                            };
                        }
                        else
                        {
                            teamMember.OutputHandler = await result.Content.ReadAsAsync <OutputHandler>();
                        };
                    };
                }
                else
                {
                    teamMember.Branches = await StaticDataHandler.GetBranches(BaseUrl);

                    teamMember.Positions = await StaticDataHandler.GetPositions(BaseUrl);

                    teamMember.MinistryArms = await StaticDataHandler.GetMinistryArmsAsync(BaseUrl);
                }
            }
            catch (Exception ex)
            {
                if (ex.InnerException.Message != null)
                {
                    teamMember.OutputHandler = new OutputHandler {
                        IsErrorOccured = true, Message = ex.InnerException.Message
                    };
                }
                else
                {
                    teamMember.OutputHandler = new OutputHandler {
                        IsErrorOccured = true, Message = ex.Message
                    };
                }
            }
            IEnumerable <BranchDTO> branches = await StaticDataHandler.GetBranches(BaseUrl);

            teamMember.MinistryArms = await StaticDataHandler.GetMinistryArmsAsync(BaseUrl);

            teamMember.Positions = await StaticDataHandler.GetPositions(BaseUrl);

            teamMember.CurrentImageName = Path.GetFileName(teamMember.ImageUrl);

            teamMember.Branches = branches;
            return(View(teamMember));
        }
Exemplo n.º 9
0
        public async Task <IActionResult> UpdateQoute(QouteDTO qouteDTO, IFormFile artwork)
        {
            try
            {
                var user = await StaticDataHandler.GetSessionDetails();

                qouteDTO.ModifiedBy   = user.Username;
                qouteDTO.ModifiedDate = DateTime.Now.AddHours(2);
                if (ModelState.IsValid)
                {
                    if (artwork == null)
                    {
                    }
                    else
                    {
                        var fileUploadResult = await StaticDataHandler.fileUpload(artwork, FolderName, qouteDTO.IsFeaturedOnHomePage);

                        if (fileUploadResult.IsErrorOccured)
                        {
                            return(View(qouteDTO.OutputHandler = new OutputHandler
                            {
                                IsErrorOccured = true,
                                Message = "Something went wrong"
                            }));
                        }
                        else
                        {
                            qouteDTO.ImgBytes = (byte[])fileUploadResult.Result; //return the byte data
                            qouteDTO.FileName = artwork.FileName;
                        }
                    }
                    var requestUrl = $"{BaseUrl}{apiUriQoute}/UpdateQoute";
                    using (var client = new HttpClient())
                    {
                        client.BaseAddress = new Uri(requestUrl);
                        client.DefaultRequestHeaders.Accept.Clear();
                        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", user.Token);

                        var result = await client.PutAsJsonAsync(client.BaseAddress, qouteDTO);

                        if (result.StatusCode == HttpStatusCode.OK)
                        {
                            return(RedirectToAction("ManageQoutes"));
                        }
                        else if (result.StatusCode == HttpStatusCode.Unauthorized)
                        {
                            qouteDTO.OutputHandler = new OutputHandler
                            {
                                IsErrorOccured = true,
                                Message        = "You're not Authorized to perfom this task"
                            };
                        }
                        else
                        {
                            qouteDTO.OutputHandler = await result.Content.ReadAsAsync <OutputHandler>();
                        }
                    };
                }
                else
                {
                }
            }
            catch (Exception ex)
            {
                if (ex.InnerException.Message != null)
                {
                    ModelState.AddModelError("", $"ERROR: {ex.InnerException.Message}");
                }
                else
                {
                    ModelState.AddModelError("", ex.Message);
                }
            }

            return(View(qouteDTO));
        }
Exemplo n.º 10
0
        public async Task <IActionResult> UpdateTestimony(TestimonyDTO testimonyDTO, IFormFile artwork)
        {
            try
            {
                var user = await StaticDataHandler.GetSessionDetails();

                testimonyDTO.ModifiedBy   = user.Username;
                testimonyDTO.ModifiedDate = DateTime.Now.AddHours(2);
                if (ModelState.IsValid)
                {
                    if (artwork == null)
                    {
                    }
                    else
                    {
                        var fileUploadResult = await StaticDataHandler.fileUpload(artwork, FolderName);

                        if (fileUploadResult.IsErrorOccured)
                        {
                            return(View(testimonyDTO.OutputHandler = new OutputHandler
                            {
                                IsErrorOccured = true,
                                Message = "Something went wrong"
                            }));
                        }
                        else
                        {
                            testimonyDTO.ImgBytes = (byte[])fileUploadResult.Result; //return the byte data
                            testimonyDTO.FileName = artwork.FileName;
                        }
                    }
                    var requestUrl = $"{BaseUrl}{apiUriTestimony}/UpdateTestimony";
                    using (var client = new HttpClient())
                    {
                        client.DefaultRequestHeaders.Accept.Clear();
                        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", user.Token);
                        client.BaseAddress = new Uri(requestUrl);


                        var result = await client.PutAsJsonAsync(client.BaseAddress, testimonyDTO);

                        if (result.StatusCode == HttpStatusCode.OK)
                        {
                            return(RedirectToAction("ManageTestimonies"));
                        }
                        else if (result.StatusCode == HttpStatusCode.Unauthorized)
                        {
                            testimonyDTO.OutputHandler = new OutputHandler
                            {
                                IsErrorOccured = true,
                                Message        = "You're not Authorized to perfom this task"
                            };
                        }
                        else
                        {
                            testimonyDTO.OutputHandler = await result.Content.ReadAsAsync <OutputHandler>();
                        }
                    };
                }
                else
                {
                }
            }
            catch (Exception ex)
            {
                if (ex.InnerException.Message != null)
                {
                    testimonyDTO.OutputHandler = new OutputHandler {
                        IsErrorOccured = true, Message = ex.InnerException.Message
                    };
                }
                else
                {
                    testimonyDTO.OutputHandler = new OutputHandler {
                        IsErrorOccured = true, Message = ex.Message
                    };
                }
            }
            //IEnumerable<SermonCategoryDTO> sermonCategories = await StaticDataHandler.GetSermonCategory(BaseUrl);
            //ministryArm.SermonCategories = sermonCategories;
            return(View(testimonyDTO));
        }
Exemplo n.º 11
0
        public async Task <IActionResult> EditResource(ResourceDTO resource, IFormFile artwork)
        {
            var user = await StaticDataHandler.GetSessionDetails();

            PopulateDropdownDTO populateDropdownDTO = new PopulateDropdownDTO();

            populateDropdownDTO = await StaticDataHandler.PopulateResourceDropdown(BaseUrl);

            try
            {
                resource.CreatedBy   = "Denzel";
                resource.DateCreated = DateTime.Now.AddHours(2);
                if (ModelState.IsValid)
                {
                    if (artwork == null)
                    {
                    }
                    else
                    {
                        var fileUploadResult = await StaticDataHandler.fileUpload(artwork, FolderName, resource.IsFeatured);

                        if (fileUploadResult.IsErrorOccured)
                        {
                            return(View(resource.OutputHandler = new OutputHandler
                            {
                                IsErrorOccured = true,
                                Message = "Something went wrong"
                            }));
                        }
                        else
                        {
                            resource.Artwork  = (byte[])fileUploadResult.Result; //return the byte data
                            resource.Filename = artwork.FileName;
                        }
                    }
                    var requestUrl = $"{BaseUrl}{apiUriResources}/EditResource";
                    using (var client = new HttpClient())
                    {
                        client.BaseAddress = new Uri(requestUrl);
                        client.DefaultRequestHeaders.Accept.Clear();
                        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", user.Token);

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

                        if (result.StatusCode == HttpStatusCode.OK)
                        {
                            return(RedirectToAction("ResourcesForAdmin"));
                        }
                        else if (result.StatusCode == HttpStatusCode.Unauthorized)
                        {
                            resource.OutputHandler = new OutputHandler
                            {
                                IsErrorOccured = true,
                                Message        = "You're not Authorized to perfom this task"
                            };
                        }
                        else
                        {
                            populateDropdownDTO = await StaticDataHandler.PopulateResourceDropdown(BaseUrl);

                            resource.ResourceCategories = populateDropdownDTO.ResourceCategories;
                            resource.ResourceTypes      = populateDropdownDTO.ResourceTypes;
                            resource.OutputHandler      = await result.Content.ReadAsAsync <OutputHandler>();
                        }
                    };
                }
                else
                {
                    resource.ResourceCategories = await StaticDataHandler.GetResourceCategory(BaseUrl);
                }
            }
            catch (Exception ex)
            {
                if (ex.InnerException.Message != null)
                {
                    resource.OutputHandler = new OutputHandler {
                        IsErrorOccured = true, Message = ex.InnerException.Message
                    };
                }
                else
                {
                    resource.OutputHandler = new OutputHandler {
                        IsErrorOccured = true, Message = ex.Message
                    };
                }
            }


            resource.ResourceCategories = populateDropdownDTO.ResourceCategories;
            resource.ResourceTypes      = populateDropdownDTO.ResourceTypes;
            return(View(resource));
        }
Exemplo n.º 12
0
        public async Task <IActionResult> AddMinistryArm(MinistryArmDTO ministryArm, IFormFile artwork)
        {
            try
            {
                var user = await StaticDataHandler.GetSessionDetails();

                ministryArm.CreatedBy   = user.Username;
                ministryArm.CreatedDate = DateTime.Now.AddHours(2);

                if (ModelState.IsValid)
                {
                    var fileUploadResult = await StaticDataHandler.fileUpload(artwork, FolderName, ministryArm.IsFeaturedOnHomePage);

                    if (fileUploadResult.IsErrorOccured)
                    {
                        return(View(ministryArm.OutputHandler = new OutputHandler
                        {
                            IsErrorOccured = true,
                            Message = "Something went wrong"
                        }));
                    }
                    else
                    {
                        ministryArm.ImgBytes = (byte[])fileUploadResult.Result; //return the byte data
                        ministryArm.Filename = artwork.FileName;
                    }

                    var requestUrl = $"{BaseUrl}{apiUriMinistryArms}/CreateMinistryArm";
                    using (var client = new HttpClient())
                    {
                        client.DefaultRequestHeaders.Accept.Clear();
                        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", user.Token);
                        client.BaseAddress   = new Uri(requestUrl);
                        ministryArm.Filename = artwork.FileName;


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

                        if (result.StatusCode == HttpStatusCode.OK)
                        {
                            return(RedirectToAction("ManageMinistryArms"));
                        }
                        else if (result.StatusCode == HttpStatusCode.Unauthorized)
                        {
                            ministryArm.OutputHandler = new OutputHandler
                            {
                                IsErrorOccured = true,
                                Message        = "You're not Authorized to perfom this task"
                            };
                        }
                        else
                        {
                            ministryArm.OutputHandler = await result.Content.ReadAsAsync <OutputHandler>();
                        }
                    };
                }
                else
                {
                }
            }
            catch (Exception ex)
            {
                if (ex.InnerException.Message != null)
                {
                    ministryArm.OutputHandler = new OutputHandler {
                        IsErrorOccured = true, Message = ex.InnerException.Message
                    };
                }
                else
                {
                    ministryArm.OutputHandler = new OutputHandler {
                        IsErrorOccured = true, Message = ex.Message
                    };
                }
            }
            IEnumerable <ResourceCategoryDTO> sermonCategories = await StaticDataHandler.GetResourceCategory(BaseUrl);

            return(View(ministryArm));
        }