Example #1
0
        public JsonResult SetCollectTeam(int teamId)
        {
            try
            {
                STNServiceCaller serviceCaller = STNServiceCaller.Instance;
                var request = new RestRequest();
                request.Resource    = "/CollectionTeams/{entityId}";
                request.RootElement = "COLLECT_TEAM";
                request.AddParameter("entityId", teamId, ParameterType.UrlSegment);
                COLLECT_TEAM ct = serviceCaller.Execute <COLLECT_TEAM>(request);

                Session["TeamId"]   = ct.COLLECT_TEAM_ID;
                Session["TeamName"] = ct.DESCRIPTION;
                return(Json(ct.DESCRIPTION, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(e.ToString(), JsonRequestBehavior.AllowGet));
            }
        }
Example #2
0
        public ActionResult SensorInfoPage(int siteId, int sensorId)
        {
            try
            {
                STNServiceCaller serviceCaller = STNServiceCaller.Instance;
                var request = new RestRequest();

                #region SiteInfo
                //get site
                request.Resource    = "Sites/{entityId}";
                request.RootElement = "SITE";
                request.AddParameter("entityId", siteId, ParameterType.UrlSegment);
                SITE thisSite = serviceCaller.Execute <SITE>(request);
                ViewData["Site"] = thisSite;

                //get hdatum
                request             = new RestRequest();
                request.Resource    = "/HorizontalDatums/{entityId}";
                request.RootElement = "HORIZONTAL_DATUMS";
                request.AddParameter("entityId", thisSite.HDATUM_ID, ParameterType.UrlSegment);
                ViewData["HDatum"] = serviceCaller.Execute <HORIZONTAL_DATUMS>(request).DATUM_NAME;
                #endregion SiteInfo

                //get peaks
                GetPeakSummaries(siteId);

                #region SensorInfo
                //get the sensor
                request             = new RestRequest();
                request.Resource    = "Instruments/{entityId}";
                request.RootElement = "INSTRUMENT";
                request.AddParameter("entityId", sensorId, ParameterType.UrlSegment);
                INSTRUMENT thisInstrument = serviceCaller.Execute <INSTRUMENT>(request);
                ViewData["Instrument"] = thisInstrument;

                //get event
                request             = new RestRequest();
                request.Resource    = "/Instruments/{instrumentId}/Event";
                request.RootElement = "EVENT";
                request.AddParameter("instrumentId", thisInstrument.INSTRUMENT_ID, ParameterType.UrlSegment);
                EVENT sensorEvent = serviceCaller.Execute <EVENT>(request);
                ViewData["sensorEvent"] = sensorEvent.EVENT_NAME;

                //pull from log the statuses
                request             = new RestRequest();
                request.Resource    = "/Instruments/{instrumentId}/InstrumentStatusLog";
                request.RootElement = "ArrayOfInstrumentStatus";
                request.AddParameter("instrumentId", sensorId, ParameterType.UrlSegment);
                List <INSTRUMENT_STATUS> InstrStatusList = serviceCaller.Execute <List <INSTRUMENT_STATUS> >(request);

                foreach (INSTRUMENT_STATUS IS in InstrStatusList)
                {
                    switch (Convert.ToInt32(IS.STATUS_TYPE_ID))
                    {
                    case 1:
                        ViewData["DeployedStatus"] = IS;
                        break;

                    case 2:
                        ViewData["RetrievedStatus"] = IS;
                        break;

                    default:
                        ViewData["LostStatus"] = IS;
                        break;
                    }
                }

                //get Sensor Type if one
                if (thisInstrument.SENSOR_TYPE_ID != null)
                {
                    request             = new RestRequest();
                    request.Resource    = "/SensorTypes/{entityId}";
                    request.RootElement = "SENSOR_TYPE";
                    request.AddParameter("entityId", thisInstrument.SENSOR_TYPE_ID, ParameterType.UrlSegment);
                    string aSensor = serviceCaller.Execute <SENSOR_TYPE>(request).SENSOR;
                    ViewData["SensorType"] = aSensor;
                }

                ////get deployment_type if one
                if (thisInstrument.DEPLOYMENT_TYPE_ID != null && thisInstrument.DEPLOYMENT_TYPE_ID != 0)
                {
                    request             = new RestRequest();
                    request.Resource    = "/DeploymentTypes/{entityId}";
                    request.RootElement = "DEPLOYMENT_TYPE";
                    request.AddParameter("entityId", thisInstrument.DEPLOYMENT_TYPE_ID, ParameterType.UrlSegment);
                    string aDepType = serviceCaller.Execute <DEPLOYMENT_TYPE>(request).METHOD;
                    ViewData["DeplType"] = aDepType;
                }
                //get condition
                if (thisInstrument.INST_COLLECTION_ID != null && thisInstrument.INST_COLLECTION_ID != 0)
                {
                    request             = new RestRequest();
                    request.Resource    = "/InstrCollectConditions/{entityId}";
                    request.RootElement = "INSTR_COLLECTION_CONDITIONS";
                    request.AddParameter("entityId", thisInstrument.INST_COLLECTION_ID, ParameterType.UrlSegment);
                    ViewData["Condition"] = serviceCaller.Execute <INSTR_COLLECTION_CONDITIONS>(request).CONDITION;
                }

                if (InstrStatusList.Count > 1)
                {
                    if (InstrStatusList[0].COLLECTION_TEAM_ID != 0 && InstrStatusList[0].COLLECTION_TEAM_ID != null)
                    {
                        request             = new RestRequest();
                        request.Resource    = "/CollectionTeams/{entityId}";
                        request.RootElement = "COLLECT_TEAM";
                        request.AddParameter("entityId", InstrStatusList[0].COLLECTION_TEAM_ID, ParameterType.UrlSegment);
                        COLLECT_TEAM ct = serviceCaller.Execute <COLLECT_TEAM>(request);
                        ViewData["depTeamName"] = ct.DESCRIPTION;
                    }
                    if (InstrStatusList[1].COLLECTION_TEAM_ID != 0 && InstrStatusList[1].COLLECTION_TEAM_ID != null)
                    {
                        request             = new RestRequest();
                        request.Resource    = "/CollectionTeams/{entityId}";
                        request.RootElement = "COLLECT_TEAM";
                        request.AddParameter("entityId", InstrStatusList[1].COLLECTION_TEAM_ID, ParameterType.UrlSegment);
                        COLLECT_TEAM ct = serviceCaller.Execute <COLLECT_TEAM>(request);
                        ViewData["retTeamName"] = ct.DESCRIPTION;
                    }
                }
                #endregion SensorInfo

                #region FileInfo
                request             = new RestRequest();
                request.Resource    = "/Instruments/{instrumentId}/Files";
                request.RootElement = "ArrayOfFILE";
                request.AddParameter("instrumentId", sensorId, ParameterType.UrlSegment);
                List <FILE> sensorFiles = serviceCaller.Execute <List <FILE> >(request);

                ViewData["dataFiles"] = sensorFiles.Where(df => df.FILETYPE_ID == 2).ToList();
                List <FILE> photoFiles = sensorFiles.Where(pf => pf.FILETYPE_ID == 1).ToList();

                //build photo caption
                List <PhotoFileCaption> photoCapFiles = new List <PhotoFileCaption>();
                foreach (FILE f in photoFiles)
                {
                    PhotoFileCaption thisPhoto = new PhotoFileCaption();
                    thisPhoto.FileID          = f.FILE_ID.ToString();
                    thisPhoto.FileDesc        = f.DESCRIPTION;
                    thisPhoto.SiteDescription = thisSite.SITE_DESCRIPTION;
                    thisPhoto.County          = thisSite.COUNTY;
                    thisPhoto.State           = thisSite.STATE;
                    thisPhoto.Date            = f.FILE_DATE;

                    request             = new RestRequest();
                    request.Resource    = "/Sources/{entityId}";
                    request.RootElement = "SOURCE";
                    request.AddParameter("entityId", f.SOURCE_ID, ParameterType.UrlSegment);
                    SOURCE thisSource = serviceCaller.Execute <SOURCE>(request);
                    thisPhoto.MemberName = thisSource.SOURCE_NAME;

                    request             = new RestRequest();
                    request.Resource    = "/Agencies/{entityId}";
                    request.RootElement = "AGENCY";
                    request.AddParameter("entityId", thisSource.AGENCY_ID, ParameterType.UrlSegment);
                    thisPhoto.MemberAgency = serviceCaller.Execute <AGENCY>(request).AGENCY_NAME;
                    photoCapFiles.Add(thisPhoto);
                }
                ViewData["PhotoCaptionList"] = photoCapFiles;

                #endregion FileInfo

                return(PartialView());
            }
            catch (Exception e)
            {
                return(PartialView("../Shared/Error", e));
            }
        }
Example #3
0
        public ActionResult CreateCollectTeam(FormCollection thisFC)
        {
            try
            {
                //create collectTeam
                COLLECT_TEAM aColTeam = new COLLECT_TEAM();
                aColTeam.DESCRIPTION = thisFC["TeamName"];

                //make sure there's a description - was getting empty ones due to log off issue

                if (string.IsNullOrEmpty(aColTeam.DESCRIPTION))
                {
                    aColTeam.DESCRIPTION = "Left Empty";
                }

                //create the collection team first
                STNServiceCaller serviceCaller = STNServiceCaller.Instance;
                var request = new RestRequest(Method.POST);
                request.Resource      = "/CollectionTeams";
                request.RequestFormat = DataFormat.Xml;
                request.AddHeader("Content-Type", "application/xml");
                STNWebSerializer serializer = new STNWebSerializer();
                request.AddParameter("application/xml", serializer.Serialize <COLLECT_TEAM>(aColTeam), ParameterType.RequestBody);
                COLLECT_TEAM newTeam = serviceCaller.Execute <COLLECT_TEAM>(request);

                Session["TeamId"]   = newTeam.COLLECT_TEAM_ID;
                Session["TeamName"] = newTeam.DESCRIPTION;

                //then add the members.
                MEMBER        member1      = new MEMBER();
                MEMBER        member2      = new MEMBER();
                List <MEMBER> theseMembers = new List <MEMBER>();

                string m1Username = thisFC["thisUserName"];
                string m2Username = thisFC["WhoRUwith"];

                if (m1Username != "")
                {
                    request             = new RestRequest();
                    request.Resource    = "/Members?username={userName}";
                    request.RootElement = "MEMBER";
                    request.AddParameter("userName", m1Username, ParameterType.UrlSegment);
                    member1 = serviceCaller.Execute <MEMBER>(request);
                    theseMembers.Add(member1);
                }

                if (m2Username != "")
                {
                    request             = new RestRequest();
                    request.Resource    = "/Members?username={userName}";
                    request.RootElement = "MEMBER";
                    request.AddParameter("userName", m2Username, ParameterType.UrlSegment);
                    member2 = serviceCaller.Execute <MEMBER>(request);
                    theseMembers.Add(member2);
                }

                List <MEMBER> listMembers = new List <MEMBER>();

                foreach (MEMBER aMember in theseMembers)
                {
                    request          = new RestRequest();
                    request.Method   = Method.POST;
                    request.Resource = "/CollectionTeams/{teamId}/AddMember";
                    request.AddParameter("teamId", newTeam.COLLECT_TEAM_ID, ParameterType.UrlSegment);
                    request.RequestFormat = DataFormat.Xml;
                    request.AddHeader("Content-Type", "application/xml");
                    request.AddParameter("application/xml", request.XmlSerializer.Serialize(aMember), ParameterType.RequestBody);
                    listMembers = serviceCaller.Execute <List <MEMBER> >(request);
                }
                string rdURL = thisFC["RedirectURL"];

                return(RedirectToAction("Index", new { returnUrl = rdURL }));
            }
            catch (Exception e)
            {
                return(View("../Shared/Error", e));
            }
        }
Example #4
0
        public PartialViewResult Edit(int id, HWM aHWM)
        {
            try
            {
                if (aHWM.SURVEY_DATE != null)
                {
                    //they added a date, or there was one there already
                    if (aHWM.SURVEY_TEAM_ID == null)
                    {
                        //there's no survey team stored, so they are just now surveying it
                        aHWM.SURVEY_TEAM_ID = Convert.ToDecimal(Request.Form["UseThisSurveyID"]);
                    }
                }
                STNServiceCaller serviceCaller = STNServiceCaller.Instance;
                var request = new RestRequest(Method.POST);

                request.Resource      = "HWMs/{entityId}";
                request.RequestFormat = DataFormat.Xml;
                request.AddParameter("entityId", id, ParameterType.UrlSegment);
                request.AddHeader("X-HTTP-Method-Override", "PUT");
                request.AddHeader("Content-Type", "application/xml");
                //Use extended serializer
                STNWebSerializer serializer = new STNWebSerializer();
                request.AddParameter("application/xml", serializer.Serialize <HWM>(aHWM), ParameterType.RequestBody);
                serviceCaller.Execute <HWM>(request);

                //**store info in ViewData for return to Partial View**//
                //get site name and number
                request             = new RestRequest();
                request.Resource    = "Sites/{entityId}";
                request.RootElement = "SITE";
                request.AddParameter("entityId", aHWM.SITE_ID, ParameterType.UrlSegment);
                SITE aSite = serviceCaller.Execute <SITE>(request);
                ViewData["aSite"]  = aSite;
                ViewData["SiteNo"] = aSite.SITE_NO;

                //get event
                request             = new RestRequest();
                request.Resource    = "/Events/{entityId}";
                request.RootElement = "EVENT";
                request.AddParameter("entityId", aHWM.EVENT_ID, ParameterType.UrlSegment);
                EVENT thisEvent = serviceCaller.Execute <EVENT>(request);
                if (thisEvent != null)
                {
                    ViewData["Event"] = thisEvent.EVENT_NAME;
                }

                //get HWM Type
                request             = new RestRequest();
                request.Resource    = "/HWMTypes/{entityId}";
                request.RootElement = "HWM_TYPES";
                request.AddParameter("entityId", aHWM.HWM_TYPE_ID, ParameterType.UrlSegment);
                HWM_TYPES thisHWMType = serviceCaller.Execute <HWM_TYPES>(request);
                if (thisHWMType != null)
                {
                    ViewData["HWMType"] = thisHWMType.HWM_TYPE;
                }

                //get HWM Quality
                request             = new RestRequest();
                request.Resource    = "/HWMQualities/{entityId}";
                request.RootElement = "HWM_QUALITIES";
                request.AddParameter("entityId", aHWM.HWM_QUALITY_ID, ParameterType.UrlSegment);
                HWM_QUALITIES thisHWMQual = serviceCaller.Execute <HWM_QUALITIES>(request);
                if (thisHWMQual != null)
                {
                    ViewData["HWMQual"] = thisHWMQual.HWM_QUALITY;
                }

                //build hwm quality field based on Environment and quality
                if (aHWM.HWM_ENVIRONMENT == "Coastal")
                {
                    switch (Convert.ToInt32(aHWM.HWM_QUALITY_ID))
                    {
                    case 1:     //Excellent
                        ViewData["QualValue"] = "(+/- 0.05)"; break;

                    case 2:     //Good
                        ViewData["QualValue"] = "(+/- 0.1)"; break;

                    case 3:     //Fair
                        ViewData["QualValue"] = "(+/- 0.2)"; break;

                    case 4:     //Poor
                        ViewData["QualValue"] = "(+/- 0.4)"; break;

                    default:     //VP
                        ViewData["QualValue"] = "(>0.40)"; break;
                    }
                }
                else // "riverine"
                {
                    switch (Convert.ToInt32(aHWM.HWM_QUALITY_ID))
                    {
                    case 1:     //Excellent
                        ViewData["QualValue"] = "(+/- 0.02)"; break;

                    case 2:     //Good
                        ViewData["QualValue"] = "(+/- 0.05)"; break;

                    case 3:     //Fair
                        ViewData["QualValue"] = "(+/- 0.1)"; break;

                    case 4:     //Poor
                        ViewData["QualValue"] = "(+/- 0.2)"; break;

                    default:     //VP
                        ViewData["QualValue"] = "(>0.20)"; break;
                    }
                }

                //get FlagTeam
                request             = new RestRequest();
                request.Resource    = "/CollectionTeams/{entityId}";
                request.RootElement = "COLLECT_TEAM";
                request.AddParameter("entityId", aHWM.FLAG_TEAM_ID, ParameterType.UrlSegment);
                COLLECT_TEAM thisCollTm = serviceCaller.Execute <COLLECT_TEAM>(request);
                if (thisCollTm != null)
                {
                    ViewData["FlagTeam"] = thisCollTm.DESCRIPTION;
                }

                if (aHWM.SURVEY_TEAM_ID != null)
                {
                    //get surveyTeam
                    request             = new RestRequest();
                    request.Resource    = "/CollectionTeams/{entityId}";
                    request.RootElement = "COLLECT_TEAM";
                    request.AddParameter("entityId", aHWM.SURVEY_TEAM_ID, ParameterType.UrlSegment);
                    COLLECT_TEAM surveyTeam = serviceCaller.Execute <COLLECT_TEAM>(request);
                    if (surveyTeam != null)
                    {
                        ViewData["SurveyTeam"] = surveyTeam.DESCRIPTION;
                    }
                }

                if (thisCollTm != null)
                {
                    ViewData["FlagTeam"] = thisCollTm.DESCRIPTION;
                }


                //get collectionMethod
                request             = new RestRequest();
                request.Resource    = "/VerticalMethods/{entityId}";
                request.RootElement = "VERTICAL_COLLECT_METHODS";
                request.AddParameter("entityId", aHWM.VCOLLECT_METHOD_ID, ParameterType.UrlSegment);
                VERTICAL_COLLECT_METHODS thisVCollMtd = serviceCaller.Execute <VERTICAL_COLLECT_METHODS>(request);
                if (thisVCollMtd != null)
                {
                    ViewData["VCollectMethod"] = thisVCollMtd.VCOLLECT_METHOD;
                }

                //Get Vertical Datum
                request             = new RestRequest();
                request.Resource    = "/VerticalDatums/{entityId}";
                request.RootElement = "VERTICAL_DATUMS";
                request.AddParameter("entityId", aHWM.VDATUM_ID, ParameterType.UrlSegment);
                VERTICAL_DATUMS thisVD = serviceCaller.Execute <VERTICAL_DATUMS>(request);
                if (thisVD != null)
                {
                    ViewData["VerticalDatum"] = thisVD.DATUM_NAME;
                }

                //Get marker
                request             = new RestRequest();
                request.Resource    = "/Markers/{entityId}";
                request.RootElement = "MARKER";
                request.AddParameter("entityId", aHWM.MARKER_ID, ParameterType.UrlSegment);
                MARKER thisMarker = serviceCaller.Execute <MARKER>(request);
                if (thisMarker != null)
                {
                    ViewData["MarkerID"] = thisMarker.MARKER1;
                }

                //get Horizontal Collection Methods
                request             = new RestRequest();
                request.Resource    = "/HorizontalMethods/{entityId}";
                request.RootElement = "HORIZONTAL_COLLECT_METHODS";
                request.AddParameter("entityId", aHWM.HCOLLECT_METHOD_ID, ParameterType.UrlSegment);
                HORIZONTAL_COLLECT_METHODS thisHcoll = serviceCaller.Execute <HORIZONTAL_COLLECT_METHODS>(request);
                if (thisHcoll != null)
                {
                    ViewData["HCollectMethod"] = thisHcoll.HCOLLECT_METHOD;
                }

                return(PartialView("HWMDetailsPV", aHWM));
            }
            catch (Exception e)
            {
                return(PartialView("../Shared/Error", e));
            }
        }