Ejemplo n.º 1
0
        /// <summary>
        /// Method definition to delete story
        /// </summary>
        /// <param name="storyId">Story Id</param>
        /// <returns>transaction results</returns>
        public TransactionResult DeleteStory(int storyId)
        {
            var result = new TransactionResult();

            try
            {
                using (var context = new TaskPlannerEntities())
                {
                    var storyObj = (from storyDetails in context.Stories.Where(i => i.IsActive && i.StoryId == storyId)
                                    select storyDetails).ToList();

                    storyObj.ForEach(i => i.UpdatedOn = DateTime.Now);
                    storyObj.ForEach(i => i.IsActive  = false);

                    context.SaveChanges();
                }
                result.IsSuccess = true;
            }
            catch (Exception ex)
            {
                result.IsSuccess = false;
                result.Exception = ex;
            }

            return(result);
        }
Ejemplo n.º 2
0
        public TransactionResult DeleteProject(int projectId)
        {
            var result = new TransactionResult();

            try
            {
                using (var context = new TaskPlannerEntities())
                {
                    var projectObj = (from projectDetails in context.Projects.Where(i => i.IsActive && i.ProjectId == projectId)
                                      select projectDetails).ToList();

                    projectObj.ForEach(i => i.IsActive = false);

                    context.SaveChanges();
                }
                result.IsSuccess = true;
            }
            catch (Exception ex)
            {
                result.IsSuccess = false;
                result.Exception = ex;
            }

            return(result);
        }
Ejemplo n.º 3
0
        public static bool IsUserHasAccessToProject(string emailId, int projectId)
        {
            var _result = false;

            try
            {
                using (var context = new TaskPlannerEntities())
                {
                    var result = (
                        from userDetails in context.AspNetUsers.Where(i => i.Email == emailId)
                        from projectDetails in context.ProjectPermissions.Where(i => i.IsActive && i.ProjectId == projectId && i.EmailId == emailId).DefaultIfEmpty()
                        from resultDetails in context.Projects.Where(i => i.IsActive && (i.ProjectId == projectDetails.ProjectId || (i.ProjectId == projectId && i.Owner == userDetails.Id)))
                        select resultDetails).Count();

                    if (result > 0)
                    {
                        _result = true;
                    }
                    else
                    {
                        _result = false;
                    }
                }
            }
            catch (Exception ex)
            {
                _result = false;
            }

            return(_result);
        }
Ejemplo n.º 4
0
        public TransactionResult UpdateProjectDetails(ProjectListObjects newProjectDetails, string email)
        {
            var result = new TransactionResult();

            try
            {
                using (var context = new TaskPlannerEntities())
                {
                    if (newProjectDetails != null && newProjectDetails.ProjectId > 0)
                    {
                        var projectDetailsObj = (from projects in context.Projects.Where(i => i.ProjectId == newProjectDetails.ProjectId && i.IsActive)
                                                 select projects).FirstOrDefault();
                        if (projectDetailsObj != null)
                        {
                            projectDetailsObj.ProjectName = newProjectDetails.ProjectName;
                            projectDetailsObj.Description = newProjectDetails.ProjectDescription;
                            projectDetailsObj.CreatedBy   = newProjectDetails.CreatedBy;
                        }
                    }
                    else
                    {
                        var newProject = new Project()
                        {
                            ProjectName = newProjectDetails.ProjectName,
                            Description = newProjectDetails.ProjectDescription,
                            CreatedBy   = newProjectDetails.CreatedBy,
                            Owner       = newProjectDetails.CreatedBy,
                            CreatedOn   = DateTime.Now,
                            IsActive    = true
                        };
                        context.Projects.Add(newProject);

                        var projectPermissionListObj = new ProjectPermission()
                        {
                            ProjectId = newProject.ProjectId,
                            EmailId   = email,
                            UpdatedOn = DateTime.Now,
                            IsActive  = true
                        };
                        context.ProjectPermissions.Add(projectPermissionListObj);
                    }



                    context.SaveChanges();
                }
                result.IsSuccess = true;
            }
            catch (Exception ex)
            {
                result.IsSuccess = false;
                result.Exception = ex;
            }

            return(result);
        }
