コード例 #1
0
        public async Task <IActionResult> Index(int pageIndex = 1, int maxResults = 5)
        {
            if (User.Identity.IsAuthenticated)
            {
                var userCredentials = await EnsureUserCreated();

                if (userCredentials is null || userCredentials.Role == "Desconosido")
                {
                    return(RedirectToAction("Register", "User"));
                }

                ViewBag.UserId    = userCredentials.Id;
                ViewBag.UserName  = userCredentials.Email.Split("@").First();
                ViewBag.UserRole  = userCredentials.Role;
                ViewBag.UserEmail = userCredentials.Email;
            }

            string currentPage      = (pageIndex < 1) ? "1" : pageIndex.ToString();
            string maxProjectsCount = (maxResults < 5) ? "5" : (maxResults > 100) ? "100" : maxResults.ToString();
            var    queryResult      = new Dictionary <string, string>
            {
                { nameof(pageIndex), currentPage },
                { nameof(maxResults), maxProjectsCount }
            };

            var projects = await CallApiGETAsync <ProjectListVM>(uri : "/api/projects/" + QueryString.Create(queryResult), isSecured : false);

            if (projects == null)
            {
                projects           = new ProjectListVM();
                projects.PageIndex = pageIndex;
            }

            return(View(projects));
        }
コード例 #2
0
        public async Task <IActionResult> MyProjects(int pageIndex = 1, int maxResults = 5)
        {
            var userCredentials = GetUserCredentials();

            if (userCredentials is null || userCredentials.Role != "Contratista")
            {
                return(PageNotFound());
            }

            string currentPage      = (pageIndex < 1) ? "1" : pageIndex.ToString();
            string maxProjectsCount = (maxResults < 5) ? "5" : (maxResults > 100) ? "100" : maxResults.ToString();
            var    queryResult      = new Dictionary <string, string>
            {
                { nameof(pageIndex), currentPage },
                { nameof(maxResults), maxProjectsCount }
            };

            var projects = await CallApiGETAsync <ProjectListVM>(uri : "/api/projects/current/" + userCredentials.Id.ToString() + QueryString.Create(queryResult), isSecured : true);

            if (projects == null)
            {
                projects           = new ProjectListVM();
                projects.PageIndex = pageIndex;
            }

            return(View(projects));
        }
コード例 #3
0
        public ActionResult Index([Bind(Include = "Page, Sort")] PageSortCriteria pageSortCriteria, [Bind(Include = "Name, Description")] ProjectSearchCriteria searchCriteria = null)
        {
            ProjectListVM vm = new ProjectListVM
            {
                Projects         = UOW.Projects.GetAllPaged(pageSortCriteria, searchCriteria),
                PageSortCriteria = pageSortCriteria,
                SearchCriteria   = searchCriteria
            };

            return(View(vm));
        }
コード例 #4
0
        /// <summary>
        /// Initialise the project list and ensure that it returns to the project page on synchronisation
        /// </summary>
        public ProjectListPage()
        {
            InitializeComponent();
            ViewModel      = new ProjectListVM();
            BindingContext = ViewModel;

            MessagingCenter.Subscribe <DataDAO, string>(this, "SyncComplete", (sender, message) =>
            {
                if (message == "Data successfully downloaded" || message.Contains("Data successfully downloaded"))
                {
                    Device.BeginInvokeOnMainThread(() =>
                    {
                        Navigation.PopAsync();
                    });
                }
            });
        }
コード例 #5
0
        public async Task <ActionResult> ListProjectAsync()
        {
            string apiUrl = "http://localhost:57022/WebAPI/GetProjectList?UserID=" + Session["UserID"].ToString();

            HttpClient client = new HttpClient();

            client.BaseAddress = new Uri(apiUrl);
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

            HttpResponseMessage response = await client.GetAsync(apiUrl);

            var data = await response.Content.ReadAsStringAsync();

            List <Project> Projects      = JsonConvert.DeserializeObject <List <Project> >(data);
            ProjectListVM  ProjectsModel = new ProjectListVM();

            ProjectsModel.Projects = Projects;
            return(View("MyProject", ProjectsModel));
        }