Beispiel #1
0
        //returns aDataFile whenever called
        public DATA_FILE GetDataFile(decimal?id)
        {
            STNServiceCaller serviceCaller = STNServiceCaller.Instance;
            var 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);

            return(aDataFile);
        }
Beispiel #2
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 #3
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 #4
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));
            }
        }