public async Task <IActionResult> Index() { IdentityUser user = await _userManager.FindByIdAsync(User.FindFirst(ClaimTypes.NameIdentifier).Value); Logica.BL.Tenants tenants = new Logica.BL.Tenants(); var tenant = tenants.GetTenants(user.Id).FirstOrDefault(); Logica.BL.Projects projects = new Logica.BL.Projects(); var result = await _userManager.IsInRoleAsync(user, "Admin") ? projects.GetProjects(null, tenant.Id): projects.GetProjects(null, tenant.Id, user.Id); var listProjects = result.Select(x => new Logica.Models.ViewModel.ProjectsIndexViewModel { Id = x.Id, Title = x.Title, Details = x.Details, CreatedAt = x.CreatedAt, ExpectedCompletionDate = x.ExpectedCompletionDate, UpdateAt = x.UpdatedAt }); listProjects = tenant.Plan.Equals("premium") ? listProjects : listProjects.Take(1).ToList(); //ViewBag.listProjects = listProjects; more 1 models return(View(listProjects));// return view has the same name of action }
public async Task <IActionResult> Index() { IdentityUser user = await _userManager.FindByIdAsync(User.FindFirst(ClaimTypes.NameIdentifier).Value); Logica.BL.Tenants tenants = new Logica.BL.Tenants(); var tenant = tenants.GetTenants(user.Id).FirstOrDefault(); Logica.BL.Projects projects = new Logica.BL.Projects(); var result = await _userManager.IsInRoleAsync(user, "Admin") ? projects.GetProjects(null, tenant.Id) : //Aplica filtro si es admistrador projects.GetProjects(null, tenant.Id, user.Id); // aplica filtro si es usuario invtado var listProjects = result.Select(x => new Logica.Models.ViewModel.ProjectsIndexViewModel { Id = x.Id, Title = x.Title, Details = x.Details, CreatedAt = x.CreatedAt, ExpectedCompletionDate = x.ExpectedCompletionDate, UpdatedAt = x.UpdatedAt }); listProjects = tenant.Plan.Equals("premium") ? listProjects : listProjects.Take(1).ToList(); return(View(listProjects)); //retrona la vista igual que la accion }
public async Task <IActionResult> Index() { IdentityUser user = await _userManager.FindByIdAsync(User.FindFirst(ClaimTypes.NameIdentifier).Value); Logica.BL.Tenants tenants = new Logica.BL.Tenants(); var tenent = tenants.GetTenants(user.Id).FirstOrDefault(); Logica.BL.Projects projects = new Logica.BL.Projects(); var result = await _userManager.IsInRoleAsync(user, "Admin") ? projects.GetProjects(null, tenent.Id) : projects.GetProjects(null, tenent.Id, user.Id); var listProject = result.Select(x => new Logica.Models.ViewModel.ProjectsIndexViewModel { Id = x.Id, Title = x.Title, Details = x.Details, CreatedAt = x.CreatedAt, ExpectedCompletionDate = x.ExpectedCompletionDate, UpdatedAt = x.UpdatedAt }); listProject = tenent.Plan.Equals("free") ? listProject : listProject.Take(1).ToList(); return(View(listProject)); //Retorna a la vista que se llame igual que la accion }
// GET: Tasks public ActionResult Index(int?projectId) { Logica.BL.Tasks tasks = new Logica.BL.Tasks(); var listTasks = tasks.GetTasks(projectId, null); var listTasksViewModel = listTasks.Select(x => new Logica.Models.ViewModels.TasksIndexViewModel { Id = x.Id, Title = x.Title, Details = x.Details, ExpirationDate = x.ExpirationDate, IsCompleted = x.IsCompleted, Effort = x.Effort, RemainingWork = x.RemainingWork, State = x.States.Name, Activity = x.Activities.Name, Priority = x.Priorities.Name }).ToList(); Logica.BL.Projects projects = new Logica.BL.Projects(); var project = projects.GetProjects(projectId, null).FirstOrDefault(); ViewBag.Project = project; return(View(listTasksViewModel)); }
public IActionResult Delete(int?id) { Logica.BL.Projects projects = new Logica.BL.Projects(); projects.DeleteProjects(id); return(RedirectToAction("Index")); //return RedirectToAction("Index","Project"); direcciona a otroa vista }
public ActionResult Delete(int?id) { Logica.BL.Projects projects = new Logica.BL.Projects(); projects.DeleteProjects(id); return(RedirectToAction("Index")); }
// GET: Projects public async Task <ActionResult> Index() { //Recupero el Usuario en sesion ApplicationUser user = await UserManager.FindByNameAsync(User.Identity.Name); //Consulta la organizacion del usuario que esta ingresando al sistema Logica.BL.Tenants tenants = new Logica.BL.Tenants(); var tenant = tenants.GetTenants(user.Id).FirstOrDefault(); Logica.BL.Projects projects = new Logica.BL.Projects(); var result = await UserManager.IsInRoleAsync(user.Id, "Admin") ? projects.GetProjects(null, tenant.Id) : //Si es admin consulta todos los proyectos de la organizacion projects.GetProjects(null, tenant.Id, user.Id); //si es miembro consulta los projectos de la organizacion que le pertenezca var listprojects = result.Select(x => new Logica.Models.ViewModels.ProjectsIndexViewModel { Id = x.Id, Title = x.Title, Details = x.Details, ExpectedCompletionDate = x.ExpectedCompletionDate, CreatedAt = x.CreatedAt, UpdatedAt = x.UpdatedAt }); listprojects = tenant.Plan.Equals("Premium") ? listprojects : listprojects.Take(1).ToList(); return(View(listprojects)); }
public ActionResult GetProject(int?id) { try { Logica.BL.Projects projects = new Logica.BL.Projects(); var project = projects.GetProjects(id, null).FirstOrDefault(); var projectDetailsViewModel = new Logica.Models.ViewModels.ProjectsDetailsViewModel { Details = project.Details, ExpectedCompletionDateString = project.ExpectedCompletionDate == null ? string.Empty : project.ExpectedCompletionDate.Value.ToString("yyyy-MM-dd HH:mm:ss"), Title = project.Title, CreatedAtString = project.CreatedAt == null ? string.Empty : project.CreatedAt.Value.ToString("yyyy-MM-dd HH:mm:ss"), UpdatedAtString = project.UpdatedAt == null ? string.Empty : project.UpdatedAt.Value.ToString("yyyy-MM-dd HH:mm:ss") }; return(Json(new { IsSuccessful = true, Data = projectDetailsViewModel }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new Logica.Models.ViewModels.ResponseViewModel { IsSuccessful = false, Errors = new List <string> { ex.Message } }, JsonRequestBehavior.AllowGet)); } }
public IActionResult Delete(int?id) { Logica.BL.Projects projects = new Logica.BL.Projects(); projects.DeleteProjects(id); return(RedirectToAction("Index")); //puedo redireccionar a acciones de otros controladores }
public IActionResult Calendar(int?projectId) { Logica.BL.Projects projects = new Logica.BL.Projects(); var project = projects.GetPojects(projectId, null).FirstOrDefault(); ViewBag.Project = project; return(View()); }
public IActionResult Edit(Logica.Models.BindingModel.ProjectsEditBindingModel model) { if (ModelState.IsValid) { Logica.BL.Projects project = new Logica.BL.Projects(); project.UpdateProjects(model.Id, model.Title, model.Details, model.ExpectedCompletionDate); return(RedirectToAction("Index")); } return(View(model)); }
public IActionResult Edit(int?id) { Logica.BL.Projects projects = new Logica.BL.Projects(); var project = projects.GetProjects(id, null).FirstOrDefault(); var projectBindingModel = new Logica.Models.BindingModel.ProjectsEditBindingModel { Id = project.Id, Details = project.Details, Title = project.Title, ExpectedCompletionDate = project.ExpectedCompletionDate }; return(View(projectBindingModel)); }
// GET: Projects public async Task <ActionResult> GetProjects() { try { //Recupero el Usuario en sesion ApplicationUser user = await UserManager.FindByNameAsync(User.Identity.Name); //Consulta la organizacion del usuario que esta ingresando al sistema Logica.BL.Tenants tenants = new Logica.BL.Tenants(); var tenant = tenants.GetTenants(user.Id).FirstOrDefault(); Logica.BL.Projects projects = new Logica.BL.Projects(); var result = await UserManager.IsInRoleAsync(user.Id, "Admin") ? projects.GetProjects(null, tenant.Id) : //Si es admin consulta todos los proyectos de la organizacion projects.GetProjects(null, tenant.Id, user.Id); //si es miembro consulta los projectos de la organizacion que le pertenezca var listprojects = result.Select(x => new Logica.Models.ViewModels.ProjectsIndexViewModel { Id = x.Id, Title = x.Title, Details = x.Details, ExpectedCompletionDatestring = x.ExpectedCompletionDate == null ? string.Empty : x.ExpectedCompletionDate.Value.ToString("yyyy-MM-dd HH:mm:ss"), CreatedAtstring = x.CreatedAt == null ? string.Empty : x.CreatedAt.Value.ToString("yyyy-MM-dd HH:mm:ss"), UpdatedAtstring = x.UpdatedAt == null ? " " : x.UpdatedAt.Value.ToString("yyyy-MM-dd HH:mm:ss"), }).ToList(); listprojects = tenant.Plan.Equals("Premium") ? listprojects : listprojects.Take(1).ToList(); return(Json(new { Data = listprojects, IsSuccessful = true }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new Logica.Models.ViewModels.ResponseViewModel { IsSuccessful = false, Errors = new List <string> { ex.Message } }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Details(int?id) { Logica.BL.Projects projects = new Logica.BL.Projects(); var project = projects.GetProjects(id, null).FirstOrDefault(); var projectDetailsViewModel = new Logica.Models.ViewModels.ProjectsDetailsViewModel { Title = project.Title, Details = project.Details, ExpectedCompletionDate = project.ExpectedCompletionDate, CreatedAt = project.CreatedAt, UpdatedAt = project.UpdatedAt }; return(View(projectDetailsViewModel)); }
public async Task <IActionResult> Create(ProyectoFinalClases.Logica.Models.BindingModel.ProjectsCreateBindingModel model) { if (ModelState.IsValid) { IdentityUser user = await _userManager.FindByIdAsync(User.FindFirst(ClaimTypes.NameIdentifier).Value); Logica.BL.Tenants tenants = new Logica.BL.Tenants(); var Tenant = tenants.GetTenants(user.Id).FirstOrDefault(); Logica.BL.Projects projects = new Logica.BL.Projects(); projects.CreateProjects(model.Title, model.Details, model.ExpectedCompletionDate, Tenant.Id); return(RedirectToAction("Index")); } return(View(model)); }
public IActionResult Detail(int id) { Logica.BL.Projects projects = new Logica.BL.Projects(); var result = projects.GetProjects(id, null).FirstOrDefault(); var projectEditModel = new Logica.Models.ViewModel.ProjectsIndexViewModel { Id = result.Id, Details = result.Details, Title = result.Title, ExpectedCompletionDate = result.ExpectedCompletionDate.Value, CreatedAt = result.CreatedAt, UpdatedAt = result.UpdatedAt }; return(View(projectEditModel)); }
// GET: Projects public async Task <ActionResult> GetProjects() { try { ApplicationUser user = await UserManager.FindByNameAsync(User.Identity.Name); Logica.BL.Tenants tenants = new Logica.BL.Tenants(); var tenant = tenants.GetTenants(user.Id).FirstOrDefault(); Logica.BL.Projects projects = new Logica.BL.Projects(); var result = await UserManager.IsInRoleAsync(user.Id, "Admin") ? projects.GetProjects(null, tenant.Id) : projects.GetProjects(null, tenant.Id, user.Id); var listProjects = result.Select(x => new Logica.Models.ViewModels.ProjectsIndexViewModel { Id = x.Id, Title = x.Title, Details = x.Details, ExpectedCompletionDateString = x.ExpectedCompletionDate == null ? string.Empty : x.ExpectedCompletionDate.Value.ToString("yyyy-MM-dd HH:mm:ss"), CreatedAtString = x.CreatedAt == null ? string.Empty : x.CreatedAt.Value.ToString("yyyy-MM-dd HH:mm:ss"), UpdatedAtString = x.UpdatedAt == null ? string.Empty : x.UpdatedAt.Value.ToString("yyyy-MM-dd HH:mm:ss") }).ToList(); listProjects = tenant.Plan.Equals("Premium") ? listProjects : listProjects.Take(1).ToList(); return(Json(new { Data = listProjects, IsSuccessful = true }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new Logica.Models.ViewModels.ResponseViewModel { IsSuccessful = false, Errors = new List <string> { ex.Message } }, JsonRequestBehavior.AllowGet)); } }
public async Task <ActionResult> ProjectsCreate(Logica.Models.BindingModels.ProjectsCreateBindingModel model) { try { if (ModelState.IsValid) { //Recupero el Usuario en sesion ApplicationUser user = await UserManager.FindByNameAsync(User.Identity.Name); //Consulta la organizacion del usuario que esta ingresando al sistema Logica.BL.Tenants tenants = new Logica.BL.Tenants(); var tenant = tenants.GetTenants(user.Id).FirstOrDefault();; Logica.BL.Projects projects = new Logica.BL.Projects(); projects.CreateProjects(model.Title, model.Details, model.ExpectedCompletionDate, tenant.Id); } else { return(Json(new Logica.Models.ViewModels.ResponseViewModel { IsSuccessful = false, Errors = ModelState.Values.SelectMany(x => x.Errors).Select(e => e.ErrorMessage).ToList() }, JsonRequestBehavior.AllowGet)); } return(Json(new { IsSuccessful = true }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new Logica.Models.ViewModels.ResponseViewModel { IsSuccessful = false, Errors = new List <string> { ex.Message } }, JsonRequestBehavior.AllowGet)); } }
// GET: UserProjects public async Task <ActionResult> Index(int?projectId) { ApplicationUser user = await UserManager.FindByNameAsync(User.Identity.Name); Logica.BL.Tenants tenants = new Logica.BL.Tenants(); var tenant = tenants.GetTenants(user.Id).FirstOrDefault(); Logica.BL.Projects projects = new Logica.BL.Projects(); var project = projects.GetProjects(projectId, null, null).FirstOrDefault(); Logica.BL.AspNetUsers aspNetUsers = new Logica.BL.AspNetUsers(); var listUsers = aspNetUsers.GetUsers(tenant.Id); Logica.BL.UserProjects userProjects = new Logica.BL.UserProjects(); var listUsersProject = userProjects.GetUsersProject(projectId); var listUsersResult = (from _users in listUsers where !listUsersProject.Select(x => x.UserId).Contains(_users.Id) select new Logica.Models.ViewModels.Users { Id = _users.Id, Email = _users.Email, UserName = _users.UserName }).ToList(); var listUsersProjectResult = listUsersProject.Select(x => new Logica.Models.ViewModels.Users { Id = x.UserId, Email = x.AspNetUsers.Email, UserName = x.AspNetUsers.UserName }).ToList(); var listUserProjectsIndexViewModel = new Logica.Models.ViewModels.UserProjectsIndexViewModel { Users = listUsersResult, UsersProject = listUsersProjectResult }; ViewBag.Project = project; return(View(listUserProjectsIndexViewModel)); }
public async Task <ActionResult> Create(Logica.Models.BindingModels.ProjectsCreateBindingModel model) { if (ModelState.IsValid) { ApplicationUser user = await UserManager.FindByNameAsync(User.Identity.Name); Logica.BL.Tenants tenants = new Logica.BL.Tenants(); var tenant = tenants.GetTenants(user.Id).FirstOrDefault(); Logica.BL.Projects projects = new Logica.BL.Projects(); projects.CreateProjects(model.Title, model.Details, model.ExpectedCompletionDate, tenant.Id); return(RedirectToAction("Index")); } return(View(model)); }
public async Task <ActionResult> ProjectsCreate(Logica.Models.BindingModels.ProjectsCreateBindingModel model) { if (ModelState.IsValid) { //Recupero el Usuario en sesion ApplicationUser user = await UserManager.FindByNameAsync(User.Identity.Name); //Consulta la organizacion del usuario que esta ingresando al sistema Logica.BL.Tenants tenants = new Logica.BL.Tenants(); var tenant = tenants.GetTenants(user.Id).FirstOrDefault();; Logica.BL.Projects projects = new Logica.BL.Projects(); projects.CreateProjects(model.Title, model.Details, model.ExpectedCompletionDate, tenant.Id); return(RedirectToAction("Index")); } return(View(model)); }
public ActionResult Edit(Logica.Models.BindingModels.ProjectsEditBindingModel model) { try { if (ModelState.IsValid) { Logica.BL.Projects projects = new Logica.BL.Projects(); projects.UpdateProjects(model.Id, model.Title, model.Details, model.ExpectedCompletionDate); } else { return(Json(new Logica.Models.ViewModels.ResponseViewModel { IsSuccessful = false, Errors = ModelState.Values.SelectMany(m => m.Errors).Select(e => e.ErrorMessage).ToList() }, JsonRequestBehavior.AllowGet)); } return(Json(new { IsSuccessful = true }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new Logica.Models.ViewModels.ResponseViewModel { IsSuccessful = false, Errors = new List <string> { ex.Message } }, JsonRequestBehavior.AllowGet)); } }