示例#1
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));
            }
        }