Ejemplo n.º 1
0
        public Jcr.Api.Models.Models.SystemTracerInfo GetSystemTracerInfo(int tracerID, int userID)
        {
            List <ApiGetSystemTracerInfoReturnModel> results;

            Api.Models.Models.SystemTracerInfo MultisiteInfo = new Api.Models.Models.SystemTracerInfo();
            Api.Models.Models.SystemTracer     MultisiteTracer;

            try {
                using (var db = new Data.DBMEdition01Context()) {
                    results = db.ApiGetSystemTracerInfo(tracerID, userID);

                    #region Populate MultisiteInfo.Master and MultisiteInfo.SelectedTracer

                    foreach (var item in results)
                    {
                        if (item.IsMaster == true)
                        {
                            MultisiteInfo.Master.IsLocked          = item.IsLocked.GetValueOrDefault();
                            MultisiteInfo.Master.IsMaster          = true;
                            MultisiteInfo.Master.TracerCustomID    = item.TracerCustomID;
                            MultisiteInfo.Master.TracerCustomName  = item.TracerNameChanged;
                            MultisiteInfo.Master.SiteID            = item.SiteID.GetValueOrDefault();
                            MultisiteInfo.Master.HCOID             = item.HCOID;
                            MultisiteInfo.Master.SiteName          = item.SiteName;
                            MultisiteInfo.Master.HasAccess         = item.HasAccess;
                            MultisiteInfo.Master.TracerStatus      = item.TracerStatus;
                            MultisiteInfo.Master.NumOfObservations = item.NumOfObservations.GetValueOrDefault();
                        }
                        else
                        {
                            MultisiteTracer = new Api.Models.Models.SystemTracer();

                            MultisiteTracer.IsLocked          = item.IsLocked.GetValueOrDefault();
                            MultisiteTracer.IsMaster          = true;
                            MultisiteTracer.TracerCustomID    = item.TracerCustomID;
                            MultisiteTracer.TracerCustomName  = item.TracerNameChanged;
                            MultisiteTracer.SiteID            = item.SiteID.GetValueOrDefault();
                            MultisiteTracer.HCOID             = item.HCOID;
                            MultisiteTracer.SiteName          = item.SiteName;
                            MultisiteTracer.HasAccess         = item.HasAccess;
                            MultisiteTracer.TracerStatus      = item.TracerStatus;
                            MultisiteTracer.NumOfObservations = item.NumOfObservations.GetValueOrDefault();

                            MultisiteInfo.Tracers.Add(MultisiteTracer);
                        }
                    }
                    #endregion
                }

                if (MultisiteInfo.Master.IsLocked)
                {
                    MultisiteInfo.DialogTitle = "Locked Tracer Details";
                }
                else
                {
                    MultisiteInfo.DialogTitle = "Unlocked Tracer Details";
                }

                return(MultisiteInfo);
            }

            catch (Exception ex) {
                StringBuilder sb = new StringBuilder();
                sb.AppendFormat("EXEC dbo.apiGetSystemTracerInfo @TracerID={0}, @UserID={1}", tracerID, userID);
                string sqlParam   = sb.ToString();
                string methodName = "JCRAPI/Business/TracerService/GetSystemTracerInfo";
                exceptionLog.ExceptionLogInsert(ex.Message.ToString(), "", methodName, null, tracerID, sqlParam, string.Empty);
                return(null);
            }
        }