Ejemplo n.º 5
0
        public TransactionResult UpdateProjectPermissionList(int projectId, string emailId, bool isProjectPermissionListAdded)
        {
            var result = new TransactionResult();

            try
            {
                using (var context = new TaskPlannerEntities())
                {
                    var projectPermissionObj = (from projectPermissionDetails in context.ProjectPermissions.Where(i => i.ProjectId == projectId && i.EmailId == emailId)
                                                select projectPermissionDetails).ToList();



                    if (isProjectPermissionListAdded)
                    {
                        if (projectPermissionObj != null && projectPermissionObj.Count > 0 && projectPermissionObj.Any(i => i.IsActive == false))
                        {
                            projectPermissionObj.Where(i => i.IsActive == false).ToList().ForEach(i => i.UpdatedOn = DateTime.Now);
                            projectPermissionObj.Where(i => i.IsActive == false).ToList().ForEach(i => i.IsActive  = true);
                        }
                        else
                        {
                            var projectPermissionListObj = new ProjectPermission()
                            {
                                ProjectId = projectId,
                                EmailId   = emailId,
                                UpdatedOn = DateTime.Now,
                                IsActive  = true
                            };
                            context.ProjectPermissions.Add(projectPermissionListObj);
                        }
                    }
                    else
                    {
                        if (projectPermissionObj != null && projectPermissionObj.Count > 0 && projectPermissionObj.Any(i => i.IsActive == true))
                        {
                            projectPermissionObj.Where(i => i.IsActive == true).ToList().ForEach(i => i.UpdatedOn = DateTime.Now);
                            projectPermissionObj.Where(i => i.IsActive == true).ToList().ForEach(i => i.IsActive  = false);
                        }
                    }

                    context.SaveChanges();
                }

                result.IsSuccess = true;
            }
            catch (Exception ex)
            {
                result.IsSuccess = false;
                result.Exception = ex;
            }

            return(result);
        }
Ejemplo n.º 6
0
        public TransactionResult UpdateFavouriteList(int projectId, string userId, bool isFavouriteListAdded)
        {
            var result = new TransactionResult();

            try
            {
                using (var context = new TaskPlannerEntities())
                {
                    var favouriteObj = (from favouritesDetails in context.Favourites.Where(i => i.ProjectId == projectId && i.UserId == userId)
                                        select favouritesDetails).ToList();

                    if (isFavouriteListAdded)
                    {
                        if (favouriteObj != null && favouriteObj.Count > 0 && favouriteObj.Any(i => i.IsActive == false))
                        {
                            favouriteObj.Where(i => i.IsActive == false).ToList().ForEach(i => i.UpdatedOn = DateTime.Now);
                            favouriteObj.Where(i => i.IsActive == false).ToList().ForEach(i => i.IsActive  = true);
                        }
                        else
                        {
                            var favouriteListObj = new Favourite()
                            {
                                ProjectId = projectId,
                                UserId    = userId,
                                UpdatedOn = DateTime.Now,
                                IsActive  = true
                            };
                            context.Favourites.Add(favouriteListObj);
                        }
                    }
                    else
                    {
                        if (favouriteObj != null && favouriteObj.Count > 0 && favouriteObj.Any(i => i.IsActive == true))
                        {
                            favouriteObj.Where(i => i.IsActive == true).ToList().ForEach(i => i.UpdatedOn = DateTime.Now);
                            favouriteObj.Where(i => i.IsActive == true).ToList().ForEach(i => i.IsActive  = false);
                        }
                    }

                    context.SaveChanges();
                }

                result.IsSuccess = true;
            }
            catch (Exception ex)
            {
                result.IsSuccess = false;
                result.Exception = ex;
            }

            return(result);
        }
