/// <summary>
        /// Method to populate the edit popup
        /// </summary>
        /// <param name="page"></param>
        /// <param name="sort"></param>
        /// <param name="sortDir"></param>
        /// <returns></returns>
        //Edit Release
        public ActionResult EditRelease(int releaseId)
        {
            ContinuousIntegrationEntities ci = new ContinuousIntegrationEntities();
            var data = (from a in ci.T_Projects
                        join b in ci.T_Streams
                        on a.C_ProjectID equals b.C_ProjectID
                        join c in ci.T_Releases
                        on b.C_StreamID equals c.C_StreamID
                        where releaseId == c.C_ReleaseID
                        select new { a.C_ProjectID, c.C_ReleaseID, c.C_ReleaseName, c.C_StatusID, c.C_StreamID, c.C_LastModified, b.C_StreamName }).FirstOrDefault();
            NewReleaseModel Obj;

            if (Request.IsAjaxRequest())
            {
                Obj = new NewReleaseModel();
                Obj.C_ReleaseName  = data.C_ReleaseName;
                Obj.C_ReleaseID    = data.C_ReleaseID;
                Obj.C_StreamID     = data.C_StreamID;
                Obj.C_StatusID     = data.C_StatusID;
                Obj.C_LastModified = data.C_LastModified;
                Obj.C_ProjectID    = data.C_ProjectID;

                ViewBag.StreamName  = new SelectList(ci.T_Streams.Where(x => x.C_ProjectID.Equals(data.C_ProjectID)), "C_StreamID", "C_StreamName", ci.T_Streams.Where(x => x.C_StreamID.Equals(data.C_StreamID)));
                ViewBag.StatusName  = new SelectList(ci.T_Status, "C_StatusID", "C_StatusName");
                ViewBag.ProjectName = new SelectList(ci.T_Projects, "C_ProjectID", "C_ProjectName");
                ViewBag.IsUpdate    = true;
                return(View("_EditRelease", Obj));
            }
            else
            {
                return(View(data));
            }
        }
예제 #2
0
        public ActionResult Login(UserLoginModel val)
        {
            try
            {
                var model = val;

                //Validate the user
                ContinuousIntegrationEntities ci = new ContinuousIntegrationEntities();
                var user = (from a in ci.T_Registrations
                            where a.C_FirstName == val.C_UserName && a.C_Password == val.C_UserPassword
                            select a).FirstOrDefault();


                if (user == null)
                {
                    ModelState.AddModelError("", "Invalid name and password");
                    return(View("Login"));
                }


                Session["LoggedUserID"]   = user.C_RegisterID.ToString();
                Session["LoggedUserName"] = user.C_FirstName.ToString();

                return(RedirectToAction("List", "User"));
            }
            catch (Exception e)
            {
                throw new ApplicationException("Error: " + e);
            }
        }
예제 #3
0
 /// <summary>
 /// Fetch all the projects details
 /// </summary>
 /// <returns>List of projects</returns>
 public List <T_Projects> GetAllProjects()
 {
     using (var db = new ContinuousIntegrationEntities())
     {
         var projectDetails = from projects in db.T_Projects select projects;
         return(projectDetails.ToList());
     }
 }
예제 #4
0
 /// <summary>
 /// Fetch all the streams details
 /// </summary>
 /// <returns>List of streams</returns>
 public List <T_Streams> GetAllStreams()
 {
     using (var db = new ContinuousIntegrationEntities())
     {
         var streamsDetails = from streams in db.T_Streams select streams;
         return(streamsDetails.ToList());
     }
 }
예제 #5
0
 /// <summary>
 /// Fetch all the subreleases details
 /// </summary>
 /// <returns>List of sub-releases</returns>
 public List <T_SubReleases> GetAllSubReleases()
 {
     using (var db = new ContinuousIntegrationEntities())
     {
         var subReleasesDetails = from subReleases in db.T_SubReleases select subReleases;
         return(subReleasesDetails.ToList());
     }
 }
예제 #6
0
 /// <summary>
 /// Fetch all the user deatils
 /// </summary>
 /// <returns>List of users</returns>
 public List <T_Registrations> GetAllUsers()
 {
     using (var db = new ContinuousIntegrationEntities())
     {
         var userDetails = from registrations in db.T_Registrations select registrations;
         return(userDetails.ToList());
     }
 }
예제 #7
0
 /// <summary>
 /// Fetch all the streams details
 /// </summary>
 /// <returns>List of streams</returns>
 public List<T_Streams> GetAllStreams()
 {
     using (var db = new ContinuousIntegrationEntities())
     {
         var streamsDetails = from streams in db.T_Streams select streams;
         return streamsDetails.ToList();
     }
 }
