Beispiel #1
0
        public ActionResult Details(int id)
        {
            try
            {
                STNServiceCaller serviceCaller = STNServiceCaller.Instance;
                var request = new RestRequest();

                request.Resource    = "HWMs/{entityId}";
                request.RootElement = "HWM";
                request.AddParameter("entityId", id, ParameterType.UrlSegment);
                HWM aHWM = serviceCaller.Execute <HWM>(request);

                //see if this hwm has a peak summary or approval (field can't delete then)
                if (aHWM.PEAK_SUMMARY_ID.HasValue || aHWM.APPROVAL_ID.HasValue)
                {
                    ViewData["ManagerOnly"] = "true";
                }

                //get Site number
                request             = new RestRequest();
                request.Resource    = "Sites/{entityId}";
                request.RootElement = "SITE";
                request.AddParameter("entityId", aHWM.SITE_ID, ParameterType.UrlSegment);
                ViewData["SiteNo"] = serviceCaller.Execute <SITE>(request).SITE_NO;

                //get member logged in's role
                request             = new RestRequest();
                request.Resource    = "/Members?username={userName}";
                request.RootElement = "MEMBER";
                request.AddParameter("userName", User.Identity.Name, ParameterType.UrlSegment);
                MEMBER thisMember = serviceCaller.Execute <MEMBER>(request);
                if (thisMember.ROLE_ID == 1)
                {
                    ViewData["Role"] = "Admin";
                }
                if (thisMember.ROLE_ID == 2)
                {
                    ViewData["Role"] = "Manager";
                }
                if (thisMember.ROLE_ID == 3)
                {
                    ViewData["Role"] = "Field";
                }

                //Get peak summary info
                request             = new RestRequest();
                request.Resource    = "/PeakSummaries/{entityId}";
                request.RootElement = "ArrayOfPEAK_SUMMARY";
                request.AddParameter("entityId", aHWM.PEAK_SUMMARY_ID, ParameterType.UrlSegment);
                ViewData["PeakSummary"] = serviceCaller.Execute <PEAK_SUMMARY>(request);

                return(View(aHWM));
            }
            catch (Exception e)
            {
                return(View("../Shared/Error", e));
            }
        }
Beispiel #2
0
        public ActionResult Create(HWM newHWM, string Create)
        {
            try
            {
                //see if they entered a survey date, if so, apply the survey_team_id
                if (newHWM.SURVEY_DATE != null)
                {
                    newHWM.SURVEY_TEAM_ID = newHWM.FLAG_TEAM_ID;
                }

                STNServiceCaller serviceCaller = STNServiceCaller.Instance;
                var request = new RestRequest(Method.POST);
                request.Resource      = "HWMs/";
                request.RequestFormat = DataFormat.Xml;
                request.AddHeader("Content-Type", "application/xml");
                //Use extended serializer
                STNWebSerializer serializer = new STNWebSerializer();
                request.AddParameter("application/xml", serializer.Serialize <HWM>(newHWM), ParameterType.RequestBody);

                string siteID     = newHWM.SITE_ID.ToString();
                HWM    createdHWM = serviceCaller.Execute <HWM>(request);

                //determine which button was clicked
                if (Create == "Submit & Add\r\nPeak Summary") //Submit & Add HWM
                {
                    return(RedirectToAction("CreatePeakSumForm", "PeakSummary", new { id = createdHWM.HWM_ID, FROM = "HWM" }));
                }
                else //Submit
                {
                    return(RedirectToAction("Details", new { id = createdHWM.HWM_ID }));
                }
            }
            catch (Exception e)
            {
                return(View("../Shared/Error", e));
            }
        }
