Beispiel #1
0
        public ActionResult Resolve()
        {
            ConflictPatientMatch model = new ConflictPatientMatch();

            try
            {
                if (Request.Form["action"] == "cancel")
                {
                    return(RedirectToAction("Conflict"));
                }

                ClientRegistryAdminInterfaceClient client = new ClientRegistryAdminInterfaceClient();
                decimal survivor = Decimal.Parse(Request.Form["id"]);

                if (Request.Form["action"] == "merge" && Request.Form["mrg"] != null)
                {
                    decimal[] ids = Request.Form["mrg"].Split(',').Select(o => Decimal.Parse(o)).ToArray();
                    client.Merge(ids, survivor);
                }
                client.Resolve(survivor);
                return(RedirectToAction("View", new { id = survivor }));
            }
            catch (Exception e)
            {
                Trace.TraceError(e.ToString());
                model = new ConflictPatientMatch();
            }
            return(View(model));
        }
Beispiel #2
0
 /// <summary>
 /// Get conflicts
 /// </summary>
 public static Models.ConflictPatientMatch[] GetConflicts(int offset, int count)
 {
     try
     {
         ClientRegistryAdminInterfaceClient client = new ClientRegistryAdminInterfaceClient();
         var conflicts = client.GetConflicts(offset, count, false);
         Models.ConflictPatientMatch[] retVal = new ConflictPatientMatch[conflicts.count];
         if (conflicts == null || conflicts.conflict == null)
         {
             return(retVal);
         }
         for (int i = 0; i < conflicts.conflict.Length; i++)
         {
             ConflictPatientMatch match = new ConflictPatientMatch();
             match.Patient  = ConvertRegistrationEvent(conflicts.conflict[i].source);
             match.Matching = new List <PatientMatch>();
             foreach (var m in conflicts.conflict[i].matches)
             {
                 match.Matching.Add(ConvertRegistrationEvent(m));
             }
             retVal[offset + i] = match;
         }
         return(retVal);
     }
     catch (Exception e)
     {
         return(null);
     }
 }
Beispiel #3
0
        /// <summary>
        /// Show the resolution screen
        /// </summary>
        public ActionResult Resolve(Decimal?id)
        {
            ConflictPatientMatch model = new ConflictPatientMatch();

            try
            {
                if (id.HasValue)
                {
                    model = CrUtil.GetConflict(id.Value);
                }
            }
            catch
            {
            }
            return(View(model));
        }
Beispiel #4
0
 /// <summary>
 /// Get a particular conflict
 /// </summary>
 public static ConflictPatientMatch GetConflict(decimal id)
 {
     try
     {
         ClientRegistryAdminInterfaceClient client = new ClientRegistryAdminInterfaceClient();
         var conflicts = client.GetConflict(id).conflict;
         var conflict  = conflicts[0];
         ConflictPatientMatch retVal = new ConflictPatientMatch();
         retVal.Patient  = ConvertRegistrationEvent(conflict.source);
         retVal.Matching = new List <PatientMatch>();
         foreach (var m in conflict.matches)
         {
             retVal.Matching.Add(ConvertRegistrationEvent(m));
         }
         return(retVal);
     }
     catch (Exception e)
     {
         return(null);
     }
 }