예제 #8
0
 /// <summary>
 /// Fetch all the roles details 
 /// </summary>
 /// <returns>List of Roles</returns>
 public List<T_Roles> GetAllRoles()
 {
     using (var db = new ContinuousIntegrationEntities())
     {
         var rolesDetails = from roles in db.T_Roles select roles;
         return rolesDetails.ToList();
     }
 }
예제 #9
0
 /// <summary>
 /// Fetch all the projects details
 /// </summary>
 /// <returns>List of projects</returns>
 public List<T_Projects> GetAllProjects()
 {
     using (var db = new ContinuousIntegrationEntities())
     {
         var projectDetails = from projects in db.T_Projects select projects;
         return projectDetails.ToList();
     }
 }
예제 #10
0
 /// <summary>
 /// Fetch all the roles details
 /// </summary>
 /// <returns>List of Roles</returns>
 public List <T_Roles> GetAllRoles()
 {
     using (var db = new ContinuousIntegrationEntities())
     {
         var rolesDetails = from roles in db.T_Roles select roles;
         return(rolesDetails.ToList());
     }
 }
예제 #11
0
 /// <summary>
 /// Fetch the role id of the specific user
 /// </summary>
 /// <param name="userId">Id of the user</param>
 /// <returns>List of ids</returns>
 public List <int> GetRoleId(int userId)
 {
     using (var db = new ContinuousIntegrationEntities())
     {
         var userRoleId = from userRoleMappings in db.T_UserRoleMappings where userRoleMappings.C_RegisterID == userId select userRoleMappings.C_RoleID;
         return(userRoleId.ToList());
     }
 }
예제 #12
0
 /// <summary>
 /// Fetch all the subreleases details
 /// </summary>
 /// <returns>List of sub-releases</returns>
 public List<T_SubReleases> GetAllSubReleases()
 {
     using (var db = new ContinuousIntegrationEntities())
     {
         var subReleasesDetails = from subReleases in db.T_SubReleases select subReleases;
         return subReleasesDetails.ToList();
     }
 }
예제 #13
0
        /// <summary>
        /// Fetch project details for T_Projets for projects available
        /// </summary>
        /// <param name="userId">Id of the user</param>
        /// <returns>List of available projects</returns>
        public List <T_Projects> GetAvailableProjects(int userId)
        {
            using (var db = new ContinuousIntegrationEntities())
            {
                var userProjectIds = (from b in db.T_UserProjectMappings where b.C_RegisterID == userId select b.C_ProjectID).ToList();
                var projectDetails = from a in db.T_Projects where !userProjectIds.Contains(a.C_ProjectID) select a;

                return(projectDetails.ToList());
            }
        }
예제 #14
0
        /// <summary>
        /// Fetch project details from T_Projects for projects assigned
        /// </summary>
        /// <param name="userId">Id of the user</param>
        /// <returns>List of assigned projects</returns>
        public List <T_Projects> GetAssignedProjects(int userId)
        {
            using (var db = new ContinuousIntegrationEntities())
            {
                var projectDetails = from userProjectMappings in db.T_UserProjectMappings
                                     join projects in db.T_Projects on userProjectMappings.C_ProjectID equals projects.C_ProjectID
                                     where userProjectMappings.C_RegisterID == userId
                                     select projects;

                return(projectDetails.ToList());
            }
        }
 /// <summary>
 /// Method to add new project
 /// </summary>
 /// <param name="page"></param>
 /// <param name="sort"></param>
 /// <param name="sortDir"></param>
 /// <returns></returns>
 //Add Streams
 public ActionResult CreateS()
 {
     if (Request.IsAjaxRequest())
     {
         ViewBag.IsUpdate = false;
         ContinuousIntegrationEntities ci = new ContinuousIntegrationEntities();
         ViewBag.ProjectName = new SelectList(ci.T_Projects, "C_ProjectID", "C_ProjectName");
         return(View("_CreateStream"));
     }
     else
     {
         return(View());
     }
 }
예제 #16
0
        /// <summary>
        /// Save user's role details
        /// </summary>
        /// <param name="roleDetails">Role details</param>
        public void SaveUserRoleDetails(ConfigurationModel roleDetails)
        {
            using (var db = new ContinuousIntegrationEntities())
            {
                var userRoleMappings = new T_UserRoleMappings
                {
                    C_RegisterID   = roleDetails.SelectedUserID,
                    C_RoleID       = roleDetails.SelectedRoleID,
                    C_LastModified = DateTime.Now
                };

                db.T_UserRoleMappings.Add(userRoleMappings);
                db.SaveChanges();
            }
        }
