Ejemplo n.º 1
0
        public async Task TestSuccess()
        {
            // Arrange
            Guid     id       = new Guid("b7c2acaa-ad72-47b3-b858-26357cf14fbb");
            Customer customer = new Customer()
            {
                Id = id, Name = "Customer"
            };
            Mock <IDataRepository <Customer, Guid> > mockRepository = new Mock <IDataRepository <Customer, Guid> >();

            mockRepository.Setup(m => m.FindAsync(id, default)).ReturnsAsync(customer);
            string name = "Unit Test";
            UpdateCustomerRequest request = new UpdateCustomerRequest()
            {
                Id = id, Name = name
            };
            UpdateCustomerCommand sut = new UpdateCustomerCommand(MockHelpers.GetLogger <UpdateCustomerCommand>(), mockRepository.Object);

            // Act
            UpdateCustomerResponse 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);
        }
Ejemplo n.º 2
0
 public Task<UpdateCustomerResponse> updateCustomer(UpdateCustomerRequest request)
 {
     UpdateCustomerCommand command = new UpdateCustomerCommand(
            request.Id,
            request.Name,
            request.Note,
            request.CartCode,
            request.PhoneNumber,
            request.Email,
            request.Code,
            request.Status,
            request.Address.City,
            request.Address.Country,
            request.Address.District,
            request.Address.Street,
            request.Address.StreetNumber,
             request.Address.Lat.ToString(),
            request.Address.Lng.ToString()
        );
     Task<object> Customer = (Task<object>)Bus.SendCommand(command);
     RabbitMQBus.Publish(command);
     UpdateCustomerResponse response = new UpdateCustomerResponse();
     response = Common<UpdateCustomerResponse>.checkHasNotification(_notifications, response);
     if (response.Success)
     {
         bool result = (bool)Customer.Result;
         response.Data = result;
     }
     return Task.FromResult(response);
 }
        public UpdateCustomerResponse UpdateCustomerByCustomer(UpdateCustomerRequest request)
        {
            var response = new UpdateCustomerResponse
            {
                IsSuccessful = false,
                Message      = ""
            };

            try
            {
                var customerToUpdate = _context.Customers
                                       .Where(x => x.Id == request.CustomerToUpdate.Id)
                                       .FirstOrDefault();

                if (customerToUpdate != null)
                {
                    customerToUpdate.Email       = request.CustomerToUpdate.Email;
                    customerToUpdate.PhoneNumber = request.CustomerToUpdate.PhoneNumber;

                    _context.SaveChanges();
                    response.IsSuccessful = true;
                }
            }
            catch (Exception ex)
            {
                response.Message = ex.ToString();
            }
            return(response);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Updates the customer.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public UpdateCustomerResponse UpdateCustomer(UpdateCustomerRequest request)
        {
            CustomerService        service  = new CustomerService();
            UpdateCustomerResponse response = new UpdateCustomerResponse();

            response.IsFailed = !(service.UpdateCustomer(request.MyCustomer));
            return(response);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Updates the customer.  --Robin
        /// </summary>
        /// <param name="customerBE">The customer BE.</param>
        /// <returns></returns>
        public bool UpdateCustomer(CustomerBE customerBE)
        {
            UpdateCustomerRequest request = new UpdateCustomerRequest();

            request.MyCustomer = customerBE;
            UpdateCustomerResponse response = MyChannelFactory.CreateChannel().UpdateCustomer(request);

            return(!response.IsFailed);
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> Put(int id, [FromBody] UpdateCustomerRequest request)
        {
            request.Id = id;
            UpdateCustomerResponse result = await _CustomerAppService.updateCustomer(request);

            if (result.Success)
            {
                return(Ok(result));
            }
            return(NotFound(result));
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Updates the customer.  --Robin
        /// </summary>
        /// <param name="customerBE">The customer BE.</param>
        /// <returns></returns>
        public bool UpdateCustomer(CustomerBE customerBE)
        {
            UpdateCustomerRequest request = new UpdateCustomerRequest();

            request.MyCustomer = customerBE;
            UpdateCustomerResponse response = MyChannelFactory.CreateChannel().UpdateCustomer(request);

            if (response.IsFailed)
            {
                ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
                log.Error("error", new Exception(response.Message));
                log.Fatal("fatal", new Exception(response.Message));
                throw new Exception("We have a error!");
            }
            return(true);
        }
Ejemplo n.º 8
0
        public IActionResult AddPaymentMethod(PaymentMethodModel model)
        {
            var  customer         = _db.Customers.FirstOrDefault(c => c.Email == model.Email);
            bool isPaymentPrimary = false;

            if (customer == null)
            {
                customer = new StripeAppPrototype.Entities.Customer {
                    Email = model.Email
                };
                CreateCustomerResponse customerResponse = _businessServices.CreateCustomer(customer);
                if (String.IsNullOrEmpty(customerResponse.id))
                {
                    ModelState.AddModelError("", "Could not add customer method");
                    return(View(model));
                }

                customer.Id      = customerResponse.id;
                isPaymentPrimary = true;
                _db.Customers.Add(customer);
            }

            var paymentMethod = new StripeAppPrototype.Entities.PaymentMethod {
                Id = model.PaymentMethodId, CustomerId = customer.Id, Description = model.Description, IsPrimary = isPaymentPrimary
            };

            _db.PaymentMethods.Add(paymentMethod);

            AttachPaymentMethodResponse attachPaymentMethodResponse =
                _businessServices.AttachPaymentMethodToCustomer(customer.Id, paymentMethod.Id);

            if (isPaymentPrimary)
            {
                UpdateCustomerResponse updateCustomerResponse = _businessServices.UpdateCustomer(customer.Id, paymentMethod.Id);
                if (String.IsNullOrEmpty(updateCustomerResponse.id))
                {
                    ModelState.AddModelError("", "Could not add primary");
                    return(View(model));
                }
            }

            _db.SaveChanges();

            return(RedirectToAction("Index", "Home"));
        }
        public HttpResponseMessage Put(UpdateCustomerViewModel updateCustomerViewModel)
        {
            UpdateCustomerRequest req =
                new UpdateCustomerRequest(updateCustomerViewModel.Id)
            {
                CustomerProperties = new CustomerPropertiesViewModel()
                {
                    AddressLine1   = updateCustomerViewModel.AddressLine1
                    , AddressLine2 = updateCustomerViewModel.AddressLine2
                    , City         = updateCustomerViewModel.City
                    , Name         = updateCustomerViewModel.Name
                    , PostalCode   = updateCustomerViewModel.PostalCode
                }
            };
            UpdateCustomerResponse updateCustomerResponse = _customerService.UpdateCustomer(req);

            return(Request.BuildResponse(updateCustomerResponse));
        }
        public async Task <ActionResult> Edit([Bind(Include = "CustomerId,FirstName,MiddleName,Surname,PhoneNumber,Identification,EmailAddress,UserGender")] CreateCustomerViewModel customer)
        {
            var updateCustomerResponse = new UpdateCustomerResponse();

            if (ModelState.IsValid)
            {
                updateCustomerResponse = await customerService.UpdateCustomerTaskAsync(new UpdateCustomerRequest { CreateCustomerViewModel = customer });

                if (updateCustomerResponse.IsSuccess)
                {
                    TempData.Clear();
                    TempData.Add("CustomerId", updateCustomerResponse.ApplicationUser.CustomerDetails.CustomerId);
                    return(RedirectToAction("Index", "Customers"));
                }
                ModelState.AddModelError("", updateCustomerResponse.Exception.Message);
                return(View(customer));
            }
            ModelState.AddModelError("", "Please Correct the highlighted Errors");
            return(View(customer));
        }
        public UpdateCustomerResponse UpdateCustomer(string customerId, string paymentMethodId)
        {
            HttpContent content = new FormUrlEncodedContent(new[]
            {
                new KeyValuePair <string, string>("invoice_settings[default_payment_method]", paymentMethodId)
            });

            content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
            HttpResponseMessage response = (_client.PostAsync($"https://api.stripe.com/v1/customers/{customerId} ", content))
                                           .GetAwaiter().GetResult();

            var updateCustomerResponse = new UpdateCustomerResponse();

            if (response.IsSuccessStatusCode)
            {
                updateCustomerResponse =
                    JsonConvert.DeserializeObject <UpdateCustomerResponse>(response.Content.ReadAsStringAsync().Result);
            }

            return(updateCustomerResponse);
        }
        public UpdateCustomerResponse UpdateCustomerAdministrative(UpdateCustomerRequest request)
        {
            var response = new UpdateCustomerResponse
            {
                IsSuccessful = false,
                Message      = ""
            };

            try
            {
                var customerToUpdate = _context.Customers
                                       .Where(x => x.Id == request.CustomerToUpdate.Id)
                                       .Where(x => x.FirstName == request.CustomerToUpdate.FirstName)
                                       .Where(x => x.LastName == request.CustomerToUpdate.LastName)
                                       .Where(x => x.PhoneNumber == request.CustomerToUpdate.PhoneNumber)
                                       .FirstOrDefault();

                if (customerToUpdate != null)
                {
                    customerToUpdate.FirstName   = request.CustomerToUpdate.FirstName;
                    customerToUpdate.LastName    = request.CustomerToUpdate.LastName;
                    customerToUpdate.PhoneNumber = request.CustomerToUpdate.PhoneNumber;
                    customerToUpdate.MemberSince = request.CustomerToUpdate.MemberSince;
                    customerToUpdate.DateOfBirth = request.CustomerToUpdate.DateOfBirth;
                    customerToUpdate.Email       = request.CustomerToUpdate.Email;

                    _context.SaveChanges();

                    response.IsSuccessful = true;
                }
            }
            catch (Exception ex)
            {
                response.Message = ex.ToString();
            }

            return(response);
        }
Ejemplo n.º 13
0
        public JsonResult MakePrimary(string id)
        {
            var paymentMethod = _db.PaymentMethods.FirstOrDefault(p => p.Id == id);
            var customerId    = paymentMethod.CustomerId;
            UpdateCustomerResponse updateCustomerResponse = _businessServices.UpdateCustomer(customerId, id);

            if (!string.IsNullOrEmpty(updateCustomerResponse.id))
            {
                paymentMethod.IsPrimary = true;
                _db.Entry <StripeAppPrototype.Entities.PaymentMethod>(paymentMethod).State = EntityState.Modified;
                var restOfMethods = _db.PaymentMethods.Where(p => p.Id != id && p.CustomerId == customerId);
                foreach (var p in restOfMethods)
                {
                    p.IsPrimary = false;
                    _db.Entry <StripeAppPrototype.Entities.PaymentMethod>(p).State = EntityState.Modified;
                }

                _db.SaveChanges();
                var list = GetPaymentsRets(customerId);
                return(Json(new { message = "Success", paymentMethods = list }));
            }
            return(Json(new { message = "Failed" }));
        }
Ejemplo n.º 14
0
    public static void ImportImages()
    {
        var ds         = new DataSet("CSV File");
        var filename   = @"c:\Customer.csv";
        var connString = string.Format(
            @"Provider=Microsoft.Jet.OleDb.4.0; Data Source={0};Extended Properties=""Text;HDR=YES;FMT=Delimited""",
            Path.GetDirectoryName(filename)
            );

        using (var conn = new OleDbConnection(connString))
        {
            conn.Open();
            var query = "SELECT * FROM [" + Path.GetFileName(filename) + "]";
            using (var adapter = new OleDbDataAdapter(query, conn))
            {
                adapter.Fill(ds);
            }
        }
        string erroritemcodes = "";

        var res = ds.Tables[0];

        foreach (DataRow dr in res.Rows)
        {
            var res1 = new UpdateCustomerResponse();
            try
            {
                res1 = ExigoApiContext.CreateWebServiceContext().UpdateCustomer(new UpdateCustomerRequest()
                {
                    CustomerID = dr["CustomerID"].ToString().ToInt(), CustomerStatus = dr["CustomerStatus"].ToString().ToInt()
                });
            }
            catch (Exception ex)
            {
            }
        }
    }