示例#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);
        }
示例#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);
        }
示例#3
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);
        }
示例#4
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);
        }
示例#5
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);
        }
示例#6
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);
        }
示例#7
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);
        }
示例#8
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);
        }
示例#9
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);
        }