示例#1
0
        public ActionResult Person(int sourceId, int targetId)
        {
            Source source = this.sourceTasks.GetSource(sourceId);

            if (source != null)
            {
                Profiling2.Domain.Prf.Persons.Person person = this.personTasks.GetPerson(targetId);
                if (person != null)
                {
                    PersonSourceViewModel vm = new PersonSourceViewModel();
                    vm.SourceId = source.Id;
                    vm.PersonId = person.Id;
                    vm.PopulateDropDowns(this.sourceTasks.GetReliabilities());

                    ViewBag.Person = person;
                    ViewBag.Source = source;

                    PersonSource ps = source.GetPersonSource(person);
                    if (ps != null)
                    {
                        // Person is already attached to Source
                        vm.Id         = ps.Id;
                        vm.Commentary = ps.Commentary;
                        vm.Notes      = ps.Notes;
                    }
                    return(View(vm));
                }
            }
            return(new HttpNotFoundResult());
        }
示例#2
0
 public JsonNetResult Person(PersonSourceViewModel vm)
 {
     if (vm.Id.HasValue)
     {
         this.sourceAttachmentTasks.DeletePersonSource(vm.Id.Value);
         Response.StatusCode = (int)HttpStatusCode.OK;
         return(JsonNet("Person successfully detached from source."));
     }
     else if (ModelState.IsValid)
     {
         Source source = this.sourceTasks.GetSource(vm.SourceId.Value);
         Profiling2.Domain.Prf.Persons.Person person = this.personTasks.GetPerson(vm.PersonId.Value);
         if (source != null && person != null)
         {
             if (source.GetPersonSource(person) == null)
             {
                 PersonSource ps = new PersonSource();
                 ps.Source      = source;
                 ps.Person      = person;
                 ps.Reliability = this.sourceTasks.GetReliability(vm.ReliabilityId.Value);
                 ps.Commentary  = vm.Commentary;
                 ps.Notes       = vm.Notes;
                 this.sourceAttachmentTasks.SavePersonSource(ps);
             }
             Response.StatusCode = (int)HttpStatusCode.OK;
             return(JsonNet("Person successfully attached."));
         }
         else
         {
             Response.StatusCode = (int)HttpStatusCode.NotFound;
             return(JsonNet("Person or source not found."));
         }
     }
     else
     {
         Response.StatusCode = (int)HttpStatusCode.BadRequest;
         return(JsonNet("Form data failed validation."));
     }
 }