Beispiel #3
0
        //
        // GET: /Public/
        public ActionResult HWMInfoPage(int siteId, int hwmId)
        {
            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    = "Sites/{siteId}/hDatum";
                request.RootElement = "HORIZONTAL_DATUMS";
                request.AddParameter("siteId", thisSite.SITE_ID, ParameterType.UrlSegment);
                ViewData["HDatum"] = serviceCaller.Execute <HORIZONTAL_DATUMS>(request).DATUM_NAME;
                #endregion SiteInfo

                //get Peaks
                GetPeakSummaries(siteId);

                #region HWMinfo
                //get hwm
                request             = new RestRequest();
                request.Resource    = "HWMs/{entityId}";
                request.RootElement = "HWM";
                request.AddParameter("entityId", hwmId, ParameterType.UrlSegment);
                HWM aHWM = serviceCaller.Execute <HWM>(request);
                ViewData["HWM"] = aHWM;

                //get event
                request             = new RestRequest();
                request.Resource    = "/HWMs/{hwmId}/Event";
                request.RootElement = "EVENT";
                request.AddParameter("hwmId", aHWM.HWM_ID, ParameterType.UrlSegment);
                EVENT hwmEvent = serviceCaller.Execute <EVENT>(request);
                if (hwmEvent != null)
                {
                    ViewData["HwmEvent"] = hwmEvent.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["HWMQaul"] = thisHWMQual.HWM_QUALITY;
                }

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

                if (aHWM.SURVEY_TEAM_ID != null && aHWM.SURVEY_TEAM_ID != 0)
                {
                    //get CollectionTeam
                    request             = new RestRequest();
                    request.Resource    = "/CollectionTeams/{entityId}";
                    request.RootElement = "COLLECT_TEAM";
                    request.AddParameter("entityId", aHWM.SURVEY_TEAM_ID, ParameterType.UrlSegment);
                    ViewData["SurveyTeam"] = serviceCaller.Execute <COLLECT_TEAM>(request).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["Marker"] = thisMarker.MARKER1;
                }

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

                #region FileInfo
                //now get all the files
                request             = new RestRequest();
                request.Resource    = "/HWMs/{hwmId}/Files/";
                request.RootElement = "ArrayOfFILE";
                request.AddParameter("hwmId", aHWM.HWM_ID, ParameterType.UrlSegment);
                List <FILE> allTheseFiles = serviceCaller.Execute <List <FILE> >(request);
                List <FILE> photoFiles    = allTheseFiles.Where(pf => pf.FILETYPE_ID == 1).ToList();

                List <PhotoFileCaption> PhotoCapFiles = new List <PhotoFileCaption>();
                foreach (FILE f in photoFiles)
                {
                    //build caption
                    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 FileInof

                return(PartialView());
            }
            catch (Exception e)
            {
                return(PartialView("../Shared/Error", e));
            }
        }
