Exemple #1
0
        //Details of a peak Summary using PeakSummary ID
        public PartialViewResult PeakSumDetailsPV(int pkId, string FROM, int objID)
        {
            try
            {
                STNServiceCaller serviceCaller = STNServiceCaller.Instance;
                var request = new RestRequest();
                //get this peak summary
                request.Resource    = "/PeakSummaries/{entityId}";
                request.RootElement = "PEAK_SUMMARY";
                request.AddParameter("entityId", pkId, ParameterType.UrlSegment);
                PEAK_SUMMARY peakSummary = serviceCaller.Execute <PEAK_SUMMARY>(request);
                //store where this peak is being shown (HWM or DataFile) and the Id of which ever it is
                ViewData["FROM"]  = FROM;
                ViewData["objID"] = objID;

                //make sure peak date/time is in utc
                if (peakSummary.TIME_ZONE != "UTC")
                {
                    peakSummary.TIME_ZONE = "UTC";
                    peakSummary.PEAK_DATE = peakSummary.PEAK_DATE.Value.ToUniversalTime();
                }

                //get membername
                request             = new RestRequest();
                request.Resource    = "MEMBERS/{entityId}";
                request.RootElement = "MEMBER";
                request.AddParameter("entityId", peakSummary.MEMBER_ID, ParameterType.UrlSegment);
                ViewData["MemberUsername"] = serviceCaller.Execute <MEMBER>(request).USERNAME;

                //get datum if one
                if (peakSummary.VDATUM_ID != 0 && peakSummary.VDATUM_ID != null)
                {
                    request             = new RestRequest();
                    request.Resource    = "/VerticalDatums/{entityId}";
                    request.RootElement = "VERTICAL_DATUMS";
                    request.AddParameter("entityId", peakSummary.VDATUM_ID, ParameterType.UrlSegment);
                    ViewData["VDType"] = serviceCaller.Execute <VERTICAL_DATUMS>(request).DATUM_NAME;
                }
                return(PartialView("PeakSumDetailsPV", peakSummary));
            }
            catch (Exception e)
            {
                return(PartialView("../Shared/Error", e));
            }
        }
Exemple #2
0
        //Edit a peak Summary using PeakSummary ID and what page its from (HWM or FILE)
        public PartialViewResult EditPeakSumPV(int id, string FROM, string objID)
        {
            try
            {
                STNServiceCaller serviceCaller = STNServiceCaller.Instance;
                var request = new RestRequest();
                request.Resource    = "/PeakSummaries/{entityId}";
                request.RootElement = "PEAK_SUMMARY";
                request.AddParameter("entityId", id, ParameterType.UrlSegment);
                PEAK_SUMMARY thisPKS = serviceCaller.Execute <PEAK_SUMMARY>(request);

                //get the members name that added this peak summary
                request             = new RestRequest();
                request.Resource    = "MEMBERS/{entityId}";
                request.RootElement = "MEMBER";
                request.AddParameter("entityId", thisPKS.MEMBER_ID, ParameterType.UrlSegment);
                ViewData["MemberUsername"] = serviceCaller.Execute <MEMBER>(request).USERNAME;

                //get time zones
                System.Collections.ObjectModel.ReadOnlyCollection <TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones();
                List <string> USAtimeZones = new List <string>();
                foreach (TimeZoneInfo tzI in timeZones)
                {
                    if (tzI.DisplayName.Contains("US "))
                    {
                        if (tzI.StandardName.Contains("Pacific"))
                        {
                            USAtimeZones.Add("PST");
                        }
                        else if (tzI.StandardName.Contains("Mountain"))
                        {
                            USAtimeZones.Add("MST");
                        }
                        else if (tzI.StandardName.Contains("Central"))
                        {
                            USAtimeZones.Add("CST");
                        }
                        else
                        {
                            USAtimeZones.Add("EST");
                        }
                    }
                }
                USAtimeZones.Insert(0, "UTC");
                ViewData["TimeZones"] = USAtimeZones;

                //make sure peak time is utc
                if (thisPKS.TIME_ZONE != "UTC")
                {
                    thisPKS.TIME_ZONE = "UTC";
                    thisPKS.PEAK_DATE = thisPKS.PEAK_DATE.Value.ToUniversalTime();
                }

                //get vdatums
                request             = new RestRequest();
                request.Resource    = "/VerticalDatums";
                request.RootElement = "ArrayOfVERTICAL_DATUMS";
                List <VERTICAL_DATUMS> VertDatums = serviceCaller.Execute <List <VERTICAL_DATUMS> >(request);
                ViewData["VDType"] = VertDatums;
                //store where this is being shown (HWM or DataFile) and the id of whichever it is
                ViewData["FROM"]  = FROM;
                ViewData["objID"] = objID;

                return(PartialView("EditPeakSumPV", thisPKS));
            }
            catch (Exception e)
            {
                return(PartialView("../Shared/Error", e));
            }
        }
