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)); }
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)); }
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)); }
/// <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(); }); } }); }
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)); }