Beispiel #4
0
        public void GetPeakSummaries(int id)
        {
            //Site Peaks
            STNServiceCaller serviceCaller = STNServiceCaller.Instance;
            var request = new RestRequest();

            request.Resource    = "/Sites/{siteId}/PeakSummaries";
            request.RootElement = "ArrayOfPEAK_SUMMARY";
            request.AddParameter("siteId", id, ParameterType.UrlSegment);
            List <PEAK_SUMMARY> SiteSummaries = serviceCaller.Execute <List <PEAK_SUMMARY> >(request);

            //HWM Peaks
            List <HWM>              HWMSummaries = new List <HWM>();
            List <DATA_FILE>        DataFileSums = new List <DATA_FILE>(); //each set within loop
            List <PeakSummaryModel> allPeakSums  = new List <PeakSummaryModel>();

            //do the rest of this only if there are SiteSummaries
            if (SiteSummaries != null && SiteSummaries.Count >= 1)
            {
                //go through Site peaks and pull out which are hwm and/or datafile
                //add all pieces to PeakSummaryModel to pass to view (Elevation, Date, Time, Event, Description)
                foreach (PEAK_SUMMARY p in SiteSummaries)
                {
                    PeakSummaryModel PeakSum = new PeakSummaryModel();
                    //populate peak pieces
                    PeakSum.Link2Details = id;

                    PeakSum.PeakStage     = p.PEAK_STAGE;// string.Format("{0:n0}", p.PEAK_STAGE);
                    PeakSum.PeakDate      = ((DateTime)p.PEAK_DATE).ToString("M/d/yy");
                    PeakSum.PeakTime      = ((DateTime)p.PEAK_DATE).ToString("t");
                    PeakSum.DateEstimated = p.IS_PEAK_ESTIMATED;
                    PeakSum.TimeEstimated = p.IS_PEAK_TIME_ESTIMATED;

                    //get hwm peaks
                    request             = new RestRequest();
                    request.Resource    = "PeakSummaries/{peakSummaryId}/HWMs";
                    request.RootElement = "ArrayOfHWM";
                    request.AddParameter("peakSummaryId", p.PEAK_SUMMARY_ID, ParameterType.UrlSegment);
                    HWMSummaries = serviceCaller.Execute <List <HWM> >(request); // should return list containing only 1

                    //if it is a HWM Peak, add Description to model and get Event
                    if (HWMSummaries != null && HWMSummaries.Count >= 1)
                    {
                        HWM thisOne = HWMSummaries[0];
                        PeakSum.PeakHWMDesc = thisOne.HWM_LOCATIONDESCRIPTION;
                        PeakSum.eventId     = thisOne.EVENT_ID;
                        //get event
                        if (thisOne.EVENT_ID != null)
                        {
                            request             = new RestRequest();
                            request.Resource    = "/Events/{entityId}";
                            request.RootElement = "EVENT";
                            request.AddParameter("entityId", thisOne.EVENT_ID, ParameterType.UrlSegment);
                            PeakSum.EventName = serviceCaller.Execute <EVENT>(request).EVENT_NAME;
                        }
                    }

                    // get datafile peaks
                    request             = new RestRequest();
                    request.Resource    = "/PeakSummaries/{peakSummaryId}/DataFiles";
                    request.RootElement = "ArrayOfDATA_FILE";
                    request.AddParameter("peakSummaryId", p.PEAK_SUMMARY_ID, ParameterType.UrlSegment);
                    DataFileSums = serviceCaller.Execute <List <DATA_FILE> >(request);

                    //if it is a datafile peak, get instrument for Description and event name
                    if (DataFileSums != null && DataFileSums.Count >= 1)
                    {
                        DATA_FILE thisDF = DataFileSums[0];

                        //get event name and description via instrument
                        request             = new RestRequest();
                        request.Resource    = "Instruments/{entityId}";
                        request.RootElement = "INSTRUMENT";
                        request.AddParameter("entityId", thisDF.INSTRUMENT_ID, ParameterType.UrlSegment);
                        INSTRUMENT thisInstr = serviceCaller.Execute <INSTRUMENT>(request);

                        PeakSum.PeakDataFileDesc = thisInstr.LOCATION_DESCRIPTION;
                        PeakSum.eventId          = thisInstr.EVENT_ID;
                        request             = new RestRequest();
                        request.Resource    = "/Events/{entityId}";
                        request.RootElement = "EVENT";
                        request.AddParameter("entityId", thisInstr.EVENT_ID, ParameterType.UrlSegment);
                        PeakSum.EventName = serviceCaller.Execute <EVENT>(request).EVENT_NAME;
                    }
                    allPeakSums.Add(PeakSum);
                }
            }
            ViewData["Peaks"] = allPeakSums;
        }