Exemple #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));
            }
        }
Exemple #4
0
        public ActionResult EditPeakSum(int id, PeakSummaryModel PeakModel)
        {
            try
            {
                PEAK_SUMMARY     editSummary   = new PEAK_SUMMARY();
                STNServiceCaller serviceCaller = STNServiceCaller.Instance;

                //store formcollection items
                editSummary.PEAK_SUMMARY_ID = PeakModel.peakID;
                editSummary.MEMBER_ID       = PeakModel.memberID;
                string date = PeakModel.PeakDate; // mm/dd/yyyy
                string time = PeakModel.PeakTime; // hh:mm PM

                string datetime = date + " " + time;
                editSummary.PEAK_DATE                   = DateTime.Parse(datetime, System.Globalization.CultureInfo.InvariantCulture);
                editSummary.IS_PEAK_ESTIMATED           = PeakModel.DateEstimated;
                editSummary.IS_PEAK_TIME_ESTIMATED      = PeakModel.TimeEstimated;
                editSummary.PEAK_STAGE                  = PeakModel.PeakStage;
                editSummary.IS_PEAK_STAGE_ESTIMATED     = PeakModel.StageEstimated;
                editSummary.PEAK_DISCHARGE              = PeakModel.PeakDischarge;
                editSummary.IS_PEAK_DISCHARGE_ESTIMATED = PeakModel.DischargeEstimated;
                editSummary.VDATUM_ID                   = PeakModel.VdatumID;
                editSummary.HEIGHT_ABOVE_GND            = PeakModel.HeightAboveGround;
                editSummary.IS_HAG_ESTIMATED            = PeakModel.HAGEstimated;
                editSummary.TIME_ZONE                   = PeakModel.TimeZone;

                //make sure it's UTC
                if (editSummary.TIME_ZONE != "UTC")
                {
                    editSummary.TIME_ZONE = "UTC";
                    editSummary.PEAK_DATE = editSummary.PEAK_DATE.Value.ToUniversalTime();
                }

                var request = new RestRequest(Method.POST);
                request.Resource      = "/PeakSummaries/{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 <PEAK_SUMMARY>(editSummary), ParameterType.RequestBody);
                PEAK_SUMMARY updatedPeak = serviceCaller.Execute <PEAK_SUMMARY>(request);

                //store for details view
                request             = new RestRequest();
                request.Resource    = "/Members/{entityId}";
                request.RootElement = "MEMBER";
                request.AddParameter("entityId", PeakModel.memberID, ParameterType.UrlSegment);
                ViewData["MemberUsername"] = serviceCaller.Execute <MEMBER>(request).USERNAME;

                request             = new RestRequest();
                request.Resource    = "/VerticalDatums/{entityId}";
                request.RootElement = "VERTICAL_DATUMS";
                request.AddParameter("entityId", PeakModel.VdatumID, ParameterType.UrlSegment);
                ViewData["VDType"] = serviceCaller.Execute <VERTICAL_DATUMS>(request).DATUM_NAME;

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