public GetCustomerResponse GetCustomer(GetCustomerRequest request)
        {
            var response = new GetCustomerResponse
            {
                IsSuccessful = false,
                Message      = ""
            };

            try
            {
                var customer = _context.Customers
                               .Where(x => x.Email == request.Body.Email)
                               .Where(x => x.PhoneNumber == request.Body.PhoneNumber)
                               .FirstOrDefault();

                // Handle null value conditionally.
                if (customer != null)
                {
                    response.IsSuccessful = true;
                    response.Customer     = customer;
                }
                else
                {
                    response.Message = "Query returned null result.";
                }
            }
            catch (Exception ex)
            {
                response.Message = ex.ToString();
            }

            return(response);
        }
示例#2
0
        public IActionResult Get(long id)
        {
            Customer customer = _customerRepository.GetById(id);

            if (customer == null)
            {
                return(Error("Invalid customer id: " + id));
            }

            var dto = new GetCustomerResponse
            {
                Id                   = customer.Id,
                Name                 = customer.Name.Value,
                Email                = customer.Email.Value,
                MoneySpent           = customer.MoneySpent.Value,
                Status               = customer.Status.Type.ToString(),
                StatusExpirationDate = customer.Status.ExpirationDate.Date,
                PurchasedMovies      = customer.PurchasedMovies.Select(x => new PurchasedMovieDto
                {
                    Price          = x.Price.Value,
                    ExpirationDate = x.ExpirationDate.Date,
                    PurchaseDate   = x.PurchaseDate,
                    Movie          = new MovieDto
                    {
                        Id   = x.MovieId,
                        Name = _movieRepository.GetById(x.MovieId).Name
                    }
                }).ToList()
            };

            return(Ok(dto));
        }
示例#3
0
        public object Execute(GetCustomer request)
        {
            if (config.UseCache)
            {
                var inCache = this.CacheClient.Get <GetCustomerResponse>(CacheKey);
                if (inCache != null)
                {
                    return(inCache);
                }
            }

            using (var dbCmd = dbConn.CreateCommand())
            {
                var response = new GetCustomerResponse {
                    Customer = dbCmd.GetById <Customer>(request.CustomerId)
                };

                if (config.UseCache)
                {
                    this.CacheClient.Set(CacheKey, response);
                }

                return(response);
            }
        }
        public OrderConfirmationView getOrderConfirmationView()
        {
            GetCustomerRequest customerRequest = new GetCustomerRequest()
            {
                CustomerIdentityToken = _formsAuthentication.GetAuthenticationToken()
            };

            GetCustomerResponse customerResponse =
                _customerService.GetCustomer(customerRequest);
            CustomerView customerView = customerResponse.Customer;


            OrderConfirmationView orderConfirmationView =
                new OrderConfirmationView();
            GetBasketRequest getBasketRequest = new GetBasketRequest()
            {
                BasketId = base.GetBasketId()
            };

            GetBasketResponse basketResponse =
                _basketService.GetBasket(getBasketRequest);

            orderConfirmationView.Basket            = basketResponse.Basket;
            orderConfirmationView.DeliveryAddresses =
                customerView.DeliveryAddressBook;

            return(orderConfirmationView);
        }