예제 #17
0
        /// <summary>
        /// Save user's details in T_Registrations table
        /// </summary>
        /// <param name="registrationDetails">Details of registering user</param>
        public void SaveUserDetails(UserRegisteration registrationDetails)
        {
            using (var db = new ContinuousIntegrationEntities())
            {
                var registrations = new T_Registrations
                {
                    C_FirstName = registrationDetails.C_FirstName,
                    C_LastName  = registrationDetails.C_LastName,
                    C_EmailID   = registrationDetails.C_EmailID,
                    C_Password  = registrationDetails.C_Password
                };

                db.T_Registrations.Add(registrations);
                db.SaveChanges();
            }
        }
        public JsonResult GetReleasesbyStreams(string streamID)
        {
            JsonResult jsonResult;
            int        id;

            if (int.TryParse(streamID, out id))
            {
                using (var ci = new ContinuousIntegrationEntities())
                {
                    var mappedreleases = (from release in ci.T_Releases
                                          where release.C_StreamID == id
                                          select new { Id = release.C_ReleaseID, Name = release.C_ReleaseName }).ToList();

                    return(Json(mappedreleases, JsonRequestBehavior.AllowGet));
                }
            }
            return(Json("Not Valid Request", JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// Method to get cascading dropdown list
        /// </summary>
        /// <param name="page"></param>
        /// <param name="sort"></param>
        /// <param name="sortDir"></param>
        /// <returns></returns>
        public JsonResult GetStreamsByProject(string projectID)
        {
            JsonResult jsonResult;
            int        id;

            if (int.TryParse(projectID, out id))
            {
                using (var ci = new ContinuousIntegrationEntities())
                {
                    var mappedStreams = (from stream in ci.T_Streams
                                         where stream.C_ProjectID == id
                                         select new { Id = stream.C_StreamID, Name = stream.C_StreamName }).ToList();

                    return(Json(mappedStreams, JsonRequestBehavior.AllowGet));
                }
            }
            return(Json("Not Valid Request", JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// Method to add new Sub-Release
        /// </summary>
        /// <param name="page"></param>
        /// <param name="sort"></param>
        /// <param name="sortDir"></param>
        /// <returns></returns>
        //Add SubRelease
        public ActionResult CreateSR()
        {
            if (Request.IsAjaxRequest())
            {
                ViewBag.IsUpdate = false;
                ContinuousIntegrationEntities ci = new ContinuousIntegrationEntities();

                ViewBag.StatusName  = new SelectList(ci.T_Status, "C_StatusID", "C_StatusName");
                ViewBag.ProjectName = new SelectList(ci.T_Projects, "C_ProjectID", "C_ProjectName");
                ViewBag.ReleaseName = new SelectList(ci.T_Releases, "C_ReleaseID", "C_ReleaseName");
                ViewBag.StreamName  = new SelectList(ci.T_Streams, "C_StreamID", "C_StreamName");
                return(View("_CreateSubRelease"));
            }
            else
            {
                return(View());
            }
        }
 /// <summary>
 /// Method to add new Release
 /// </summary>
 /// <param name="page"></param>
 /// <param name="sort"></param>
 /// <param name="sortDir"></param>
 /// <returns></returns>
 //Add Release
 public ActionResult CreateR()
 {
     if (Request.IsAjaxRequest())
     {
         List <T_Projects> allproject = new List <T_Projects>();
         List <T_Streams>  allstream  = new List <T_Streams>();
         ViewBag.IsUpdate = false;
         using (ContinuousIntegrationEntities ci = new ContinuousIntegrationEntities())
         {
             allproject = ci.T_Projects.OrderBy(a => a.C_ProjectName).ToList();
         }
         ContinuousIntegrationEntities c = new ContinuousIntegrationEntities();
         ViewBag.StatusName  = new SelectList(c.T_Status, "C_StatusID", "C_StatusName");
         ViewBag.ProjectName = new SelectList(allproject, "C_ProjectID", "C_ProjectName");
         ViewBag.StreamName  = new SelectList(allstream, "C_StreamID", "C_StreamName");
         return(View("_CreateRelease"));
     }
     else
     {
         return(View());
     }
 }
예제 #22
0
        /// <summary>
        /// This method will return the
        /// gridview of the project Summary
        /// </summary>
        /// <param name="reg">TProjects model</param>
        /// <returns>List view</returns>
        public ActionResult List()
        {
            try
            {
                var        projects = new List <T_Projects>();
                T_Projects project;

                using (ContinuousIntegrationEntities ci = new ContinuousIntegrationEntities())
                {
                    //userID is received through querystring
                    var userId         = Convert.ToInt32(Session["LoggedUserID"]);
                    var listOfProjects = ci.GetAllProjects(userId);

                    foreach (var item in listOfProjects) //loop to populate Project with list of projects
                    {
                        project = new T_Projects
                        {
                            C_ProjectID          = item.C_ProjectID,
                            C_ProjectName        = item.C_ProjectName,
                            C_ProjectDescription = item.C_ProjectDescription,
                            C_LastModified       = item.C_LastModified
                        };
                        projects.Add(project);
                    }

                    if (projects.Count == 0)
                    {
                        ViewBag.Msg = "You are not assigned any project.";
                        return(View("ErrorPage"));
                    }
                    return(View(projects));
                }
            }
            catch (Exception e)
            {
                throw new ApplicationException("Error: " + e);
            }
        }
        /// <summary>
        /// Method to populate the edit popup
        /// </summary>
        /// <param name="page"></param>
        /// <param name="sort"></param>
        /// <param name="sortDir"></param>
        /// <returns></returns>
        //Edit Stream
        public ActionResult EditStream(int streamId)
        {
            ContinuousIntegrationEntities ci = new ContinuousIntegrationEntities();
            var data = sobjModel.GetStreamDetails(streamId);

            if (Request.IsAjaxRequest())
            {
                NewStreamModel Obj = new NewStreamModel();
                Obj.C_StreamName   = data.C_StreamName;
                Obj.C_ProjectID    = data.C_ProjectID;
                Obj.C_StreamID     = data.C_StreamID;
                Obj.C_LastModified = data.C_LastModified;


                ViewBag.ProjectName = new SelectList(ci.T_Projects, "C_ProjectID", "C_ProjectName");
                ViewBag.IsUpdate    = true;
                return(View("_EditStream", Obj));
            }
            else
            {
                return(View(data));
            }
        }
예제 #24
0
        /// <summary>
        /// Fetch project details for T_Projets for projects available
        /// </summary>
        /// <param name="userId">Id of the user</param>
        /// <returns>List of available projects</returns>
        public List<T_Projects> GetAvailableProjects(int userId)
        {
            using (var db = new ContinuousIntegrationEntities())
            {
                var userProjectIds = (from b in db.T_UserProjectMappings where b.C_RegisterID == userId select b.C_ProjectID).ToList();
                var projectDetails = from a in db.T_Projects where !userProjectIds.Contains(a.C_ProjectID) select a;

                return projectDetails.ToList();
            }
        }
        /// <summary>
        /// Method to add new Release
        /// </summary>
        /// <param name="page"></param>
        /// <param name="sort"></param>
        /// <param name="sortDir"></param>
        /// <returns></returns>
        //Add Release
        public ActionResult CreateR()
        {
            if (Request.IsAjaxRequest())
            {
                List<T_Projects> allproject = new List<T_Projects>();
                List<T_Streams> allstream = new List<T_Streams>();
                ViewBag.IsUpdate = false;
                using (ContinuousIntegrationEntities ci = new ContinuousIntegrationEntities())
                {
                    allproject = ci.T_Projects.OrderBy(a => a.C_ProjectName).ToList();
                }
                ContinuousIntegrationEntities c = new ContinuousIntegrationEntities();
                ViewBag.StatusName = new SelectList(c.T_Status, "C_StatusID", "C_StatusName");
                ViewBag.ProjectName = new SelectList(allproject, "C_ProjectID", "C_ProjectName");
                ViewBag.StreamName = new SelectList(allstream, "C_StreamID", "C_StreamName");
                return View("_CreateRelease");
            }
            else

                return View();
        }
예제 #26
0
        /// <summary>
        /// Save user's details in T_Registrations table
        /// </summary>
        /// <param name="registrationDetails">Details of registering user</param>
        public void SaveUserDetails(UserRegisteration registrationDetails)
        {
            using (var db = new ContinuousIntegrationEntities())
            {
                var registrations = new T_Registrations
                {
                    C_FirstName = registrationDetails.C_FirstName,
                    C_LastName = registrationDetails.C_LastName,
                    C_EmailID = registrationDetails.C_EmailID,
                    C_Password = registrationDetails.C_Password
                };

                db.T_Registrations.Add(registrations);
                db.SaveChanges();
            }
        }
        public JsonResult GetReleasesbyStreams(string streamID)
        {
            JsonResult jsonResult;
            int id;
            if (int.TryParse(streamID, out id))
            {
                using (var ci = new ContinuousIntegrationEntities())
                {
                    var mappedreleases = (from release in ci.T_Releases
                                          where release.C_StreamID == id
                                          select new { Id = release.C_ReleaseID, Name = release.C_ReleaseName }).ToList();

                    return Json(mappedreleases, JsonRequestBehavior.AllowGet);
                }
            }
            return Json("Not Valid Request", JsonRequestBehavior.AllowGet);
        }
        /// <summary>
        /// Method to get cascading dropdown list 
        /// </summary>
        /// <param name="page"></param>
        /// <param name="sort"></param>
        /// <param name="sortDir"></param>
        /// <returns></returns>
        public JsonResult GetStreamsByProject(string projectID)
        {
            JsonResult jsonResult;
            int id;
            if (int.TryParse(projectID, out id))
            {
                using (var ci = new ContinuousIntegrationEntities())
                {
                    var mappedStreams = (from stream in ci.T_Streams
                                         where stream.C_ProjectID == id
                                         select new { Id = stream.C_StreamID, Name = stream.C_StreamName }).ToList();

                    return Json(mappedStreams, JsonRequestBehavior.AllowGet);
                }
            }
            return Json("Not Valid Request", JsonRequestBehavior.AllowGet);
        }
예제 #29
0
        /// <summary>
        /// This method will display the view having
        /// development status
        /// </summary>
        /// <param name="id">Project Id</param>
        /// <returns>GetTreeView view</returns>
        public ActionResult GetTreeView(int id)
        {
            DBHelper           dataObj = new DBHelper();
            ProjectParentModel parentProjectModel;
            T_Status           t = new T_Status();


            using (ContinuousIntegrationEntities ci = new ContinuousIntegrationEntities())
            {
                var userId = Convert.ToInt32(Session["LoggedUserID"]);

                //Linq to check user has access to given project or not
                var isUser = (from a in ci.T_UserProjectMappings
                              where a.C_RegisterID == userId && a.C_ProjectID == id
                              select a).FirstOrDefault();

                var isAdmin = (from t1 in ci.T_UserRoleMappings
                               where t1.C_RoleID == 1 && t1.C_RegisterID == userId
                               select t1).FirstOrDefault();

                var doesProjectExists = (from t1 in ci.T_Projects
                                         where t1.C_ProjectID == id
                                         select t1).FirstOrDefault();

                if (doesProjectExists == null)
                {
                    ViewBag.Msg = "This project does not exists!";
                    return(View("ErrorPage"));
                }
                else if (isAdmin == null && isUser == null)
                {
                    ViewBag.Msg = "You are not assigned this project.";
                    return(View("ErrorPage"));
                }
                else
                {
                    var projectDetails = ci.ProjectDetails(userId, id);

                    parentProjectModel = new ProjectParentModel
                    {
                        Releases      = new List <T_Releases>(),
                        SubReleases   = new List <T_SubReleases>(),
                        ProjectStatus = new List <T_Status>(),
                        Streams       = new List <T_Streams>()
                    };
                    parentProjectModel.Statuses = dataObj.GetAllStatuses();

                    foreach (var item in projectDetails) //loop to populate with Pdetails
                    {
                        #region Streams

                        var stream = new T_Streams()
                        {
                            C_StreamName = item.C_StreamName,
                            C_StreamID   = item.C_StreamID
                        };
                        parentProjectModel.Streams.Add(stream);

                        #endregion

                        #region Release

                        var release = new T_Releases()
                        {
                            C_ReleaseName = item.C_ReleaseName,
                            C_StreamID    = item.C_StreamID,
                            C_ReleaseID   = Convert.ToInt32(item.C_ReleaseID)
                        };
                        parentProjectModel.Releases.Add(release);

                        #endregion

                        #region SubRelease

                        T_SubReleases subRelease = new T_SubReleases()
                        {
                            C_SubReleaseName = item.C_SubReleaseName,
                            C_ReleaseID      = Convert.ToInt32(item.C_ReleaseID),
                            C_StatusID       = Convert.ToInt32(item.C_StatusID)
                        };
                        parentProjectModel.SubReleases.Add(subRelease);

                        #endregion

                        #region ProjectStatus

                        T_Status status = new T_Status()
                        {
                            C_StatusName = item.C_StatusName,
                            C_StatusID   = Convert.ToInt32(item.C_StatusID)
                        };
                        parentProjectModel.ProjectStatus.Add(status);

                        #endregion
                    }

                    return(View("GetTreeView", parentProjectModel));
                }
            }
        }
        /// <summary>
        /// This method will return the 
        /// gridview of the project Summary
        /// </summary>
        /// <param name="reg">TProjects model</param>
        /// <returns>List view</returns>
        public ActionResult List()
        {
            try
            {
                var projects = new List<T_Projects>();
                T_Projects project;

                using (ContinuousIntegrationEntities ci = new ContinuousIntegrationEntities())
                {
                    //userID is received through querystring
                    var userId = Convert.ToInt32(Session["LoggedUserID"]);
                    var listOfProjects = ci.GetAllProjects(userId);

                    foreach (var item in listOfProjects) //loop to populate Project with list of projects
                    {
                        project = new T_Projects
                        {
                            C_ProjectID = item.C_ProjectID,
                            C_ProjectName = item.C_ProjectName,
                            C_ProjectDescription = item.C_ProjectDescription,
                            C_LastModified = item.C_LastModified
                        };
                        projects.Add(project);
                    }

                    if (projects.Count == 0)
                    {
                        ViewBag.Msg = "You are not assigned any project.";
                        return View("ErrorPage");
                    }
                    return View(projects);
                }
            }
            catch (Exception e)
            {
                throw new ApplicationException("Error: " + e);
            }
        }
        /// <summary>
        /// Method to add new project
        /// </summary>
        /// <param name="page"></param>
        /// <param name="sort"></param>
        /// <param name="sortDir"></param>
        /// <returns></returns>
        //Add Streams
        public ActionResult CreateS()
        {
            if (Request.IsAjaxRequest())
            {
                ViewBag.IsUpdate = false;
                ContinuousIntegrationEntities ci = new ContinuousIntegrationEntities();
                ViewBag.ProjectName = new SelectList(ci.T_Projects, "C_ProjectID", "C_ProjectName");
                return View("_CreateStream");
            }
            else

                return View();
        }
        /// <summary>
        /// This method will display the view having
        /// development status
        /// </summary>
        /// <param name="id">Project Id</param>
        /// <returns>GetTreeView view</returns>
        public ActionResult GetTreeView(int id)
        {
            DBHelper dataObj = new DBHelper();
            ProjectParentModel parentProjectModel;
            T_Status t = new T_Status();

            using (ContinuousIntegrationEntities ci = new ContinuousIntegrationEntities())
            {
                var userId = Convert.ToInt32(Session["LoggedUserID"]);

                //Linq to check user has access to given project or not
                var isUser = (from a in ci.T_UserProjectMappings
                              where a.C_RegisterID == userId && a.C_ProjectID == id
                              select a).FirstOrDefault();

                var isAdmin = (from t1 in ci.T_UserRoleMappings
                               where t1.C_RoleID == 1 && t1.C_RegisterID == userId
                               select t1).FirstOrDefault();

                var doesProjectExists = (from t1 in ci.T_Projects
                                         where t1.C_ProjectID == id
                                         select t1).FirstOrDefault();

                if (doesProjectExists == null)
                {
                    ViewBag.Msg = "This project does not exists!";
                    return View("ErrorPage");
                }
                else if (isAdmin == null && isUser == null)
                {
                    ViewBag.Msg = "You are not assigned this project.";
                    return View("ErrorPage");
                }
                else
                {
                    var projectDetails = ci.ProjectDetails(userId, id);

                    parentProjectModel = new ProjectParentModel
                    {
                        Releases = new List<T_Releases>(),
                        SubReleases = new List<T_SubReleases>(),
                        ProjectStatus = new List<T_Status>(),
                        Streams = new List<T_Streams>()
                    };
                    parentProjectModel.Statuses = dataObj.GetAllStatuses();

                    foreach (var item in projectDetails) //loop to populate with Pdetails
                    {
                        #region Streams

                        var stream = new T_Streams()
                        {
                            C_StreamName = item.C_StreamName,
                            C_StreamID = item.C_StreamID
                        };
                        parentProjectModel.Streams.Add(stream);

                        #endregion

                        #region Release

                        var release = new T_Releases()
                        {
                            C_ReleaseName = item.C_ReleaseName,
                            C_StreamID = item.C_StreamID,
                            C_ReleaseID = Convert.ToInt32(item.C_ReleaseID)
                        };
                        parentProjectModel.Releases.Add(release);

                        #endregion

                        #region SubRelease

                        T_SubReleases subRelease = new T_SubReleases()
                        {
                            C_SubReleaseName = item.C_SubReleaseName,
                            C_ReleaseID = Convert.ToInt32(item.C_ReleaseID),
                            C_StatusID = Convert.ToInt32(item.C_StatusID)
                        };
                        parentProjectModel.SubReleases.Add(subRelease);

                        #endregion

                        #region ProjectStatus

                        T_Status status = new T_Status()
                        {
                            C_StatusName = item.C_StatusName,
                            C_StatusID = Convert.ToInt32(item.C_StatusID)
                        };
                        parentProjectModel.ProjectStatus.Add(status);

                        #endregion
                    }

                    return View("GetTreeView", parentProjectModel);
                }
            }
        }
        public string AccessRoles(ConfigurationModel configurationDetails)
        {
            try
            {
                T_UserProjectMappings userProjectMappings;
                var db = new ContinuousIntegrationEntities();

                //Remove project id from T_UserProjectMappings table
                db.RemoveAllMapProjectIdsOfUser(configurationDetails.SelectedUserID);

                //Remove role id from T_UserRoleMappings table
                db.RemoveAllMapRoleIdsOfUser(configurationDetails.SelectedUserID);


                //PREVIOUS CODE
                // if (configurationDetails.ProjectsAssigned != null)
                //{
                //    //Loop to save data in T_UserProjectMappings table
                //    foreach (var item in configurationDetails.ProjectsAssigned)
                //    {
                //        userProjectMappings = new T_UserProjectMappings
                //        {
                //            C_RegisterID = configurationDetails.SelectedUserID,
                //            C_ProjectID = item,
                //            C_LastModified = DateTime.Now
                //        };

                //        db.T_UserProjectMappings.Add(userProjectMappings);
                //        db.SaveChanges();
                //    }
                //}

                if (configurationDetails.SelectedRoleID.Equals(2))
                {
                    //Loop to save data in T_UserProjectMappings table
                    if (configurationDetails.ProjectsAssigned != null)
                    {
                        foreach (var item in configurationDetails.ProjectsAssigned)
                        {
                            userProjectMappings = new T_UserProjectMappings
                            {
                                C_RegisterID   = configurationDetails.SelectedUserID,
                                C_ProjectID    = item,
                                C_LastModified = DateTime.Now
                            };

                            db.T_UserProjectMappings.Add(userProjectMappings);
                            db.SaveChanges();
                        }
                    }
                }

                else if (configurationDetails.SelectedRoleID.Equals(1))
                {
                    db.RemoveAllMapProjectIdsOfUser(configurationDetails.SelectedUserID);
                }
                dbHelper.SaveUserRoleDetails(configurationDetails);
                return("true");
            }
            catch (Exception)
            {
                return("false");
            }
        }
예제 #34
0
        /// <summary>
        /// Save user's role details
        /// </summary>
        /// <param name="roleDetails">Role details</param>
        public void SaveUserRoleDetails(ConfigurationModel roleDetails)
        {
            using (var db = new ContinuousIntegrationEntities())
            {
                var userRoleMappings = new T_UserRoleMappings
                {
                    C_RegisterID = roleDetails.SelectedUserID,
                    C_RoleID = roleDetails.SelectedRoleID,
                    C_LastModified = DateTime.Now
                };

                db.T_UserRoleMappings.Add(userRoleMappings);
                db.SaveChanges();
            }
        }
예제 #35
0
 /// <summary>
 /// Fetch all the user deatils
 /// </summary>
 /// <returns>List of users</returns>
 public List<T_Registrations> GetAllUsers()
 {
     using (var db = new ContinuousIntegrationEntities())
     {
         var userDetails = from registrations in db.T_Registrations select registrations;
         return userDetails.ToList();
     }
 }
예제 #36
0
 /// <summary>
 /// Fetch the role id of the specific user
 /// </summary>
 /// <param name="userId">Id of the user</param>
 /// <returns>List of ids</returns>
 public List<int> GetRoleId(int userId)
 {
     using (var db = new ContinuousIntegrationEntities())
     {
         var userRoleId = from userRoleMappings in db.T_UserRoleMappings where userRoleMappings.C_RegisterID == userId select userRoleMappings.C_RoleID;
         return userRoleId.ToList();
     }
 }
        /// <summary>
        /// Method to populate the edit popup
        /// </summary>
        /// <param name="page"></param>
        /// <param name="sort"></param>
        /// <param name="sortDir"></param>
        /// <returns></returns>
        //Edit SubRelease
        public ActionResult EditSubRelease(int subreleaseId)
        {
            ContinuousIntegrationEntities ci = new ContinuousIntegrationEntities();
            var data = (from a in ci.T_Projects
                        join b in ci.T_Streams
                          on a.C_ProjectID equals b.C_ProjectID
                        join c in ci.T_Releases
                        on b.C_StreamID equals c.C_StreamID
                        join d in ci.T_SubReleases
                          on c.C_ReleaseID equals d.C_ReleaseID
                        where subreleaseId == d.C_SubReleaseID
                        select new
                        {
                            a.C_ProjectID,
                            c.C_ReleaseID,
                            d.C_SubReleaseName,
                            d.C_SubReleaseID,
                            d.C_StatusID,
                            d.C_LastModified,
                            b.C_StreamID,
                            b.C_StreamName
                        }).FirstOrDefault();

            NewSubReleaseModel Obj;
            if (Request.IsAjaxRequest())
            {
                Obj = new NewSubReleaseModel();
                Obj.C_SubReleaseName = data.C_SubReleaseName;
                Obj.C_ReleaseID = data.C_ReleaseID;
                Obj.C_SubReleaseID = data.C_SubReleaseID;
                Obj.C_StatusID = data.C_StatusID;
                Obj.C_LastModified = data.C_LastModified;
                Obj.C_ProjectID = data.C_ProjectID;
                Obj.C_StreamID = data.C_StreamID;
                Obj.C_StreamName = data.C_StreamName;

                ViewBag.ProjectName = new SelectList(ci.T_Projects, "C_ProjectID", "C_ProjectName");
                ViewBag.ReleaseName = new SelectList(ci.T_Releases.Where(x=> x.C_StreamID.Equals(data.C_StreamID)), "C_ReleaseID", "C_ReleaseName",ci.T_Releases.Where(x=> x.C_ReleaseID.Equals(data.C_ReleaseID)));
                ViewBag.StatusName = new SelectList(ci.T_Status, "C_StatusID", "C_StatusName");
                ViewBag.StreamName = new SelectList(ci.T_Streams.Where(x => x.C_ProjectID.Equals(data.C_ProjectID)), "C_StreamID", "C_StreamName", ci.T_Streams.Where(x => x.C_StreamID.Equals(data.C_StreamID)));
                ViewBag.IsUpdate = true;
                return View("_EditSubRelease", Obj);
            }
            else
                return View(data);
        }
        /// <summary>
        /// Method to add new Sub-Release
        /// </summary>
        /// <param name="page"></param>
        /// <param name="sort"></param>
        /// <param name="sortDir"></param>
        /// <returns></returns>
        //Add SubRelease
        public ActionResult CreateSR()
        {
            if (Request.IsAjaxRequest())
            {
                ViewBag.IsUpdate = false;
                ContinuousIntegrationEntities ci = new ContinuousIntegrationEntities();

                ViewBag.StatusName = new SelectList(ci.T_Status, "C_StatusID", "C_StatusName");
                ViewBag.ProjectName = new SelectList(ci.T_Projects, "C_ProjectID", "C_ProjectName");
                ViewBag.ReleaseName = new SelectList(ci.T_Releases, "C_ReleaseID", "C_ReleaseName");
                ViewBag.StreamName = new SelectList(ci.T_Streams, "C_StreamID", "C_StreamName");
                return View("_CreateSubRelease");
            }
            else

                return View();
        }
        public ActionResult Login(UserLoginModel val)
        {
            try
            {
                var model = val;

                //Validate the user
                ContinuousIntegrationEntities ci = new ContinuousIntegrationEntities();
                var user = (from a in ci.T_Registrations
                            where a.C_FirstName == val.C_UserName && a.C_Password == val.C_UserPassword
                            select a).FirstOrDefault();

                if (user==null)
                {
                    ModelState.AddModelError("", "Invalid name and password");
                    return View("Login");
                }

                Session["LoggedUserID"] = user.C_RegisterID.ToString();
                Session["LoggedUserName"] = user.C_FirstName.ToString();

                return RedirectToAction("List", "User");
            }
            catch (Exception e)
            {
                throw new ApplicationException("Error: " +e);
            }
        }
예제 #40
0
        /// <summary>
        /// Fetch project details from T_Projects for projects assigned
        /// </summary>
        /// <param name="userId">Id of the user</param>
        /// <returns>List of assigned projects</returns>
        public List<T_Projects> GetAssignedProjects(int userId)
        {
            using (var db = new ContinuousIntegrationEntities())
            {
                var projectDetails = from userProjectMappings in db.T_UserProjectMappings
                                     join projects in db.T_Projects on userProjectMappings.C_ProjectID equals projects.C_ProjectID
                                     where userProjectMappings.C_RegisterID == userId
                                     select projects;

                return projectDetails.ToList();
            }
        }
        /// <summary>
        /// Method to populate the edit popup
        /// </summary>
        /// <param name="page"></param>
        /// <param name="sort"></param>
        /// <param name="sortDir"></param>
        /// <returns></returns>
        //Edit Stream
        public ActionResult EditStream(int streamId)
        {
            ContinuousIntegrationEntities ci = new ContinuousIntegrationEntities();
            var data = sobjModel.GetStreamDetails(streamId);

            if (Request.IsAjaxRequest())
            {
                NewStreamModel Obj = new NewStreamModel();
                Obj.C_StreamName = data.C_StreamName;
                Obj.C_ProjectID = data.C_ProjectID;
                Obj.C_StreamID = data.C_StreamID;
                Obj.C_LastModified = data.C_LastModified;

                ViewBag.ProjectName = new SelectList(ci.T_Projects, "C_ProjectID", "C_ProjectName");
                ViewBag.IsUpdate = true;
                return View("_EditStream", Obj);
            }
            else
                return View(data);
        }