public ActionResult Assign(int id)
        {
            var task = db.Tasks.Find(id);

            var members = task.Project.Members.Select(x =>
                                                      new SelectListItem
            {
                Value = x.Id,
                Text  = x.UserName
            });

            var membersSelect = new SelectList(members, "Value", "Text");

            var model = new AssignJobModel
            {
                TaskId        = id,
                MembersSelect = membersSelect
            };

            return(View(model));
        }
        public ActionResult Assign(AssignJobModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var task     = db.Tasks.Find(model.TaskId);
                    var assignee = db.Users.Find(model.AssigneeId);

                    if (task.Project.OrganizerId == User.Identity.GetUserId() || User.IsInRole("Administrator"))
                    {
                        if (TryUpdateModel(task))
                        {
                            task.AssigneeID = assignee.Id;
                            task.Assignee   = assignee;
                            task.Status     = "Assigned";
                            db.SaveChanges();
                            TempData["message"] = "Assigned successfuly";
                        }
                        return(RedirectToAction("Show", new { id = model.TaskId }));
                    }
                    else
                    {
                        TempData["message"] = "Not authorized to assign tasks for this project";
                        return(RedirectToAction("Index", new { id = task.Project.Id }));
                    }
                }
                else
                {
                    return(View(model));
                }
            }
            catch (Exception e)
            {
                return(View(model));
            }
        }