示例#5
0
        private async Task <string> ProcessGetCustomerRequest(GetCustomerRequest request)
        {
            try
            {
                CustomerDto customerDto = await _orderService.CustomerService.GetCustomer(request.Customer);

                string result;

                if (customerDto == null)
                {
                    WebMessageBase response = new WebMessageBase("get_customer");
                    response.Status  = MessageStatus.FAIL;
                    response.Message = "Customer with ID: " + request.Customer + " not found";
                    result           = JsonConvert.SerializeObject(response, Formatting.Indented);
                    return(result);
                }

                GetCustomerResponse customerResponse = new GetCustomerResponse("get_customer", customerDto.FromDto());
                result = JsonConvert.SerializeObject(customerResponse, Formatting.Indented);
                return(result);
            }
            catch (Exception e)
            {
                WebMessageBase response = new WebMessageBase();
                response.Status  = MessageStatus.FAIL;
                response.Message = "Could not get customer.";
                string result = JsonConvert.SerializeObject(response, Formatting.Indented);
                _log("During processing get_customer requst an error occured: " + e.Message);
                return(result);
            }
        }
        public GetCustomerResponse GetCustomer(GetCustomerRequest request)
        {
            GetCustomerResponse response = new GetCustomerResponse();

            Customer customer = _customerRepository
                                .FindBy(request.CustomerIdentityToken);

            if (customer != null)
            {
                response.CustomerFound = true;
                response.Customer      = customer.ConvertToCustomerDetailView();
                if (request.LoadOrderSummary)
                {
                    response.Orders = customer.Orders
                                      .OrderByDescending(o => o.Created).ConvertToOrderSummaryViews();
                }
            }
            else
            {
                response.CustomerFound = false;
            }


            return(response);
        }
        public async Task GetCustomer_Returns_Customer_If_Found()
        {
            // arrange
            var scope               = new DefaultScope();
            var expectedId          = 12L;
            var getCustomerResponse = new GetCustomerResponse
            {
                Id            = expectedId,
                SourceId      = 123,
                IndustryCodes = new List <String> {
                    "123123"
                },
                Name = "good enough"
            };

            scope.SetupUrlHelper(expectedId);
            scope.GetCustomerMock.Setup(x => x.GetAsync(expectedId)).ReturnsAsync(
                getCustomerResponse);

            // act
            var result = await scope.InstanceUnderTest.GetAsync(expectedId);

            // assert
            Assert.AreEqual(getCustomerResponse.Name, result.Value.Name);
            Assert.AreEqual(getCustomerResponse.SourceId, result.Value.SourceId);
            Assert.AreEqual(getCustomerResponse.IndustryCodes.First(), result.Value.IndustryCodes.First());
        }
        public async Task TestSuccess()
        {
            // Arrange
            Guid     id       = new Guid("b7c2acaa-ad72-47b3-b858-26357cf14fbb");
            string   name     = "Unit Test";
            Customer customer = new Customer()
            {
                Id = id, Name = name
            };
            Mock <IDataRepository <Customer, Guid> > mockRepository = new Mock <IDataRepository <Customer, Guid> >();

            mockRepository.Setup(m => m.FindAsync(id, default)).ReturnsAsync(customer);
            GetCustomerRequest request = new GetCustomerRequest()
            {
                Id = id
            };
            GetCustomerCommand sut = new GetCustomerCommand(MockHelpers.GetLogger <GetCustomerCommand>(), mockRepository.Object);

            // Act
            GetCustomerResponse result = await sut.Handle(request, default);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Customer);
            Assert.AreEqual(name, result.Customer.Name);
            mockRepository.VerifyAll();
            mockRepository.Verify(m => m.FindAsync(id, default), Times.Once);
        }
示例#9
0
        private async Task <SetCustomerResponse> SetCustomer(CrmClient client, GetCustomerResponse customer)
        {
            var now           = DateTime.Now;
            var accountNumber = (string)customer.Rows[0].Columns["PRIMARYPOSREF"];
            var setCustomer   = await client.SetCustomerAsync(customer.Rows.Single().Id, new[]
            {
                new ColumnValue("firstname", "Rubber"),
                new ColumnValue("lastname", now.ToString()),
            });

            var getCustomerUpdated = await GetCustomer(client, accountNumber);

            var lastname = (string)getCustomerUpdated.Rows.Single().Columns["LASTNAME"];

            // UNDOCUMENTED: updating account to ACTIVE = false doesn't cause
            // the SetCustomer API call to fail or the account state to change.
            // Oracle Hospitality carries out the update and returns Approved
            // response code to client. But the web UI remains frozen in that it
            // doesn't show updated values, but remains stuck on the value at
            // the time of closing. Only clicking an account will show the
            // updated name (likely a bug in Web UI). In order to change the
            // account state, one must use the PostAccountTransaction
            // transaction. The ACTIVE attribute value is likely replicated from
            // somewhere else by the backend and therefore any updated to it are
            // ignored.
            Assert.Equal(getCustomerUpdated.Rows[0].Id, setCustomer.RowId);
            Assert.Equal(
                new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second),
                DateTime.Parse(lastname));

            return(setCustomer);
        }
