コード例 #1
0
ファイル: Rates.Service.cs プロジェクト: Terradue/DotNetTep
        public object Get(RatesForProviderRequestTep request)
        {
            var             context = TepWebContext.GetWebContext(PagePrivileges.AdminOnly);
            List <WebRates> result  = new List <WebRates>();

            try {
                context.Open();
                context.LogInfo(this, string.Format("/cr/wps/{{identifier}}/rates GET, identifier='{0}'", request.ProviderIdentifier));

                // Load the complete request
                var httpRequest = HttpContext.Current.Request;

                var service = WpsProvider.FromIdentifier(context, request.ProviderIdentifier);

                EntityList <Rates> rates = new EntityList <Rates>(context);
                rates.SetFilter("EntityId", service.Id.ToString());
                rates.SetFilter("EntityTypeId", EntityType.GetEntityType(typeof(WpsProvider)).Id.ToString());
                rates.Load();

                foreach (var rate in rates.GetItemsAsList())
                {
                    result.Add(new WebRates(rate));
                }

                context.Close();
            } catch (Exception e) {
                context.LogError(this, e.Message, e);
                context.Close();
                throw e;
            }
            return(result);
        }
コード例 #2
0
ファイル: Rates.Service.cs プロジェクト: Terradue/DotNetTep
        public object Delete(DeleteRatesFromProviderRequestTep request)
        {
            var context = TepWebContext.GetWebContext(PagePrivileges.AdminOnly);

            try {
                context.Open();
                context.LogInfo(this, string.Format("/cr/wps/{{providerIdentifier}}/rates/{{id}} DELETE providerIdentifier='{0}', Id='{1}'", request.ProviderIdentifier, request.Id));

                var   service = WpsProvider.FromIdentifier(context, request.ProviderIdentifier);
                Rates rate    = Rates.FromId(context, request.Id);
                context.LogInfo(this, string.Format("Deleting rates {0} of service {1}", rate.Identifier, service.Identifier));
                rate.Delete();

                context.Close();
            } catch (Exception e) {
                context.LogError(this, e.Message, e);
                context.Close();
                throw e;
            }
            return(new WebResponseBool(true));
        }
コード例 #3
0
ファイル: Rates.Service.cs プロジェクト: Terradue/DotNetTep
        public object Post(AddRatesForProviderRequestTep request)
        {
            var      context = TepWebContext.GetWebContext(PagePrivileges.AdminOnly);
            WebRates result  = null;

            try {
                context.Open();
                context.LogInfo(this, string.Format("/cr/wps/{{providerIdentifier}}/rates POST providerIdentifier='{0}', Identifier='{1}', Unit='{2}', Cost='{3}'", request.ProviderIdentifier, request.Identifier, request.Unit, request.Cost));

                var   service = WpsProvider.FromIdentifier(context, request.ProviderIdentifier);
                Rates rate    = request.ToEntity(context, service);
                rate.Store();

                result = new WebRates(rate);

                context.Close();
            } catch (Exception e) {
                context.LogError(this, e.Message, e);
                context.Close();
                throw e;
            }
            return(result);
        }