public ActionResult Create(pojectdev pojectdev)
        {
            if (ModelState.IsValid)
            {
                db.pojectdevs.Add(pojectdev);
                db.SaveChanges();

                //for adding ADD Developer action to activity stream
                String username = Convert.ToString(Session["UserName"]);
                MvcApplicationTest1.DAL.activitystream activitystr = new MvcApplicationTest1.DAL.activitystream();
                activitystr.actiontype  = "ADD DEVELOPER";
                activitystr.description = username + " Added Developer " + pojectdev.devname;
                activitystr.issueid     = 4;
                activitystr.issuekey    = "-";
                activitystr.actiondate  = DateTime.Now.ToString();
                activitystr.projectid   = pojectdev.projectid;
                int uid = int.Parse(Session["UserId"] + "");
                activitystr.userid = uid;
                db.activitystreams.Add(activitystr);
                db.SaveChanges();

                return(RedirectToAction("Create", new { pid = pojectdev.projectid }));
            }

            ViewBag.id = new SelectList(db.projects, "id", "projectkey", pojectdev.id);
            return(View(pojectdev));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            pojectdev pojectdev = db.pojectdevs.Find(id);

            db.pojectdevs.Remove(pojectdev);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        //
        // GET: /projectdev/Details/5

        public ActionResult Details(int id = 0)
        {
            pojectdev pojectdev = db.pojectdevs.Find(id);

            if (pojectdev == null)
            {
                return(HttpNotFound());
            }
            return(View(pojectdev));
        }
 public ActionResult Edit(pojectdev pojectdev)
 {
     if (ModelState.IsValid)
     {
         db.Entry(pojectdev).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.id = new SelectList(db.projects, "id", "projectkey", pojectdev.id);
     return(View(pojectdev));
 }
        //
        // GET: /projectdev/Edit/5

        public ActionResult Edit(int id = 0)
        {
            pojectdev pojectdev = db.pojectdevs.Find(id);

            if (pojectdev == null)
            {
                return(HttpNotFound());
            }
            ViewBag.id = new SelectList(db.projects, "id", "projectkey", pojectdev.id);
            return(View(pojectdev));
        }
        public ActionResult Index()
        {
            var a = new Dashboard();

            //for selecting the issues without its copies in sprints
            a.issues = db.issues.Select(zz => zz).Where(zz => zz.assignee == User.Identity.Name).GroupBy(y => y.keyname).Select(z => z.OrderByDescending(q => q.sprintid).FirstOrDefault());
            List <pojectdev> nn = new List <pojectdev>();

            if (User.IsInRole("admin"))
            {
                //for returning all the projects and converting it to projectdev
                var adminproj = db.projects.Select(x => x).ToList();

                foreach (var zz in adminproj)
                {
                    var q = db.pojectdevs.Select(x => x).Where(x => x.projectid == zz.id).FirstOrDefault();
                    if (q != null)
                    {
                        nn.Add(q);
                    }
                    else
                    {
                        //if the projects doesnt contains developers yet so it isnt in projectdev
                        pojectdev z = new pojectdev();
                        z.projectid = zz.id;
                        nn.Add(z);
                    }
                }

                a.Projects = nn.ToList();
                // a.Projects = nn;
            }

            if (User.IsInRole("developer"))
            {
                var adminproj = db.pojectdevs.Select(x => x).Where(x => x.devname == User.Identity.Name).ToList();
                a.Projects = adminproj;
            }

            if (User.IsInRole("projectowner"))
            {
                //for returning all the projects the user is its projectowner and converting it to projectdev
                var adminproj = db.projects.Select(x => x).Where(x => x.projectowner == User.Identity.Name).ToList();
                foreach (var zz in adminproj)
                {
                    var q = db.pojectdevs.Select(x => x).Where(x => x.projectid == zz.id).FirstOrDefault();
                    if (q != null)
                    {
                        nn.Add(q);
                    }
                    else
                    {   //if the projects doesnt contains developers yet so it isnt in projectdev
                        pojectdev z = new pojectdev();
                        z.projectid = zz.id;
                        nn.Add(z);
                    }
                }
                a.Projects = nn;
            }

            if (User.IsInRole("teamleader"))
            {
                var adminproj = db.projects.Select(x => x).Where(x => x.projectleader == User.Identity.Name).ToList();


                foreach (var zz in adminproj)
                {
                    var q = db.pojectdevs.Select(x => x).Where(x => x.projectid == zz.id).FirstOrDefault();
                    if (q != null)
                    {
                        nn.Add(q);
                    }
                    else
                    {
                        pojectdev z = new pojectdev();
                        z.projectid = zz.id;
                        nn.Add(z);
                    }
                }
                a.Projects = nn;
            }


            a.Stream        = db.activitystreams.Select(x => x).OrderByDescending(x => x.actiontype).ToList();
            ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
            ViewBag.land    = "y";
            return(View(a));
        }