Beispiel #1
0
        Response IServiceClient.Request(IServiceDataSet serviceDataSet)
        {
            ICore core;

            //IService service;
            //IResponse response;

            try
            {
                //service = (IService)this.CreateInstance("Service");
                //core = (IService)Factory.CreateInstance(@"E:\Work\Project\Atomus\Service\WcfServiceClient\bin\Debug\Atomus.Service.WcfServiceClient.V1.0.0.0.dll", "Atomus.Service.WcfServiceClient", true, true);

                core = this.CreateInstance("Service");

                if (core is IService)
                {
                    return(this.RequestServiceDataSet(core, serviceDataSet));
                }
                else
                {
                    return(this.RequestServiceData(core, serviceDataSet));
                }
            }
            catch (AtomusException exception)
            {
                DiagnosticsTool.MyTrace(exception);
                return((Response)Factory.CreateInstance("Atomus.Service.Response", false, true, exception));
            }
            catch (Exception exception)
            {
                DiagnosticsTool.MyTrace(exception);
                return((Response)Factory.CreateInstance("Atomus.Service.Response", false, true, exception));
            }
        }
Beispiel #2
0
        async Task <Response> RequestServiceDataAsync(ICore core, IServiceDataSet serviceDataSet)
        {
            ServiceData   serviceData;
            ServiceResult serviceResult;

            try
            {
                serviceData = new ServiceData();

                if (this.ByPassAll)//무조건 처리
                {
                    serviceData.ConvertServiceData(serviceDataSet);

                    serviceResult = await((dynamic)core).RequestAsync(serviceData);

                    return((Response)serviceResult.Response());
                }
                else
                {
                    if (this.Authentication != null && this.Authentication.Length == 2 &&
                        serviceDataSet.DataTables.Contains(this.Authentication[0]) &&
                        serviceDataSet[this.Authentication[0]].CommandText.Contains(this.Authentication[1]))   //로그인이 정적으로 처리 되면 토큰을 저장한다
                    {
                        serviceData.ConvertServiceData(serviceDataSet);

                        serviceResult = await((dynamic)core).RequestAsync(serviceData);

                        if (serviceResult.Status == Status.OK)
                        {
                            this.Token            = serviceResult.Message;
                            serviceResult.Message = null;
                        }

                        return((Response)serviceResult.Response());
                    }

                    //토큰을 매번 보낸다
                    serviceDataSet["Token"].ConnectionName = "Atomus";
                    serviceDataSet["Token"].CommandText    = this.Token;

                    serviceData.ConvertServiceData(serviceDataSet);

                    serviceResult = await((dynamic)core).RequestAsync(serviceData);

                    return((Response)serviceResult.Response());
                }
            }
            catch (AtomusException exception)
            {
                DiagnosticsTool.MyTrace(exception);
                return((Response)Factory.CreateInstance("Atomus.Service.Response", false, true, exception));
            }
            catch (Exception exception)
            {
                DiagnosticsTool.MyTrace(exception);
                return((Response)Factory.CreateInstance("Atomus.Service.Response", false, true, exception));
            }
        }
Beispiel #3
0
        Response RequestServiceData(ICore core, IServiceDataSet serviceDataSet)
        {
            ServiceData serviceData;
            IResponse   response;

            try
            {
                serviceData = new ServiceData();

                if (this.ByPassAll)//무조건 처리
                {
                    serviceData.ConvertServiceData(serviceDataSet);

                    return((Response)((IServiceExtensions)core).Request(serviceData).Response());
                }
                else
                {
                    if (this.Authentication != null && this.Authentication.Length == 2 &&
                        serviceDataSet.DataTables.Contains(this.Authentication[0]) &&
                        serviceDataSet[this.Authentication[0]].CommandText.Contains(this.Authentication[1]))   //로그인이 정적으로 처리 되면 토큰을 저장한다
                    {
                        serviceData.ConvertServiceData(serviceDataSet);

                        response = ((IServiceExtensions)core).Request(serviceData).Response();

                        if (response.Status == Status.OK)
                        {
                            this.Token       = response.Message;
                            response.Message = null;
                        }

                        return((Response)response);
                    }

                    //토큰을 매번 보낸다
                    serviceDataSet["Token"].ConnectionName = "Atomus";
                    serviceDataSet["Token"].CommandText    = this.Token;

                    serviceData.ConvertServiceData(serviceDataSet);

                    return((Response)((IServiceExtensions)core).Request(serviceData).Response());
                }
            }
            catch (AtomusException exception)
            {
                DiagnosticsTool.MyTrace(exception);
                return((Response)Factory.CreateInstance("Atomus.Service.Response", false, true, exception));
            }
            catch (Exception exception)
            {
                DiagnosticsTool.MyTrace(exception);
                return((Response)Factory.CreateInstance("Atomus.Service.Response", false, true, exception));
            }
            //return (Response)_Response;
        }