Ejemplo n.º 7
0
        public dynamic GetProjectDetails(int projectId)
        {
            using (var context = new TaskPlannerEntities())
            {
                var result = (from p in context.Projects
                              where p.ProjectId == projectId
                              select
                              new { ProjectName = p.ProjectName, Description = p.Description }
                              ).FirstOrDefault();

                return(result);
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public static ProjectShareObjects GetProjectSharedList(int projectId, string emailid)
        {
            var list = new ProjectShareObjects();

            using (var context = new TaskPlannerEntities())
            {
                list.ProjectShareListObjects = (from a in context.ProjectPermissions.Where(x => (x.IsActive) && x.ProjectId == projectId &&
                                                                                           x.EmailId != emailid
                                                                                           )
                                                select new ProjectShareListObjects
                {
                    PermissionId = a.PermissionId,
                    EmailId = a.EmailId
                }).Distinct().OrderBy(x => x.EmailId).ToList();
            }
            return(list);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Method definition to get stories list
        /// </summary>
        /// <param name="projectId">Project Id</param>
        /// <returns>returns stories lists</returns>
        public List <StoryObjects> GetStoriesList(int projectId)
        {
            var result = new List <StoryObjects>();

            try
            {
                using (var context = new TaskPlannerEntities())
                {
                    result = (from story in context.Stories.Where(s => s.IsActive == true && s.ProjectId == projectId)
                              join project in context.Projects on story.ProjectId equals project.ProjectId
                              join tme in context.Themes on story.ThemeId equals tme.ThemeId into ps
                              from theme in ps.DefaultIfEmpty()
                              join epi in context.Epics on story.EpicId equals epi.EpicId into ps1
                              from epic in ps1.DefaultIfEmpty()
                              join pri in context.Priorities on story.PriorityId equals pri.PriorityId into ps2
                              from priority in ps2.DefaultIfEmpty()
                              where project.IsActive == true
                              select new StoryObjects()
                    {
                        StoryId = story.StoryId,
                        TaskId = story.TaskId,
                        Title = story.Title,
                        ThemeName = theme.ThemeName,
                        EpicName = epic.EpicName,
                        Priority = priority.PriorityName,
                        Milestone = story.Milestone,
                        Release = story.Release,
                        Status = story.Status,
                        Benifit = story.Benefit,
                        Penalty = story.Penality,
                        StoryPoints = story.StoryPoints,
                        Tag = story.Tag,
                        SortOrder = story.SortOrder,
                        SprintName = story.SprintName,
                        AssigneeName = story.AssigneeName
                    }).ToList();
                }
            }
            catch (Exception ex)
            {
                return(null);
            }

            return(result);
        }
Ejemplo n.º 10
0
        public TransactionResult GetEpicId(string epicName, int projectId, string userId)
        {
            var result = new TransactionResult();

            try
            {
                epicName = GetFormattedString(epicName);
                if (!string.IsNullOrEmpty(epicName))
                {
                    using (var context = new TaskPlannerEntities())
                    {
                        result.Id = (from resultDetails in context.Epics.Where(i => i.IsActive && i.EpicName == epicName)
                                     select resultDetails.EpicId).FirstOrDefault();

                        if (result.Id == null || result.Id == 0)
                        {
                            var obj = new Epic()
                            {
                                EpicName  = epicName,
                                ProjectId = projectId,
                                CreatedBy = userId,
                                CreatedOn = DateTime.Now,
                                IsActive  = true
                            };
                            context.Epics.Add(obj);
                            context.SaveChanges();

                            result.Id = obj.EpicId;
                        }
                    }
                }
                result.IsSuccess = true;
            }
            catch (Exception ex)
            {
                result.IsSuccess = false;
                result.Exception = ex;
                result.Id        = 0;
            }

            return(result);
        }
Ejemplo n.º 11
0
        public TransactionResult GetPriorityId(string priorityName, string userId)
        {
            var result = new TransactionResult();

            try
            {
                priorityName = GetFormattedString(priorityName);
                if (!string.IsNullOrEmpty(priorityName))
                {
                    using (var context = new TaskPlannerEntities())
                    {
                        result.Id = (from resultDetails in context.Priorities.Where(i => i.IsActive && i.PriorityName == priorityName)
                                     select resultDetails.PriorityId).FirstOrDefault();

                        if (result.Id == null || result.Id == 0)
                        {
                            var obj = new Priority()
                            {
                                PriorityName = priorityName,
                                CreatedBy    = userId,
                                SortOrder    = 0,
                                IsActive     = true
                            };
                            context.Priorities.Add(obj);
                            context.SaveChanges();

                            result.Id = obj.PriorityId;
                        }
                    }
                }
                result.IsSuccess = true;
            }
            catch (Exception ex)
            {
                result.IsSuccess = false;
                result.Exception = ex;
                result.Id        = 0;
            }

            return(result);
        }
Ejemplo n.º 12
0
        public static ProjectObjects GetProjectDetails(int projectId)
        {
            var projectList = new ProjectObjects();

            using (var context = new TaskPlannerEntities())
            {
                projectList.ProjectListObjects = (from a in context.Projects.Where(x => (x.IsActive && x.ProjectId == projectId))
                                                  from b in context.AspNetUsers.Where(y => y.Id == a.CreatedBy)
                                                  select new ProjectListObjects
                {
                    ProjectId = a.ProjectId,
                    ProjectName = a.ProjectName,
                    ProjectDescription = a.Description,
                    CreatedOn = a.CreatedOn,
                    CreatedBy = b.UserName,
                    Email = b.Email
                }).Distinct().ToList();
            }

            return(projectList);
        }
Ejemplo n.º 13
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="permissionId"></param>
        /// <returns></returns>
        public TransactionResult RemoveProjectPermission(int permissionId, string userid)
        {
            var result = new TransactionResult();

            try
            {
                using (var context = new TaskPlannerEntities())
                {
                    var projectPermissionObj = (from projectPermissionDetails in context.ProjectPermissions.Where(i => i.PermissionId == permissionId)
                                                select projectPermissionDetails).FirstOrDefault();
                    projectPermissionObj.IsActive = false;

                    var favProjects = (from f in context.Favourites
                                       where f.IsActive && projectPermissionObj.ProjectId == f.ProjectId && f.UserId == userid
                                       select
                                       f).ToList();

                    if (favProjects != null && favProjects.Count > 0)
                    {
                        foreach (var item in favProjects)
                        {
                            item.IsActive = false;
                        }
                    }


                    context.SaveChanges();
                }

                result.IsSuccess = true;
            }
            catch (Exception ex)
            {
                result.IsSuccess = false;
                result.Exception = ex;
            }

            return(result);
        }
Ejemplo n.º 14
0
        /// <summary>
        /// Method definition to add/update story
        /// </summary>
        /// <param name="newStoryDetails">Story Object</param>
        /// <returns>transaction results</returns>
        public TransactionResult UpdateStoryDetails(StoryObjects newStoryDetails)
        {
            var result = new TransactionResult();

            try
            {
                newStoryDetails.ThemeId    = GetThemeId(newStoryDetails.ThemeName, newStoryDetails.ProjectId, newStoryDetails.CreatedBy).Id;
                newStoryDetails.PriorityId = GetPriorityId(newStoryDetails.Priority, newStoryDetails.CreatedBy).Id;
                newStoryDetails.EpicId     = GetEpicId(newStoryDetails.EpicName, newStoryDetails.ProjectId, newStoryDetails.CreatedBy).Id;

                using (var context = new TaskPlannerEntities())
                {
                    if (newStoryDetails != null && newStoryDetails.StoryId > 0)
                    {
                        var storyDetailsObj = (from story in context.Stories.Where(i => i.StoryId == newStoryDetails.StoryId && i.IsActive)
                                               select story).FirstOrDefault();
                        if (storyDetailsObj != null)
                        {
                            storyDetailsObj.TaskId       = newStoryDetails.TaskId;
                            storyDetailsObj.Title        = newStoryDetails.Title;
                            storyDetailsObj.Description  = newStoryDetails.Description;
                            storyDetailsObj.ProjectId    = newStoryDetails.ProjectId;
                            storyDetailsObj.ThemeId      = newStoryDetails.ThemeId;
                            storyDetailsObj.EpicId       = newStoryDetails.EpicId;
                            storyDetailsObj.PriorityId   = newStoryDetails.PriorityId;
                            storyDetailsObj.Milestone    = newStoryDetails.Milestone;
                            storyDetailsObj.Release      = newStoryDetails.Release;
                            storyDetailsObj.Status       = newStoryDetails.Status;
                            storyDetailsObj.StoryPoints  = newStoryDetails.StoryPoints;
                            storyDetailsObj.Benefit      = newStoryDetails.Benifit;
                            storyDetailsObj.Penality     = newStoryDetails.Penalty;
                            storyDetailsObj.SortOrder    = newStoryDetails.SortOrder;
                            storyDetailsObj.AssigneeName = newStoryDetails.AssigneeName;
                            storyDetailsObj.SprintName   = newStoryDetails.SprintName;
                            storyDetailsObj.CreatedOn    = newStoryDetails.CreatedOn;
                            storyDetailsObj.UpdatedOn    = DateTime.Now;
                            storyDetailsObj.Tag          = newStoryDetails.Tag;

                            result.IsNewRecord = false;
                        }
                    }
                    else
                    {
                        var newStory = new Story()
                        {
                            TaskId       = newStoryDetails.TaskId,
                            Title        = newStoryDetails.Title,
                            Description  = newStoryDetails.Description,
                            ProjectId    = newStoryDetails.ProjectId,
                            ThemeId      = newStoryDetails.ThemeId,
                            EpicId       = newStoryDetails.EpicId,
                            PriorityId   = newStoryDetails.PriorityId,
                            Milestone    = newStoryDetails.Milestone,
                            Release      = newStoryDetails.Release,
                            Status       = newStoryDetails.Status,
                            StoryPoints  = newStoryDetails.StoryPoints,
                            Benefit      = newStoryDetails.Benifit,
                            Penality     = newStoryDetails.Penalty,
                            SortOrder    = newStoryDetails.SortOrder,
                            CreatedBy    = newStoryDetails.CreatedBy,
                            AssigneeName = newStoryDetails.AssigneeName,
                            SprintName   = newStoryDetails.SprintName,
                            CreatedOn    = DateTime.Now,
                            UpdatedOn    = DateTime.Now,
                            Tag          = newStoryDetails.Tag,
                            IsActive     = true
                        };

                        context.Stories.Add(newStory);

                        result.IsNewRecord = true;
                    }

                    context.SaveChanges();
                }
                result.IsSuccess = true;
            }
            catch (Exception ex)
            {
                result.IsSuccess = false;
                result.Exception = ex;
            }

            return(result);
        }
Ejemplo n.º 15
0
        public static ProjectObjects GetProjectList(string filter, string currentUserEmail)
        {
            var projectList = new ProjectObjects();

            using (var context = new TaskPlannerEntities())
            {
                if (filter == "favourites")
                {
                    projectList.ProjectListObjects = (from c in context.AspNetUsers.Where(y => (y.Email == currentUserEmail))
                                                      from d in context.ProjectPermissions.Where(i => i.IsActive && i.EmailId == currentUserEmail).DefaultIfEmpty()
                                                      from a in context.Projects.Where(x => (x.IsActive && (x.ProjectId == d.ProjectId)))
                                                      from b in context.Favourites.Where(y => (y.UserId == c.Id && y.ProjectId == a.ProjectId && y.IsActive))
                                                      from owner in context.AspNetUsers.Where(y => (y.Id == a.CreatedBy)
                                                                                              )
                                                      select new ProjectListObjects
                    {
                        ProjectId = a.ProjectId,
                        ProjectName = a.ProjectName,
                        ProjectDescription = a.Description,
                        CreatedOn = a.CreatedOn,
                        CreatedBy = owner.Email,
                        Email = owner.Email,
                        IsOwner = owner.Email == currentUserEmail
                    }).Distinct().ToList();
                }

                else if (filter == "all")
                {
                    var projPermission = (from c in context.ProjectPermissions where c.EmailId == currentUserEmail && c.IsActive select c.ProjectId).ToList();

                    if (projPermission != null && projPermission.Count > 0)
                    {
                        projectList.ProjectListObjects = (
                            from a in context.Projects.Where(x => x.IsActive && projPermission.Contains(x.ProjectId))
                            from b in context.AspNetUsers.Where(i => i.Id == a.CreatedBy)

                            select new ProjectListObjects
                        {
                            ProjectId = a.ProjectId,
                            ProjectName = a.ProjectName,
                            ProjectDescription = a.Description,
                            CreatedOn = a.CreatedOn,
                            CreatedBy = b.Email,
                            Email = b.Email,
                            IsOwner = b.Email == currentUserEmail
                        }).Distinct().ToList();
                    }
                }
                else
                {
                    projectList.ProjectListObjects = (from b in context.AspNetUsers.Where(y => y.Email == currentUserEmail)
                                                      from a in context.Projects.Where(x => (x.IsActive && x.CreatedBy == b.Id))

                                                      select new ProjectListObjects
                    {
                        ProjectId = a.ProjectId,
                        ProjectName = a.ProjectName,
                        ProjectDescription = a.Description,
                        CreatedOn = a.CreatedOn,
                        CreatedBy = b.Email,
                        Email = b.Email,
                        IsOwner = true
                    }).Distinct().ToList();
                }


                if (projectList != null && projectList.ProjectListObjects != null && projectList.ProjectListObjects.Count > 0)
                {
                    var projects = projectList.ProjectListObjects.Select(x => x.ProjectId).ToList();

                    var userid = context.AspNetUsers.Where(x => x.Email == currentUserEmail).Select(x => x.Id).FirstOrDefault();


                    var favouriteObj = (from favouritesDetails in context.Favourites.Where(i => projects.Contains(i.ProjectId) && i.IsActive && i.UserId == userid)
                                        select favouritesDetails.ProjectId).ToList();


                    if (favouriteObj != null)
                    {
                        foreach (var item in projectList.ProjectListObjects)
                        {
                            if (favouriteObj.Contains(item.ProjectId))
                            {
                                item.IsFavourite = true;
                            }
                        }
                    }
                }
            }

            return(projectList);
        }