/// <summary> /// CREATE TASKS /// </summary> /// <param name="title"></param> /// <param name="details"></param> /// <param name="expirationDate"></param> /// <param name="isCompleted"></param> /// <param name="effort"></param> /// <param name="remainingWork"></param> /// <param name="stateId"></param> /// <param name="activityId"></param> /// <param name="priorityId"></param> /// <param name="projectId"></param> public void CreateTasks(string title, string details, DateTime?expirationDate, bool isCompleted, int?effort, int?remainingWork, int?stateId, int?activityId, int?priorityId, int?projectId) { DAL.Models.ProjectMVCEntities _context = new DAL.Models.ProjectMVCEntities(); _context.Tasks.Add(new DAL.Models.Tasks { Title = title, Details = details, ExpirationDate = expirationDate, IsCompleted = isCompleted, Effort = effort, RemainingWork = remainingWork, StateId = stateId, ActivityId = activityId, PriorityId = priorityId, ProjectId = projectId }); _context.SaveChanges(); }
/// <summary> /// DELETE PROJECT /// </summary> /// <param name="id"></param> public void DeleteProjects(int?id) { DAL.Models.ProjectMVCEntities db = new DAL.Models.ProjectMVCEntities(); var project = db.Projects.FirstOrDefault(x => x.Id == id); db.Projects.Remove(project); db.SaveChanges(); }
/// <summary> /// GET STATES /// </summary> /// <returns></returns> public List <Models.DB.States> GetStates() { DAL.Models.ProjectMVCEntities _context = new DAL.Models.ProjectMVCEntities(); var listStates = (from _states in _context.States where _states.Active == true select new Models.DB.States { Id = _states.Id, Name = _states.Name, Active = _states.Active }).ToList(); return(listStates); }
/// <summary> /// UPDATE TASK /// </summary> /// <param name="id"></param> /// <param name="isCompleted"></param> /// <param name="remainingWork"></param> /// <param name="stateId"></param> public void UpdateTasks(int id, bool isCompleted, int?remainingWork, int?stateId) { DAL.Models.ProjectMVCEntities _context = new DAL.Models.ProjectMVCEntities(); var task = _context.Tasks.FirstOrDefault(x => x.Id == id); task.IsCompleted = isCompleted; task.RemainingWork = remainingWork; task.StateId = stateId; _context.SaveChanges(); }
/// <summary> /// UPDATE PROJECT /// </summary> /// <param name="id"></param> /// <param name="title"></param> /// <param name="details"></param> /// <param name="expectedCompletionDate"></param> public void UpdateProjects(int id, string title, string details, DateTime?expectedCompletionDate) { DAL.Models.ProjectMVCEntities db = new DAL.Models.ProjectMVCEntities(); var project = db.Projects.FirstOrDefault(x => x.Id == id); project.Title = title; project.Details = details; project.ExpectedCompletionDate = expectedCompletionDate; project.UpdatedAt = DateTime.Now; db.SaveChanges(); }
/// <summary> /// GET TASKS /// </summary> /// <param name="projectId"></param> /// <param name="id"></param> /// <returns></returns> public List <Models.DB.Tasks> GetTasks(int?projectId, int?id) { DAL.Models.ProjectMVCEntities _context = new DAL.Models.ProjectMVCEntities(); var listTasks = (from _tasks in _context.Tasks join _states in _context.States on _tasks.StateId equals _states.Id join _activities in _context.Activities on _tasks.ActivityId equals _activities.Id join _priorities in _context.Priorities on _tasks.PriorityId equals _priorities.Id select new Models.DB.Tasks { Id = _tasks.Id, Title = _tasks.Title, Details = _tasks.Details, ExpirationDate = _tasks.ExpirationDate, IsCompleted = _tasks.IsCompleted, Effort = _tasks.Effort, RemainingWork = _tasks.RemainingWork, ProjectId = _tasks.ProjectId, ActivityId = _tasks.ActivityId, Activities = new Models.DB.Activities { Name = _activities.Name }, PriorityId = _tasks.PriorityId, Priorities = new Models.DB.Priorities { Name = _priorities.Name }, StateId = _tasks.StateId, States = new Models.DB.States { Name = _states.Name } }).ToList(); if (projectId != null) { listTasks = listTasks.Where(x => x.ProjectId == projectId).ToList(); } if (id != null) { listTasks = listTasks.Where(x => x.Id == id).ToList(); } return(listTasks); }
/// <summary> /// GET USERS /// </summary> /// <param name="tenantId"></param> /// <returns></returns> public List <Models.DB.AspNetUsers> GetUsers(int?tenantId) { var _context = new DAL.Models.ProjectMVCEntities(); var listUsersProject = (from _aspNetUsers in _context.AspNetUsers where _aspNetUsers.TenantId == tenantId && _aspNetUsers.EmailConfirmed == true select new Models.DB.AspNetUsers { Id = _aspNetUsers.Id, UserName = _aspNetUsers.UserName, Email = _aspNetUsers.Email }).ToList(); return(listUsersProject); }
public async Task <ActionResult> Create(Logica.Models.BindingModels.MembersCreateBindingModel model) { if (ModelState.IsValid) { ApplicationUser userInSession = await UserManager.FindByNameAsync(User.Identity.Name); Logica.BL.Tenants tenants = new Logica.BL.Tenants(); var tenant = tenants.GetTenants(userInSession.Id).FirstOrDefault(); var user = new ApplicationUser { UserName = model.Email, Email = model.Email, EmailConfirmed = true }; var result = await UserManager.CreateAsync(user, "Qwer1234*"); if (result.Succeeded) { ViewBag.Message = "This invitation was intended for " + model.Email + " is successful"; ViewBag.Success = true; var _context = new DAL.Models.ProjectMVCEntities(); var aspNetUser = _context.AspNetUsers.Where(x => x.UserName.Equals(model.Email)).FirstOrDefault(); aspNetUser.TenantId = tenant.Id; _context.SaveChanges(); var userResult = await UserManager.FindByNameAsync(model.Email); if (userResult != null) { await UserManager.AddToRoleAsync(userResult.Id, "Member"); var code = await UserManager.GeneratePasswordResetTokenAsync(userResult.Id); var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = userResult.Id, code = code }, protocol: Request.Url.Scheme); await UserManager.SendEmailAsync(userResult.Id, userInSession.UserName + " invited you to organization", userInSession.UserName + " has invited you to collaborate on the organization: <a href=\"" + callbackUrl + "\">View invitation</a>"); return(View()); } } ViewBag.Message = "An error has occurred during the process"; } return(View(model)); }
/// <summary> /// CREATE PROJECTS /// </summary> /// <param name="title"></param> /// <param name="details"></param> /// <param name="expectedCompletionDate"></param> /// <param name="tenantId"></param> public void CreateProjects(string title, string details, DateTime?expectedCompletionDate, int?tenantId) { DAL.Models.ProjectMVCEntities db = new DAL.Models.ProjectMVCEntities(); db.Projects.Add(new DAL.Models.Projects { Title = title, Details = details, ExpectedCompletionDate = expectedCompletionDate, TenantId = tenantId, CreatedAt = DateTime.Now }); db.SaveChanges(); }
/// <summary> /// GET TENANTS BY USER /// </summary> /// <param name="userId"></param> /// <returns></returns> public List <Models.DB.Tenants> GetTenants(string userId) { DAL.Models.ProjectMVCEntities db = new DAL.Models.ProjectMVCEntities(); var listTenants = (from _tenants in db.Tenants join _users in db.AspNetUsers on _tenants.Id equals _users.TenantId where _users.Id.Equals(userId) select new Models.DB.Tenants { Id = _tenants.Id, Name = _tenants.Name, Plan = _tenants.Plan, CreatedAt = _tenants.CreatedAt, UpdatedAt = _tenants.UpdatedAt }).ToList(); return(listTenants); }
/// <summary> /// GET PROJECTS BY ID OR TENANT OR USER /// </summary> /// <param name="Id"></param> /// <param name="tenantId"></param> /// <param name="userId"></param> /// <returns></returns> public List <Models.DB.Projects> GetProjects(int?Id, int?tenantId, string userId = null) { DAL.Models.ProjectMVCEntities db = new DAL.Models.ProjectMVCEntities(); var listProjectsEF = (from _projects in db.Projects select _projects); if (Id != null) { listProjectsEF = listProjectsEF.Where(x => x.Id == Id); } if (tenantId != null) { listProjectsEF = listProjectsEF.Where(x => x.TenantId == tenantId); } if (!string.IsNullOrEmpty(userId)) { listProjectsEF = (from _projects in listProjectsEF join _userProjects in db.UserProjects on _projects.Id equals _userProjects.ProjectId where _userProjects.Id.Equals(Id) select _projects); } var listProjects = (from _projects in listProjectsEF select new Models.DB.Projects { Id = _projects.Id, Title = _projects.Title, Details = _projects.Details, ExpectedCompletionDate = _projects.ExpectedCompletionDate, TenantId = _projects.TenantId, CreatedAt = _projects.CreatedAt, UpdatedAt = _projects.UpdatedAt }).ToList(); return(listProjects); }
/// <summary> /// CREATE PROJECTS /// </summary> /// <param name="title"></param> /// <param name="details"></param> /// <param name="expectedCompletionDate"></param> /// <param name="tenantId"></param> public void CreateProjects(string title, string details, DateTime?expectedCompletionDate, int?tenantId) { DAL.Models.ProjectMVCEntities db = new DAL.Models.ProjectMVCEntities(); db.Projects.Add(new DAL.Models.Projects { Title = title, Details = details, ExpectedCompletionDate = expectedCompletionDate, TenantId = tenantId, CreatedAt = DateTime.Now }); db.SaveChanges(); /* * INSERT INTO Projects(Title, Details, ExpectedCompletionDate, TenantId, CreatedAt) * VALUES('Project Management', 'Details...','2019-03-30',2,'2019-03-18') */ }
/// <summary> /// GET USERS PROJECT /// </summary> /// <param name="projectId"></param> public List <Models.DB.UserProjects> GetUsersProject(int?projectId) { var _context = new DAL.Models.ProjectMVCEntities(); var listUsersProject = (from _userProjects in _context.UserProjects join _aspNetUsers in _context.AspNetUsers on _userProjects.UserId equals _aspNetUsers.Id where _userProjects.ProjectId == projectId select new Models.DB.UserProjects { Id = _userProjects.Id, ProjectId = _userProjects.ProjectId, UserId = _userProjects.UserId, AspNetUsers = new Models.DB.AspNetUsers { Email = _aspNetUsers.Email, UserName = _aspNetUsers.UserName }, CreatedAt = _userProjects.CreatedAt, UpdatedAt = _userProjects.UpdatedAt }).ToList(); return(listUsersProject); }