Beispiel #5
0
        public ActionResult CreatePeakSumForm(PeakSummaryModel peak)
        {
            try
            {
                STNServiceCaller serviceCaller = STNServiceCaller.Instance;

                //build the PEAKSUMMARY object from Peak Model
                PEAK_SUMMARY newPeakSum = new PEAK_SUMMARY();

                newPeakSum.MEMBER_ID = GetMember(User.Identity.Name).MEMBER_ID;

                string date = peak.PeakDate; // mm/dd/yyyy
                string time = peak.PeakTime; // hh:mm PM

                string datetime = date + " " + time;
                newPeakSum.PEAK_DATE = DateTime.Parse(datetime, System.Globalization.CultureInfo.InvariantCulture);

                newPeakSum.TIME_ZONE = peak.TimeZone;

                if (newPeakSum.TIME_ZONE != "UTC")
                {
                    newPeakSum.TIME_ZONE = "UTC";
                    newPeakSum.PEAK_DATE = newPeakSum.PEAK_DATE.Value.ToUniversalTime();
                }

                newPeakSum.IS_PEAK_ESTIMATED      = peak.DateEstimated;
                newPeakSum.IS_PEAK_TIME_ESTIMATED = peak.TimeEstimated;

                newPeakSum.PEAK_STAGE = peak.PeakStage;
                newPeakSum.IS_PEAK_STAGE_ESTIMATED = peak.StageEstimated;
                newPeakSum.VDATUM_ID                   = peak.VdatumID;
                newPeakSum.HEIGHT_ABOVE_GND            = peak.HeightAboveGround;
                newPeakSum.IS_HAG_ESTIMATED            = peak.HAGEstimated;
                newPeakSum.PEAK_DISCHARGE              = peak.PeakDischarge;
                newPeakSum.IS_PEAK_DISCHARGE_ESTIMATED = peak.DischargeEstimated;

                //post the new Peak Summary
                var request = new RestRequest(Method.POST);
                request.Resource      = "/PeakSummaries";
                request.RequestFormat = DataFormat.Xml;
                request.AddHeader("Content-Type", "application/xml");
                STNWebSerializer serializer = new STNWebSerializer();
                request.AddParameter("application/xml", serializer.Serialize <PEAK_SUMMARY>(newPeakSum), ParameterType.RequestBody);
                PEAK_SUMMARY createdPeakSum = serviceCaller.Execute <PEAK_SUMMARY>(request);

                //check to see if this is a Peak summary for a File or for a HWM
                //put peakSummary_id into File.PEakSummaryID or HWM.PeakSummaryID
                var FROM = peak.From;
                if (FROM == "File")
                {
                    //use id to get the file, then datafile to assign peak summary id to field
                    FILE aFile = GetFile(peak.objID);

                    DATA_FILE thisDF = GetDataFile(aFile.DATA_FILE_ID);

                    thisDF.PEAK_SUMMARY_ID = createdPeakSum.PEAK_SUMMARY_ID;

                    //now PUT this back to the service
                    request               = new RestRequest(Method.POST);
                    request.Resource      = "DataFiles/{entityId}";
                    request.RequestFormat = DataFormat.Xml;
                    request.AddParameter("entityId", thisDF.DATA_FILE_ID, ParameterType.UrlSegment);
                    request.AddHeader("X-HTTP-Method-Override", "PUT");
                    request.AddHeader("Content-Type", "application/xml");
                    //Use extended serializer
                    serializer = new STNWebSerializer();
                    request.AddParameter("application/xml", serializer.Serialize <DATA_FILE>(thisDF), ParameterType.RequestBody);
                    serviceCaller.Execute <DATA_FILE>(request);

                    //return to filedetails page using fileid to refresh
                    return(RedirectToAction("FileDetails", "Files", new { id = peak.objID }));
                }
                else //(FROM == "HWM")
                {
                    //use id to get HWM file to assign peak summary id to field
                    request             = new RestRequest();
                    request.Resource    = "HWMs/{entityId}";
                    request.RootElement = "HWM";
                    request.AddParameter("entityId", peak.objID, ParameterType.UrlSegment);
                    HWM aHWM = serviceCaller.Execute <HWM>(request);

                    aHWM.PEAK_SUMMARY_ID = createdPeakSum.PEAK_SUMMARY_ID;

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

                    //return to hwmdetails page using hwmid to refresh
                    return(RedirectToAction("Details", "HWMs", new { id = peak.objID }));
                }
            }
            catch (Exception e)
            {
                return(View("../Shared/Error", e));
            }
        }
