示例#1
0
        /// <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();
        }
示例#2
0
        /// <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();
        }
示例#3
0
        /// <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);
        }
示例#4
0
        /// <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();
        }
示例#5
0
        /// <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();
        }
示例#6
0
        /// <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);
        }
示例#7
0
        /// <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);
        }
示例#8
0
        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));
        }
示例#9
0
        /// <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();
        }
示例#10
0
        /// <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);
        }
示例#11
0
        /// <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);
        }
示例#12
0
        /// <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')
             */
        }
示例#13
0
        /// <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);
        }