Esempio n. 3
0
        //
        // GET: /AssignJob/
        public ActionResult Index(string regionguid = "", string territoryguid = "", string jobindexguid = "", string groupguid = "", string territoryid = "")
        {
            Logger.Debug("Inside Job Controller- Index");
            try
            {
                if (Session["OrganizationGUID"] != null)
                {
                    var jobList = new JobViewModel();
                    jobList.JobModelList = new List <JobModel>();
                    var jobGroup = new List <Job>();
                    Job ljob     = new Job();
                    if (!string.IsNullOrEmpty(groupguid))
                    {
                        jobGroup = _IJobRepository.GetjobByGroupGUID(new Guid(groupguid)).ToList();
                    }
                    else if (!string.IsNullOrEmpty(territoryid))
                    {
                        ljob.TerritoryGUID = new Guid(territoryid);
                        ljob.IsDeleted     = false;
                        jobGroup           = _IJobRepository.GetOpenJobs(ljob).ToList();
                    }
                    else
                    {
                        jobGroup = _IJobRepository.GetjobByRegionandTerritory(new Guid(Session["UserGUID"].ToString())).ToList();
                    }
                    foreach (var job in jobGroup.ToList())
                    {
                        jobList.JobModelList.Add(new JobModel
                        {
                            JobName      = job.JobName,
                            JobIndexGUID = job.JobGUID,
                            //  JobLogicalID = new Guid(job.JobFormGUID.ToString()),
                            PreferredEndTime   = Convert.ToDateTime(job.PreferedEndTime).ToString("yy/MM/dd HH:mm"),
                            PreferredStartTime = Convert.ToDateTime(job.PreferedStartTime).ToString("yy/MM/dd HH:mm"),
                            RegionCode         = job.RegionGUID != null ? new Guid(job.RegionGUID.ToString()) : Guid.Empty,
                            TerritoryCode      = job.TerritoryGUID != null ? new Guid(job.TerritoryGUID.ToString()) : Guid.Empty,
                        });
                    }
                    var viewmodel = new AssignJobModel();
                    if (string.IsNullOrEmpty(regionguid) && string.IsNullOrEmpty(territoryguid) && string.IsNullOrEmpty(jobindexguid))
                    {
                        viewmodel.GlobalUsers  = null;
                        viewmodel.JobModel     = null;
                        viewmodel.JobModelList = jobList.JobModelList;
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(regionguid) && !string.IsNullOrEmpty(territoryguid))
                        {
                            IList <GlobalUser> _GlobalUser = _IGlobalUserRepository.GetGlobalUserByRegionandTerritory(new Guid(regionguid), new Guid(territoryguid)).ToList();
                            viewmodel.GlobalUsers = new List <GlobalUserModel>();
                            foreach (var user in _GlobalUser.ToList())
                            {
                                viewmodel.GlobalUsers.Add(new GlobalUserModel
                                {
                                    UserGUID = user.UserGUID,
                                    UserName = user.UserName
                                });
                            }
                        }
                        if (!string.IsNullOrEmpty(jobindexguid))
                        {
                            viewmodel.JobModel              = new JobModel();
                            viewmodel.JobModel.JobName      = _IJobRepository.GetJobByID(new Guid(jobindexguid)).JobName;
                            viewmodel.JobModel.JobIndexGUID = new Guid(jobindexguid);
                        }
                        viewmodel.JobModelList = jobList.JobModelList;
                    }

                    StringBuilder sb = new StringBuilder();
                    sb.Append("<div class='actions'>");
                    sb.Append("<div class='btn-group'>");
                    if (!string.IsNullOrEmpty(territoryid))
                    {
                        sb.Append("<a href='#' id='ulaterritorygroup' class='btn green' data-toggle='dropdown'><i class='icon-map-marker'></i>" + _ITerritoryRepository.GetTerritoryNameByTerritoryGUID(new Guid(territoryid)) + " <i class='icon-angle-down'></i></a>");
                    }
                    else
                    {
                        sb.Append("<a href='#' id='ulaterritorygroup' class='btn green' data-toggle='dropdown'><i class='icon-map-marker'></i>Zone <i class='icon-angle-down'></i></a>");
                    }
                    sb.Append("<ul id='ulterritorygroup' class='dropdown-menu pull-left'>");
                    sb.Append("<li><a href=" + Url.Action("Index", new { id = "" }) + ">All</a></li>");
                    List <Territory> TerritoryList = _ITerritoryRepository.GetTerritoryByOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).ToList();
                    foreach (Territory item in TerritoryList)
                    {
                        sb.Append("<li><a href=" + Url.Action("Index", new { territoryid = item.TerritoryGUID.ToString() }) + " data-groupguid=" + item.TerritoryGUID + ">" + item.Name + "</a></li>");
                    }
                    sb.Append("</ul>");
                    sb.Append("</div>");
                    sb.Append("</div>");
                    ViewBag.ZoneList = sb.ToString();

                    StringBuilder sb1 = new StringBuilder();
                    sb1.Append("<div class='actions'>");
                    sb1.Append("<div class='btn-group'>");
                    //if (!string.IsNullOrEmpty(groupguid))
                    //{
                    //    sb1.Append("<a href='#' id='ulaworkergroup' class='btn green' data-toggle='dropdown'><i class='icon-map-marker'></i>" + _IGroupRepository.GetGroupNameByGroupGUID(new Guid(groupguid)) + " <i class='icon-angle-down'></i></a>");
                    //}
                    //else
                    {
                        sb1.Append("<a href='#' id='ulaworkergroup' class='btn green' data-toggle='dropdown'><i class='icon-map-marker'></i>Worker Group <i class='icon-angle-down'></i></a>");
                    }
                    sb1.Append("<ul id='ulworkergroup' class='dropdown-menu pull-left'>");
                    sb1.Append("<li><a href=" + Url.Action("Index", new { id = "" }) + ">All</a></li>");
                    //List<Group> GroupList = _IGroupRepository.GetGroupByOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).ToList();
                    //foreach (Group item in GroupList)
                    //{
                    //    sb1.Append("<li><a href=" + Url.Action("Index", new { groupguid = item.GroupGUID.ToString() }) + " data-groupguid=" + item.GroupGUID + ">" + item.Name + "</a></li>");
                    //}
                    sb1.Append("</ul>");
                    sb1.Append("</div>");
                    sb1.Append("</div>");
                    ViewBag.GroupList = sb1.ToString();

                    return(View(viewmodel));
                }
                else
                {
                    return(RedirectToAction("SessionTimeOut", "User"));
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message);
                return(RedirectToAction("Login", "User"));
            }
        }