Beispiel #6
0
        //GET approvalInfoBox/id
        public PartialViewResult ApprovalInfoBox(int id, string FROM)
        {
            try
            {
                STNServiceCaller serviceCaller = STNServiceCaller.Instance;
                var      request    = new RestRequest();
                APPROVAL anApproval = new APPROVAL();
                ViewData["FROM"] = FROM;
                ViewData["ID"]   = id;

                //which approval are we interested in
                if (FROM == "HWM")
                {
                    request.Resource    = "HWMs/{entityId}";
                    request.RootElement = "HWM";
                    request.AddParameter("entityId", id, ParameterType.UrlSegment);
                    HWM aHWM = serviceCaller.Execute <HWM>(request);

                    request             = new RestRequest();
                    request.Resource    = "/Approvals/{entityId}";
                    request.RootElement = "APPROVAL";
                    request.AddParameter("entityId", aHWM.APPROVAL_ID, ParameterType.UrlSegment);
                    anApproval = serviceCaller.Execute <APPROVAL>(request);
                }
                else if (FROM == "DF")
                {
                    //if it's 0, there is an issue from the uploader not connecting the file to the datafile
                    if (id != 0)
                    {
                        request             = new RestRequest();
                        request.Resource    = "DataFiles/{entityId}";
                        request.RootElement = "DATA_FILE";
                        request.AddParameter("entityId", id, ParameterType.UrlSegment);
                        DATA_FILE aDataFile = serviceCaller.Execute <DATA_FILE>(request);

                        request             = new RestRequest();
                        request.Resource    = "/Approvals/{entityId}";
                        request.RootElement = "APPROVAL";
                        request.AddParameter("entityId", aDataFile.APPROVAL_ID, ParameterType.UrlSegment);
                        anApproval = serviceCaller.Execute <APPROVAL>(request);
                    }
                    else
                    {
                        anApproval = null;
                    }
                }

                if (anApproval != null)
                {
                    //Get Approving Member
                    request             = new RestRequest();
                    request.Resource    = "Members/{entityId}";
                    request.RootElement = "MEMBER";
                    request.AddParameter("entityId", anApproval.MEMBER_ID, ParameterType.UrlSegment);
                    string memUsername = serviceCaller.Execute <MEMBER>(request).USERNAME;

                    ViewData["ApprovalSummary"] = memUsername;
                }

                //get member logged in's role
                request             = new RestRequest();
                request.Resource    = "/Members?username={userName}";
                request.RootElement = "MEMBER";
                request.AddParameter("userName", User.Identity.Name, ParameterType.UrlSegment);
                MEMBER thisMember = serviceCaller.Execute <MEMBER>(request);
                if (thisMember.ROLE_ID == 1)
                {
                    ViewData["Role"] = "Admin";
                }
                if (thisMember.ROLE_ID == 2)
                {
                    ViewData["Role"] = "Manager";
                }
                if (thisMember.ROLE_ID == 3)
                {
                    ViewData["Role"] = "Field";
                }

                return(PartialView());
            }
            catch (Exception e)
            {
                return(PartialView("../Shared/Error", e));
            }
        }
Beispiel #7
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));
            }
        }
Beispiel #8
0
        public ActionResult HWMEditPV(int id)
        {
            //need to choose a collection team first
            if (Session["TeamId"] == null)
            {
                //grab the url to bring back there
                string returnUrl = Request.UrlReferrer.ToString();
                return(RedirectToAction("Index", "Home", new { returnUrl = returnUrl }));
            }
            try
            {
                STNServiceCaller serviceCaller = STNServiceCaller.Instance;
                var request = new RestRequest();

                request.Resource    = "HWMs/{entityId}";
                request.RootElement = "HWM";
                request.AddParameter("entityId", id, ParameterType.UrlSegment);
                HWM aHWM = serviceCaller.Execute <HWM>(request);

                //ensure latitude is 6 dec places long
                aHWM.LATITUDE_DD = Math.Round(aHWM.LATITUDE_DD.Value, 6);

                //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["SiteNo"] = aSite.SITE_NO;

                //Get vertical datum choices
                request                = new RestRequest();
                request.Resource       = "/VerticalDatums";
                request.RootElement    = "ArrayOfVERTICAL_DATUMS";
                ViewData["vDatumList"] = serviceCaller.Execute <List <VERTICAL_DATUMS> >(request);

                //Get horizontal datum choices
                request                = new RestRequest();
                request.Resource       = "/HorizontalDatums";
                request.RootElement    = "ArrayOfHORIZONTAL_DATUMS";
                ViewData["hDatumList"] = serviceCaller.Execute <List <HORIZONTAL_DATUMS> >(request);

                //Get event choices
                request               = new RestRequest();
                request.Resource      = "/Events";
                request.RootElement   = "ArrayOfEvents";
                ViewData["EventList"] = serviceCaller.Execute <List <EVENT> >(request);

                //Get HWM type choices
                request                  = new RestRequest();
                request.Resource         = "/HWMTypes";
                request.RootElement      = "ArrayOfHWM_TYPES";
                ViewData["HWMTypesList"] = serviceCaller.Execute <List <HWM_TYPES> >(request);

                //Get HWM quality choices
                request                      = new RestRequest();
                request.Resource             = "/HWMQualities";
                request.RootElement          = "ArrayOfHWM_QUALITIES";
                ViewData["HWMQualitiesList"] = serviceCaller.Execute <List <HWM_QUALITIES> >(request);

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

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

                //Get collection method choices
                request                        = new RestRequest();
                request.Resource               = "/VerticalMethods";
                request.RootElement            = "ArrayOfVERTICAL_COLLECT_METHODS";
                ViewData["VcollectMethodList"] = serviceCaller.Execute <List <VERTICAL_COLLECT_METHODS> >(request);

                //Get marker choices
                request                = new RestRequest();
                request.Resource       = "/Markers";
                request.RootElement    = "ArrayOfMARKER";
                ViewData["markerList"] = serviceCaller.Execute <List <MARKER> >(request);

                //Get Horizontal Collection Methods
                request                  = new RestRequest();
                request.Resource         = "/HorizontalMethods";
                request.RootElement      = "ArrayOfHORIZONTAL_COLLECT_METHODS";
                ViewData["HCollectList"] = serviceCaller.Execute <List <HORIZONTAL_COLLECT_METHODS> >(request);

                //TODO: Get peak summary choices


                return(PartialView("HWMEditPV", aHWM));
            }
            catch (Exception e)
            {
                return(View("../Shared/Error", e));
            }
        }
