Exemplo n.º 1
0
        public void CanDeleteJobContact()
        {
            var servicem8Client = new Servicem8Client(_apiUsername,
                                                      _apiPassword);

            Guid jobId        = Guid.Parse("648ea5f1-699b-4b23-ba80-2898d2862bbb");
            Guid jobContactId = Guid.Parse("8837a2e2-451b-47e8-9722-b8c1fd095094");

            var jobContact = new JobContact()
            {
                active    = 0,
                edit_date = DateTime.Now,
                email     = "*****@*****.**",
                first     = "test",
                job_uuid  = jobId,
                last      = "user2",
                mobile    = "1234",
                phone     = "4566",
                type      = "BILLING",
                uuid      = jobContactId
            };

            var result = servicem8Client.JobContacts.Delete(jobContact);

            result.Wait();

            Assert.IsNull(result.Exception);
        }
Exemplo n.º 2
0
        public void CanCreateJobContact()
        {
            var servicem8Client = new Servicem8Client(_apiUsername,
                                                      _apiPassword);

            Guid jobId        = Guid.Parse("648ea5f1-699b-4b23-ba80-2898d2862bbb");
            Guid jobContactId = Guid.NewGuid();

            var jobContact = new JobContact()
            {
                active    = 1,
                edit_date = DateTime.Now,
                email     = "*****@*****.**",
                first     = "test",
                job_uuid  = jobId,
                last      = "user",
                mobile    = "123",
                phone     = "456",
                type      = "BILLING",
                uuid      = jobContactId
            };

            var result = servicem8Client.JobContacts.Create(jobContact);

            result.Wait();

            Assert.IsNull(result.Exception);
        }
Exemplo n.º 3
0
        public ActionResult DeleteConfirmed(int id)
        {
            JobContact jobContact = db.JobContacts.Find(id);

            db.JobContacts.Remove(jobContact);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 4
0
 public ActionResult Edit([Bind(Include = "Id,Name,ShortName,Company,Position,Tel1,Tel2,Email,AddInfo,Remarks,ContactType")] JobContact jobContact)
 {
     if (ModelState.IsValid)
     {
         db.Entry(jobContact).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(jobContact));
 }
Exemplo n.º 5
0
        public ActionResult Create([Bind(Include = "Id,Name,ShortName,Company,Position,Tel1,Tel2,Email,AddInfo,Remarks,ContactType")] JobContact jobContact)
        {
            if (ModelState.IsValid)
            {
                db.JobContacts.Add(jobContact);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(jobContact));
        }
Exemplo n.º 6
0
        // GET: JobContacts/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            JobContact jobContact = db.JobContacts.Find(id);

            if (jobContact == null)
            {
                return(HttpNotFound());
            }
            return(View(jobContact));
        }
