예제 #1
0
        public HttpResponseMessage Post(PurchaseProductRequest purchaseProductRequest)
        {
            purchaseProductRequest.CorrelationId = purchaseProductRequest.ReservationId;
            ServiceResponseBase response = _productService.PurchaseProduct(purchaseProductRequest);

            return(Request.BuildResponse(response));
        }
예제 #2
0
        public HttpResponseMessage GetAccountById(int id)
        {
            //This method is being used only in the Unit Testing. If using in any other areas, please pass the RequestedBy value.
            ServiceResponseBase response = accountService.GetAccount(new GetAccountRequest(id));

            return(Request.BuildResponse(response));
        }
예제 #3
0
        public IActionResult GetCustomers()
        {
            ServiceResponseBase resp = _customerService.GetAllCustomers();


            return(BuildRespones(resp));
        }
예제 #4
0
 private void NotifyIfException <T>(ServiceResponseBase <T> response)
 {
     if (response.Exception != null)
     {
         _logger.LogError(this, response.Exception.Message);
         _emailService.SendEmail(new ExceptionEmailArguments(_appConfig, response.Exception.Message));
     }
 }
        public HttpResponseMessage Post(CountrySpecificCustomerViewModel viewModel)
        {
            ServiceResponseBase response = _countrySpecificCustomerService.InsertCountrySpecificCustomer(new InsertCountrySpecificCustomerRequest()
            {
                CountrySpecificCustomer = viewModel
            });

            return(Request.BuildResponse(response));
        }
예제 #6
0
        public HttpResponseMessage GetEmailStatus(string email)
        {
            ServiceResponseBase response = mailGunService.EmailValidate(new GetRestRequest()
            {
                Email = email
            });

            return(Request.BuildResponse(response));
        }
예제 #7
0
 public BankServiceResponse(Guid requestId, List <BankResponse> responses, Guid?asyncRequestId = null, Identifier name = null, Status status = null)
 {
     if (responses == null || responses.Count == 0)
     {
         throw new ArgumentNullException("The list cannot be null or empty", "responses");
     }
     this._serviceResponseBase = new ServiceResponseBase(requestId, asyncRequestId, name, status);
     this._responses           = responses;
 }
예제 #8
0
        /// <summary>
        /// Gets Account by AcccountName in the system.
        /// </summary>
        /// <param name="accountName">Name of the account. It works as a search string, name for account.</param>
        /// <returns></returns>
        public HttpResponseMessage GetAccountByName(string accountName)
        {
            ServiceResponseBase response = accountService.GetAccountByName(new GetAccountNameRequest()
            {
                name = accountName
            });

            return(Request.BuildResponse(response));
        }
예제 #9
0
        public async Task <HttpResponseMessage> Timelines(int Id, int limit, int pageNumber)
        {
            ServiceResponseBase response = await contactService.GetTimeLinesDataAsync(new GetTimeLineRequest()
            {
                ContactID = Id, Limit = limit, PageNumber = pageNumber
            });

            return(Request.BuildResponse(response));
        }
예제 #10
0
        private ObjectResult BuildRespones(ServiceResponseBase serviceResponse)
        {
            if (serviceResponse.Exception != null)
            {
                var statusCode = serviceResponse.Exception.ConvertToHttpStatusCode();
                return(StatusCode((int)statusCode, serviceResponse.Exception.Message));
            }

            return(Ok(serviceResponse));
        }
예제 #11
0
        public HttpResponseMessage GetCompany(int id)
        {
            ServiceResponseBase response = contactService.GetCompany(new GetCompanyRequest(id)
            {
                AccountId   = this.AccountId,
                RequestedBy = this.UserId,
                RoleId      = this.RoleId
            });

            return(Request.BuildResponse(response));
        }
예제 #12
0
        //public ReservationController(IProductService productService)
        //{
        //    if (productService == null)
        //    {
        //        throw new ArgumentException("IProductService");
        //    }
        //    _productService = productService;
        //}

        //public HttpResponseMessage Post(ReserveProductRequest reserveProductRequest)
        //{
        //    ServiceResponseBase response = _productService.ReserveProduct(reserveProductRequest);
        //    return Request.BuildResponse(response);
        //}

        public HttpResponseMessage Post()
        {
            ReserveProductRequest reservationRequest = new ReserveProductRequest
            {
                ProductId       = "13a35876 - ccf1 - 468a - 88b1 - 0acc04422243",
                ProductQuantity = 10
            };

            ServiceResponseBase response = (ServiceResponseBase)_productService.ReserveProduct(reservationRequest);

            return(Request.BuildResponse(response));
        }
예제 #13
0
        public HttpResponseMessage Search(string query, int limit, int pageNumber)
        {
            ServiceResponseBase response = contactService.GetAllContacts <ContactListEntry>(new SearchContactsRequest()
            {
                Query       = query,
                Limit       = limit,
                PageNumber  = pageNumber,
                AccountId   = this.AccountId,
                RequestedBy = this.UserId,
                RoleId      = this.RoleId
            });

            return(Request.BuildResponse(response));
        }
예제 #14
0
        public HttpResponseMessage BuildResponse <T>(HttpRequestMessage requestMessage,
                                                     ServiceResponseBase <T> baseResponse)
        {
            var statusCode = HttpStatusCode.OK;

            if (baseResponse.Exception != null)
            {
                statusCode = baseResponse.Exception.ConvertToHttpStatusCode();

                var message = new HttpResponseMessage(statusCode)
                {
                    Content = new StringContent(baseResponse.Exception.Message)
                };

                return(message);
            }

            return(requestMessage.CreateResponse(statusCode, baseResponse.Result));
        }
