public ActionResult Create([Bind(Include = "ID,ContExten, ContWorkCell")] StaffContact staffContact, string selectedUsers, string[] selectedJobs)
        {
            if (selectedUsers != null)
            {
                var userToAdd = db.Users.Find(selectedUsers);
                staffContact.ContUser = userToAdd;
                if (selectedJobs != null)
                {
                    staffContact.JobDescriptions = new List <JobDescription>();
                    foreach (var job in selectedJobs)
                    {
                        var jobToAdd = db.JobDescriptions.Find(int.Parse(job));
                        staffContact.JobDescriptions.Add(jobToAdd);
                    }
                }

//                db.StaffContacts.Add(staffContact);
            }

            if (ModelState.IsValid)
            {
                db.StaffContacts.Add(staffContact);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(staffContact));
        }
        private void UpdateJobDescriptions(string[] selectedJobs, StaffContact ContactToUpdate)
        {
            if (selectedJobs == null)
            {
                ContactToUpdate.JobDescriptions = new List <JobDescription>();
                return;
            }

            var selectedJobsHS = new HashSet <string>(selectedJobs);
            var meetingJobs    = new HashSet <int>(ContactToUpdate.JobDescriptions.Select(c => c.ID));

            foreach (var jobs in db.JobDescriptions)
            {
                if (selectedJobsHS.Contains(jobs.ID.ToString()))
                {
                    if (!meetingJobs.Contains(jobs.ID))
                    {
                        ContactToUpdate.JobDescriptions.Add(jobs);
                    }
                }
                else
                {
                    if (meetingJobs.Contains(jobs.ID))
                    {
                        ContactToUpdate.JobDescriptions.Remove(jobs);
                    }
                }
            }
        }
        public ActionResult DeleteConfirmed(int id)
        {
            StaffContact staffcontact = db.StaffContacts.Find(id);

            db.StaffContacts.Remove(staffcontact);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        // GET: /Staffcontact/Create
        public ActionResult Create()
        {
            StaffContact staffContact = new StaffContact();

            staffContact.JobDescriptions = new List <JobDescription>();
            staffContact.ContUser        = new ApplicationUser();
            PopulateAssignedUsers(staffContact);
            PopulateJobDescriptions(staffContact);
            return(View());
        }
        public ActionResult Index(int?id)
        {
            BoardContact bc = new BoardContact();
            StaffContact sc = new StaffContact();

            PopulateAssignedUsers(bc);
            ViewData["Contact"]      = db.BoardContacts.ToList();
            ViewData["StaffContact"] = db.StaffContacts.ToList();
            ViewData["ContactID"]    = id;
            BoardContact contact = db.BoardContacts.Find(id);

            return(View(contact));
        }
        // GET: /Staffcontact/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            StaffContact staffcontact = db.StaffContacts.Find(id);

            if (staffcontact == null)
            {
                return(HttpNotFound());
            }
            return(View(staffcontact));
        }
        // GET: /Staffcontact/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            StaffContact staffcontact = db.StaffContacts.Include(u => u.ContUser).Include(j => j.JobDescriptions).Where(i => i.ID == id).Single();

            if (staffcontact == null)
            {
                return(HttpNotFound());
            }
            PopulateAssignedUsers(staffcontact);
            PopulateJobDescriptions(staffcontact);
            return(View(staffcontact));
        }
        public void PopulateAssignedUsers(StaffContact staffCont)
        {
            var allUsers  = db.Users;
            var veiwModel = new List <UserVM>();

            foreach (var m in allUsers)
            {
                veiwModel.Add(new UserVM
                {
                    UserID       = m.Id,
                    UserFName    = m.UserFName,
                    UserLName    = m.UserLName,
                    UserFullName = m.UserFName + " " + m.UserLName + ", " + m.UserName
                });
            }

            ViewBag.User = veiwModel;
        }
        public void PopulateJobDescriptions(StaffContact contact)
        {
            var jobDescriptions = db.JobDescriptions;
            var aJobs           = new HashSet <int>(contact.JobDescriptions.Select(r => r.ID));
            var viewModel       = new List <JobDescVM>();

            foreach (var job in jobDescriptions)
            {
                viewModel.Add(new JobDescVM
                {
                    JobID       = job.ID,
                    JobName     = job.JobTitle,
                    JobDesc     = job.JobDescpt,
                    JobAssigned = aJobs.Contains(job.ID)
                });
            }

            ViewBag.JobDescriptions = viewModel;
        }
Пример #10
0
 public void FormControls(string CLR)
 {
     if (CLR == "CLR")
     {
         StaffID.Clear();
         StaffName.Clear();
         StaffType.Text = "Select";
         StaffAddress.Clear();
         StaffCity.Clear();
         StaffContact.Clear();
         StaffID.Enabled      = false;
         StaffName.Enabled    = false;
         StaffType.Enabled    = false;
         StaffAddress.Enabled = false;
         StaffCity.Enabled    = false;
         StaffContact.Enabled = false;
         btnsave.Enabled      = false;
         btnedit.Enabled      = false;
         btndelete.Enabled    = false;
         btnadd.Enabled       = true;
         btnfind.Enabled      = true;
         Left1.Enabled        = false;
         Right1.Enabled       = false;
     }
     if (CLR == "Save")
     {
         btnsave.Enabled      = true;
         btnadd.Enabled       = false;
         btnfind.Enabled      = false;
         btndelete.Enabled    = false;
         btnedit.Enabled      = false;
         StaffName.Enabled    = true;
         StaffType.Enabled    = true;
         StaffAddress.Enabled = true;
         StaffCity.Enabled    = true;
         StaffContact.Enabled = true;
         StaffName.Focus();
     }
 }