示例#10
0
        public GetCustomerResponse GetCustomer(GetCustomerRequest request)
        {
            GetCustomerResponse response = new GetCustomerResponse();
            Customer            customer = _customerRepository.FindBy(request.CustomerEmail);

            if (customer != null)
            {
                response.CustomerFound  = true;
                response.Customer       = _mapper.Map <Customer, CustomerView>(customer);
                response.Customer.Email = request.CustomerEmail;

                if (request.LoadOrderSummary)
                {
                    response.Orders = _mapper.Map <IEnumerable <Order>, IEnumerable <OrderSummaryView> >(customer.Orders.OrderByDescending(o => o.Created));
                }

                if (request.LoadBasketSummary)
                {
                    response.Basket = _mapper.Map <Basket, BasketView>(customer.Basket);
                }
            }
            else
            {
                response.CustomerFound = false;
            }

            return(response);
        }
示例#11
0
        public async Task <IActionResult> Checkout()
        {
            GetCustomerRequest customerRequest = new GetCustomerRequest
            {
                CustomerEmail = _cookieAuthentication.GetAuthenticationToken()
            };
            GetCustomerResponse customerResponse = _customerService.GetCustomer(customerRequest);

            if (customerResponse.CustomerFound)
            {
                CustomerView customerView = customerResponse.Customer;

                if (customerView.DeliveryAddressBook.Any())
                {
                    OrderConfirmationView orderConfirmationView = new OrderConfirmationView();
                    GetBasketRequest      getBasketRequest      = new GetBasketRequest
                    {
                        BasketId = GetBasketId()
                    };
                    GetBasketResponse basketResponse = _basketService.GetBasket(getBasketRequest);
                    orderConfirmationView.Basket            = basketResponse.Basket;
                    orderConfirmationView.DeliveryAddresses = customerView.DeliveryAddressBook;

                    return(View("ConfirmOrder", orderConfirmationView));
                }

                return(AddDeliveryAddress());
            }
            else
            {
                await _cookieAuthentication.SignOut();

                return(RedirectToAction("Register", "AccountRegister"));
            }
        }
        public ActionResult Checkout()
        {
            GetCustomerRequest customerRequest = new GetCustomerRequest()
            {
                CustomerIdentityToken = _formsAuthentication.GetAuthenticationToken()
            };

            GetCustomerResponse customerResponse =
                _customerService.GetCustomer(customerRequest);
            CustomerView customerView = customerResponse.Customer;


            if (customerView.DeliveryAddressBook.Count() > 0)
            {
                OrderConfirmationView orderConfirmationView =
                    new OrderConfirmationView();
                GetBasketRequest getBasketRequest = new GetBasketRequest()
                {
                    BasketId = base.GetBasketId()
                };

                GetBasketResponse basketResponse =
                    _basketService.GetBasket(getBasketRequest);

                orderConfirmationView.Basket            = basketResponse.Basket;
                orderConfirmationView.DeliveryAddresses =
                    customerView.DeliveryAddressBook;

                return(View("ConfirmOrder", orderConfirmationView));
            }

            return(AddDeliveryAddress());
        }
        public GetCustomerResponse GetCustomer(GetCustomerRequest request)
        {
            var response = new GetCustomerResponse();

            var customer = _customerRepository.FindBy(request.Id);

            response.Customer = customer.ConvertToCustomerView();

            return(response);
        }