Exemplo n.º 7
0
        public static string AddJobContact(Guid job_id, Guid contact_id)
        {
            JobBoardDataContext db = new JobBoardDataContext();

            // Lets make sure we don't already have an association for this category
            int exists = db.JobContacts.Where(x => x.contact == contact_id && x.job == job_id).Count();
            if (exists > 0) { return "You may not add this contact more than once."; }

            JobContact jc = new JobContact {
                id = Guid.NewGuid(),
                job = job_id,
                contact = contact_id
            };
            db.JobContacts.InsertOnSubmit(jc);
            db.SubmitChanges();

            JavaScriptSerializer jss = new JavaScriptSerializer();
            return jss.Serialize(jc);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Display job categories
        /// </summary>
        /// <returns></returns>
        public ActionResult Categories()
        {
            JobBoardDataContext db = new JobBoardDataContext();

            Contact user = ViewBag.user;

            // Get all the jobs
            List<CategoryWithParent> categories = CategoryModel.GetAll();
            foreach (CategoryWithParent category in categories) {
                // instead of extending category again, we'll just reuse the job count field for application count
                if(user.isAdmin()) {
                    category.jobCount = (from c in db.Categories
                                         join jc in db.JobCategories on c.id equals jc.cat
                                         join j in db.Jobs on jc.job equals j.id
                                         join a in db.Applications on j.id equals a.job_id
                                         where c.id.Equals(category.id) && j.jobState.Equals(JobState.PUBLISHED.ToString())
                                         && a.status.Equals(ApplicationStatus.ACTIVE.ToString()) && !a.dateSubmitted.Equals(null)
                                         && j.jobState.Equals(JobState.PUBLISHED.ToString())
                                         select a).Count();
                } else {
                    JobContact contact = new JobContact {
                        contact = user.id
                    };
                    category.jobCount = (from c in db.Categories
                                         join jc in db.JobCategories on c.id equals jc.cat
                                         join j in db.Jobs on jc.job equals j.id
                                         join a in db.Applications on j.id equals a.job_id
                                         where c.id.Equals(category.id) && j.jobState.Equals(JobState.PUBLISHED.ToString())
                                         && a.status.Equals(ApplicationStatus.ACTIVE.ToString()) && !a.dateSubmitted.Equals(null)
                                         && j.Notifications.Contains(contact, new JobContactEqualityComparer())
                                         && j.jobState.Equals(JobState.PUBLISHED.ToString())
                                         select a).Count();
                }
            }
            ViewBag.categories = categories;

            return View();
        }
Exemplo n.º 9
0
 public static JobContactDto ToModel(this JobContact entity)
 {
     return(Mapper.Map <JobContactDto>(entity));
 }
Exemplo n.º 10
0
        public static Guid Duplicate(Guid id)
        {
            Guid new_id = new Guid();
            Job job = Get(id);
            List<Guid> shifts = job.JobShifts.Select(x => x.Shift.id).ToList<Guid>();
            List<Guid> cats = job.JobCategories.Select(x => x.cat).ToList<Guid>();
            List<Guid> contacts = job.Notifications.Select(x => x.contact).ToList<Guid>();
            new_id = Create(job.title, job.short_desc, job.salary_type, job.status, job.long_desc, job.experience, job.education, job.location, job.contact, job.isDriving, cats, shifts);

            List<JobContact> jobcontacts = new List<JobContact>();
            foreach (Guid c in contacts) {
                JobContact jc = new JobContact {
                    id = Guid.NewGuid(),
                    job = new_id,
                    contact = c
                };
                jobcontacts.Add(jc);
            }
            JobBoardDataContext db = new JobBoardDataContext();
            db.JobContacts.InsertAllOnSubmit(jobcontacts);
            db.SubmitChanges();

            return new_id;
        }
Exemplo n.º 11
0
 public Task Delete(JobContact model)
 {
     return(Client.ExecuteDelete(DeleteByIdUrl, model.uuid));
 }
Exemplo n.º 12
0
 public Task Update(JobContact model)
 {
     return(Client.ExecutePayload(UpdateUrl, model, model.uuid));
 }
Exemplo n.º 13
0
 public Task Create(JobContact model)
 {
     return(Client.ExecutePayload(CreateUrl, model));
 }
Exemplo n.º 14
0
        /// <summary>
        /// Display job locations
        /// </summary>
        /// <returns></returns>
        public ActionResult Locations()
        {
            JobBoardDataContext db = new JobBoardDataContext();

            Contact user = ViewBag.user;
            // Get all the jobs
            List<DisplayableLocation> locations = LocationModel.GetAllDisplayable();
            foreach (DisplayableLocation location in locations) {
                if (user.isAdmin()) {
                    location.jobCount = (from l in db.Locations
                                         join j in db.Jobs on l.id equals j.location
                                         join a in db.Applications on j.id equals a.job_id
                                         where l.id.Equals(location.id) && j.jobState.Equals(JobState.PUBLISHED.ToString())
                                         && a.status.Equals(ApplicationStatus.ACTIVE.ToString()) && !a.dateSubmitted.Equals(null)
                                         && j.jobState.Equals(JobState.PUBLISHED.ToString())
                                         select a).Count();
                } else {
                    JobContact contact = new JobContact {
                        contact = user.id
                    };
                    location.jobCount = (from l in db.Locations
                                         join j in db.Jobs on l.id equals j.location
                                         join a in db.Applications on j.id equals a.job_id
                                         where l.id.Equals(location.id) && j.jobState.Equals(JobState.PUBLISHED.ToString())
                                         && a.status.Equals(ApplicationStatus.ACTIVE.ToString()) && !a.dateSubmitted.Equals(null)
                                         && j.Notifications.Contains(contact, new JobContactEqualityComparer())
                                         && j.jobState.Equals(JobState.PUBLISHED.ToString())
                                         select a).Count();
                }
            }
            ViewBag.locations = locations;

            return View();
        }