예제 #15
0
        protected bool HandleServiceException <TResult>(ServiceResponseBase <TResult> response)
        {
            if (response.Exception != null)
            {
                var validationException = response.Exception as ValidationException;

                if (validationException != null && validationException.Errors.Any())
                {
                    foreach (var error in validationException.Errors)
                    {
                        ModelState.AddModelError(string.Empty, error);
                    }

                    return(false);
                }
                else
                {
                    throw response.Exception;
                }
            }

            return(true);
        }
예제 #16
0
        public HttpResponseMessage GetGifEntry(int id)
        {
            ServiceResponseBase resp = _gifEntryService.GetGifEntry(new GetGifEntryRequest(id));

            return(Request.BuildResponse(resp));
        }
예제 #17
0
        public HttpResponseMessage GetGifEntry(string userId, string keyword, int alternateIndex, string uIdSource = "")
        {
            ServiceResponseBase resp = _gifEntryService.GetGifEntry(new GetGifEntryRequest(userId, uIdSource, keyword, alternateIndex));

            return(Request.BuildResponse(resp));
        }
예제 #18
0
        public HttpResponseMessage GetGifEntries(string userId, string keyword, string uIdSource = "")
        {
            ServiceResponseBase resp = _gifEntryService.GetGifEntries(new GetGifEntriesRequest(userId, uIdSource, keyword));

            return(Request.BuildResponse(resp));
        }
예제 #19
0
        public HttpResponseMessage GetGifEntries()
        {
            ServiceResponseBase resp = _gifEntryService.GetGifEntries(new GetGifEntriesRequest(String.Empty, String.Empty, String.Empty));

            return(Request.BuildResponse(resp));
        }
        private void DeployPackage(DeployPackageRequest request, LogController controller, ServiceResponseBase <DataImportResponseItem> response)
        {
            var xrmRecordService = new XrmRecordService(request.Connection, controller);
            var packageFolder    = request.FolderContainingPackage.FolderPath;
            var solutionFiles    = Directory.GetFiles(packageFolder, "*.zip");

            ImportSolutions(solutionFiles, controller, xrmRecordService);

            foreach (var childFolder in Directory.GetDirectories(packageFolder))
            {
                if (new DirectoryInfo(childFolder).Name == "Data")
                {
                    var dataImportService = new ImportXmlService(xrmRecordService);
                    var importResponse    = new ImportXmlResponse();
                    dataImportService.ImportXml(childFolder, controller, importResponse);
                    if (importResponse.Exception != null)
                    {
                        response.AddResponseItem(new DataImportResponseItem("Fatal Data Import Error", importResponse.Exception));
                    }
                    foreach (var item in importResponse.ResponseItems)
                    {
                        response.AddResponseItem(item);
                    }
                }
            }
        }
 public override void ExecuteExtention(DeployPackageRequest request, ServiceResponseBase <DataImportResponseItem> response,
                                       LogController controller)
 {
     DeployPackage(request, controller, response);
 }
예제 #22
0
 // Constructor used for unit testing
 internal BankServiceResponse(bool isDeserializing = false)
 {
     this._isDeserializing     = isDeserializing;
     this._serviceResponseBase = new ServiceResponseBase();
 }
예제 #23
0
        public HttpResponseMessage GetAllAccounts()
        {
            ServiceResponseBase response = accountService.GetAllAccounts();

            return(Request.BuildResponse(response));
        }
예제 #24
0
        public HttpResponseMessage Get()
        {
            ServiceResponseBase resp = _customerService.GetAllCustomers();

            return(Request.BuildResponse(resp));
        }
예제 #25
0
        public HttpResponseMessage Get(int id)
        {
            ServiceResponseBase resp = _customerService.GetCustomer(new GetCustomerRequest(id));

            return(Request.BuildResponse(resp));
        }
예제 #26
0
 public ClientMustRetryException(ServiceResponseBase response)
     : base($"Target machine indicated that retry is needed. Reason=[{response.RetryReason}] ErrorMessage=[{response.ErrorMessage}]")
 {
     Contract.Requires(response is not null);
     Response = response;
 }
예제 #27
0
        public static HttpResponseMessage BuildResponse(this HttpRequestMessage requestMessage, ServiceResponseBase baseResponse)
        {
            HttpStatusCode statusCode = HttpStatusCode.OK;

            if (baseResponse.Exception != null)
            {
                statusCode = baseResponse.Exception.ConvertToHttpStatusCode();
                HttpResponseMessage message = new HttpResponseMessage(statusCode);
                message.Content = new StringContent(baseResponse.Exception.Message);

                return(message);
            }

            var httpResponse = requestMessage.CreateResponse(statusCode);

            httpResponse.Content = new ObjectContent <ServiceResponseBase>(baseResponse, new JsonMediaTypeFormatter());

            return(httpResponse);
        }
예제 #28
0
 public static BoolResult ToBoolResult(this ServiceResponseBase response)
 {
     return(ToCustomResult(response, r => BoolResult.Success));
 }
        public HttpResponseMessage Post(ReserveProductRequest reserveProductRequest)
        {
            ServiceResponseBase response = _productService.ReserveProduct(reserveProductRequest);

            return(Request.BuildResponse(response));
        }
예제 #30
0
        public static HttpResponseMessage BuildResponse(this HttpRequestMessage requestMessage, ServiceResponseBase baseResponse)
        {
            HttpStatusCode statusCode = HttpStatusCode.OK;

            if (baseResponse.Exception != null)
            {
                statusCode = baseResponse.Exception.ConvertToHttpStatusCode();
                HttpResponseMessage message = new HttpResponseMessage(statusCode);
                message.Content = new StringContent(baseResponse.Exception.Message);
                throw new HttpResponseException(message);
            }
            return(requestMessage.CreateResponse <ServiceResponseBase>(statusCode, baseResponse));
        }