示例#14
0
        public CustomerView GetCustomer(Guid customerID)
        {
            GetRequest request = new GetRequest()
            {
                ID = customerID
            };
            GetCustomerResponse cus = _customerService.GetCustomer(request);

            return(cus.CustomerView);
        }
        public GetCustomerResponse CallGetCustomerAPI(string mobile_no)
        {
            string token                    = getToken();
            string url                      = DMT_URL + "/get_customer";
            string bodyParam                = "username="******"&pwd=" + API_PASSWORD + "&mobile_no=" + mobile_no + "&gateway=GW1&token=" + token;
            string API_response             = ExecuteDMRAPIScriptApi(url, bodyParam);
            GetCustomerResponse objResponse = Newtonsoft.Json.JsonConvert.DeserializeObject <GetCustomerResponse>(API_response);

            return(objResponse);
        }
示例#16
0
        private GetCustomerResponse ConvertToCustomerResponse(Customer customer)
        {
            GetCustomerResponse convertToResponseCustomer = new GetCustomerResponse()
            {
                Id      = customer.Id,
                Name    = customer.Name,
                Address = customer.Address
            };

            return(convertToResponseCustomer);
        }
示例#17
0
        public GetCustomerResponse GetCustomerById(GetCustomerRequest request)
        {
            GetCustomerResponse       response = new GetCustomerResponse();
            CustomerBusinessComponent bc       = DependencyInjectionHelper.GetCustomerBusinessComponent();

            Customer customer = bc.GetCustomerById(request.CustomerId);

            response.Customer = CustomerAdapter.CustomerToDto(customer);

            return(response);
        }
        public override ResponseBase ExecuteRequest()
        {
            List <CustomerDTO>  CustomerDTOs   = new List <CustomerDTO>();
            GetCustomerResponse responseObject = new GetCustomerResponse();

            try
            {
                List <Customer> CUSTOMERs = new List <Customer>();

                using (CustomerDemoEntities ctx = new CustomerDemoEntities())
                {
                    if (!String.IsNullOrEmpty(SearchKey))
                    {
                        CUSTOMERs = ctx.Customers.Where(c => c.Name.Contains(SearchKey) ||
                                                        c.Email.Contains(SearchKey)).ToList();
                        // || (c.ID = ctx.PhoneNumbers.Where(p => p.Number.ToString().Contains(SearchKey)).FirstOrDefault().ID).ToList();


                        CustomerDTOs = ConfigMapper.MapList <Customer, CustomerDTO>(CUSTOMERs);
                        if (CustomerDTOs.Count == 0)
                        {
                            responseObject.Message = "No Customer found";
                        }
                        responseObject.IsSuccess = true;
                        responseObject.customers = CustomerDTOs;
                    }
                    else
                    {
                        CUSTOMERs = ctx.Customers.ToList();

                        if (CUSTOMERs.Count > 0)
                        {
                            CustomerDTOs = ConfigMapper.MapList <Customer, CustomerDTO>(CUSTOMERs);

                            responseObject.IsSuccess = true;
                            responseObject.customers = CustomerDTOs;
                        }
                        else
                        {
                            responseObject.Message   = "No Customer found";
                            responseObject.IsSuccess = true;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                responseObject.IsSuccess = false;
                responseObject.Message   = e.Message;
            }

            return(responseObject);
        }
        public GetCustomerResponse GetCustomer(GetCustomerRequest request)
        {
            GetCustomerResponse response = new GetCustomerResponse();

            DTO.CustomerList customerList = CustomerBLL.GetCustomer(request.VipCode);
            if (customerList != null)
            {
                response.CustomerList = Mapper.Map <DTO.CustomerList, CustomerList>(customerList);
            }

            return(response);
        }
示例#20
0
        GetCustomerResponse ICustomerService.GetCustomer(GetCustomerRequest prmcustomerRequest)
        {
            GetCustomerResponse customerResponse = new GetCustomerResponse();

            try
            {
                ClientesDTO clientesDTO;
                ICustomerServiceBusiness iCSBusiness;

                clientesDTO = new ClientesDTO
                {
                    CodTypeIdent = prmcustomerRequest.Customer.IdType,
                    CustID       = prmcustomerRequest.Customer.IdNumber,
                    FName        = prmcustomerRequest.Customer.FirstName,
                    LName        = prmcustomerRequest.Customer.LastNames,
                    Email        = prmcustomerRequest.Customer.Email,
                    PhoneNumber  = prmcustomerRequest.Customer.PhoneNumber,
                    Address      = prmcustomerRequest.Customer.Address,
                    City         = prmcustomerRequest.Customer.City,
                    Country      = prmcustomerRequest.Customer.Country,
                    User         = prmcustomerRequest.Customer.User,
                    Status       = prmcustomerRequest.Customer.StatusCustomer,
                    Pagina       = prmcustomerRequest.Customer.Page,
                    RegsxPagina  = prmcustomerRequest.Customer.RegsPerPage,
                    RegsTotales  = prmcustomerRequest.Customer.TotalsRegs,
                    FechaIniFact = prmcustomerRequest.Customer.DateIniFact,
                    FechaFinFact = prmcustomerRequest.Customer.DateFinFact,
                    Evento       = prmcustomerRequest.Customer.EventType,
                    ID           = prmcustomerRequest.Customer.IdUser
                };

                if (clientesDTO.Pagina == 0)
                {
                    iCSBusiness      = new CustomerServicesBusiness();
                    customerResponse = iCSBusiness.GetResultCustomerDTOs(clientesDTO);
                }
                else
                {
                    iCSBusiness      = new CustomerServicesBusiness();
                    customerResponse = iCSBusiness.GetResultCustomerDTOsPaginado(clientesDTO);
                }
            }
            catch (Exception ex)
            {
                customerResponse.status.CodeResp    = "";
                customerResponse.status.MessageResp = "";
                Common.CreateTrace.WriteLog(Common.CreateTrace.LogLevel.Error, "ERROR EN EL SERVICIO CustomerService:GetCustomer " + ex.Message);
                throw ex;
            }

            return(customerResponse);
        }
示例#21
0
        private GetCustomerLinkedResponse CreateGetCustomerLinkedResponse(GetCustomerResponse response)
        {
            var result = new GetCustomerLinkedResponse
            {
                SourceId      = response.SourceId,
                Name          = response.Name,
                IndustryCodes = response.IndustryCodes,
                Links         = new List <Link> {
                    BuildLinkFromId(response.Id)
                }
            };

            return(result);
        }
示例#22
0
        public JsonResult GetDetail(System.String id)
        {
            CustomerDetailView vm      = new CustomerDetailView();
            GetCustomerRequest request = new GetCustomerRequest();

            request.CustomerID = id;
            GetCustomerResponse response = _customerService.GetCustomer(request);

            if (response.CustomerFound)
            {
                vm = response.Customer.ConvertToCustomerDetailView();
            }

            return(Json(vm, JsonRequestBehavior.AllowGet));
        }
        public ActionResult DeliveryAddresses()
        {
            GetCustomerRequest customerRequest = new GetCustomerRequest();

            customerRequest.CustomerIdentityToken = _formsAuthentication.GetAuthorisationToken();

            GetCustomerResponse response = _customerService.GetCustomer(customerRequest);

            CustomerDetailView customerDetailView = new CustomerDetailView();

            customerDetailView.Customer      = response.Customer;
            customerDetailView.BasketSummary = base.GetBasketSummaryView();

            return(View("DeliveryAddresses", customerDetailView));
        }
        public void TestGetCustomer()
        {
            int customerId = 1;
            GetCustomerResponse response = new GetCustomerResponse();

            response.Customer = new CustomerDTO()
            {
                Id = customerId
            };

            Expect.Once.On(service).Method("GetCustomerById").Will(Return.Value(response));
            CustomerDTO customer = serviceFacade.GetCustomerById(customerId);

            Assert.AreEqual(customer.Id, customerId);
        }
        public CustomerDetailView DetailForAPI(string token)
        {
            GetCustomerRequest customerRequest = new GetCustomerRequest();

            customerRequest.CustomerIdentityToken = token;

            GetCustomerResponse response = _customerService.GetCustomer(customerRequest);

            CustomerDetailView customerDetailView = new CustomerDetailView();

            customerDetailView.Customer      = response.Customer;
            customerDetailView.BasketSummary = base.GetBasketSummaryView();

            return(customerDetailView);
        }
        public ActionResult GetCustomer([ProtoPost] GetCustomerRequest req)
        {
            // create a response
            var resp = new GetCustomerResponse {
                cust = new Customer {
                    id      = req.id,
                    name    = "Name of cust " + req.id,
                    address = new Address {
                        line1 = "27 wood lane", zip = "pl1"
                    }
                }
            };

            return(new ProtoResult(resp));
        }
示例#27
0
        public ActionResult <CustomerDetailView> Detail()
        {
            GetCustomerRequest customerRequest = new GetCustomerRequest();

            customerRequest.CustomerIdentityToken =
                _formsAuthentication.GetAuthenticationToken(HttpContext.User);

            GetCustomerResponse response = _customerService.GetCustomer(customerRequest);

            CustomerDetailView customerDetailView = new CustomerDetailView();

            customerDetailView.Customer      = response.Customer;
            customerDetailView.BasketSummary = base.GetBasketSummaryView();

            return(customerDetailView);
        }
示例#28
0
        public Task<GetCustomerResponse> getCustomerById(int id)
        {
            GetCustomerResponse response = new GetCustomerResponse();
            try
            {
                response.Data = _service.Get(id);
                response.Data.Address =  _addressService.Get(response.Data.AddressId);

                response.Status = new StatusResponse("OK", true);
            }
            catch (Exception e)
            {
                response.Status = new StatusResponse(e.ToString(), false);
            }
            return Task.FromResult(response);
        }
        public ActionResult List()
        {
            GetCustomerRequest request = new GetCustomerRequest()
            {
                CustomerIdentityToken =
                    _formsAuthentication.GetAuthorisationToken(),
                LoadOrderSummary = true
            };
            GetCustomerResponse response = _customerService.GetCustomer(request);

            CustomersOrderSummaryView customersOrderSummaryView = new CustomersOrderSummaryView();

            customersOrderSummaryView.Orders        = response.Orders;
            customersOrderSummaryView.BasketSummary = base.GetBasketSummaryView();

            return(View(customersOrderSummaryView));
        }
示例#30
0
        public async Task <Customer> GetCustomerRequest(string customerId)
        {
            byte[] buffer = new byte[20000];
            ArraySegment <byte> segment = new ArraySegment <byte>(buffer);
            GetCustomerRequest  request = new GetCustomerRequest("get_customer", customerId);
            string requestJson          = JsonConvert.SerializeObject(request, Formatting.Indented);
            await _clientWebSocket.SendAsync(requestJson);

            bool   gotCorrectResponse = false;
            string message            = "";

            while (!gotCorrectResponse)
            {
                WebSocketReceiveResult result = _clientWebSocket.ClientWebSocket.ReceiveAsync(segment, _timeOut).Result;
                if (result.MessageType == WebSocketMessageType.Close)
                {
                    _clientWebSocket.Disconnect();
                    throw new Exception("Disconnected. Close message");
                }
                int count = result.Count;
                while (!result.EndOfMessage)
                {
                    if (count >= buffer.Length)
                    {
                        _clientWebSocket.Disconnect();
                        throw new Exception("Disconnected. Buffer overloaded");
                    }
                    segment = new ArraySegment <byte>(buffer, count, buffer.Length - count);
                    result  = _clientWebSocket.ClientWebSocket.ReceiveAsync(segment, _timeOut).Result;
                    count  += result.Count;
                }
                message = Encoding.UTF8.GetString(buffer, 0, count);
                WebMessageBase baseResponse = JsonConvert.DeserializeObject <WebMessageBase>(message);
                if (baseResponse.Tag == "get_customer")
                {
                    gotCorrectResponse = true;
                    if (baseResponse.Status != MessageStatus.SUCCESS)
                    {
                        throw new Exception(baseResponse.Message);
                    }
                }
            }
            GetCustomerResponse response = JsonConvert.DeserializeObject <GetCustomerResponse>(message);

            return(response.Customer.FromCommModel());
        }