Beispiel #9
0
        public PartialViewResult HWMDetailsPV(int id)
        {
            try
            {
                STNServiceCaller serviceCaller = STNServiceCaller.Instance;
                var request = new RestRequest();

                request.Resource    = "HWMs/{entityId}";
                request.RootElement = "HWM";
                request.AddParameter("entityId", id, ParameterType.UrlSegment);
                HWM aHWM = serviceCaller.Execute <HWM>(request);

                //make sure latitude is only 6 dec places
                aHWM.LATITUDE_DD = Math.Round(aHWM.LATITUDE_DD.Value, 6);

                //get Site name and number if fields have values
                request             = new RestRequest();
                request.Resource    = "Sites/{entityId}";
                request.RootElement = "SITE";
                request.AddParameter("entityId", aHWM.SITE_ID, ParameterType.UrlSegment);
                ViewData["aSite"] = serviceCaller.Execute <SITE>(request);

                //get event
                request             = new RestRequest();
                request.Resource    = "/Events/{eventId}";
                request.RootElement = "EVENT";
                request.AddParameter("eventId", 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:
                        ViewData["QualValue"] = "(+/- 0.05)";     //Excellent
                        break;

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

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

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

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

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

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

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

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

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

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

                //get collectionMethod
                if (aHWM.VCOLLECT_METHOD_ID != null && aHWM.VCOLLECT_METHOD_ID != 0)
                {
                    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
                if (aHWM.VDATUM_ID != null && aHWM.VDATUM_ID != 0)
                {
                    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 horizontal datum
                if (aHWM.HDATUM_ID != null && aHWM.HDATUM_ID != 0)
                {
                    request             = new RestRequest();
                    request.Resource    = "/HorizontalDatums/{entityId}";
                    request.RootElement = "HORIZONTAL_DATUMS";
                    request.AddParameter("entityId", aHWM.HDATUM_ID, ParameterType.UrlSegment);
                    HORIZONTAL_DATUMS thisHD = serviceCaller.Execute <HORIZONTAL_DATUMS>(request);
                    if (thisHD != null)
                    {
                        ViewData["aHorizontalDatum"] = thisHD.DATUM_NAME;
                    }
                }

                //Get marker
                if (aHWM.MARKER_ID != null && aHWM.MARKER_ID != 0)
                {
                    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 Method
                if (aHWM.HCOLLECT_METHOD_ID != null && aHWM.HCOLLECT_METHOD_ID != 0)
                {
                    request             = new RestRequest();
                    request.Resource    = "/HorizontalMethods/{entityId}";
                    request.RootElement = "HORIZONTAL_COLLECT_METHODS";
                    request.AddParameter("entityId", aHWM.HCOLLECT_METHOD_ID, ParameterType.UrlSegment);
                    HORIZONTAL_COLLECT_METHODS thisHCollectMethod = serviceCaller.Execute <HORIZONTAL_COLLECT_METHODS>(request);
                    if (thisHCollectMethod != null)
                    {
                        ViewData["HCollectMethod"] = thisHCollectMethod.HCOLLECT_METHOD;
                    }
                }
                return(PartialView("HWMDetailsPV", aHWM));
            }
            catch (Exception e)
            {
                return(PartialView("../Shared/Error", e));
            }
        }