Пример #1
0
        private async Task <CustomerResponse> CreateCustomer(string name, string email)
        {
            CustomerRequest customerRequest = new CustomerRequest()
            {
                Email  = email,
                Name   = name,
                Locale = Locale.nl_NL
            };

            return(await CustomerClient.CreateCustomerAsync(customerRequest));
        }
Пример #2
0
        public async Task CanCreateCustomerWithStringMetadata()
        {
            // If: We create a customer request with string metadata
            CustomerRequest customerRequest = new CustomerRequest()
            {
                Email    = "*****@*****.**",
                Name     = "Smit",
                Metadata = "This is my metadata",
                Locale   = Locale.nl_NL
            };

            // When: We try to retrieve the customer by Url object
            CustomerResponse retrievedCustomer = await CustomerClient.CreateCustomerAsync(customerRequest);

            // Then: Make sure it's retrieved
            Assert.AreEqual(customerRequest.Metadata, retrievedCustomer.Metadata);
        }
        public async Task CanCreateCustomerWithJsonMetadata()
        {
            // If: We create a customer request with json metadata
            var customerRequest = new CustomerRequest()
            {
                Email    = "*****@*****.**",
                Name     = "Smit",
                Metadata = "{\"order_id\":\"4.40\"}",
                Locale   = Locale.nl_NL
            };

            // When: We try to retrieve the customer by Url object
            var retrievedCustomer = await CustomerClient.CreateCustomerAsync(customerRequest);

            // Then: Make sure it's retrieved
            Assert.Equal(customerRequest.Metadata, retrievedCustomer.Metadata);
        }
Пример #4
0
        public async Task <ResponseBase <long> > CreateCustomer(CustomerModel data)
        {
            var response = new ResponseBase <long>();
            var service  = new CustomerClient();

            try
            {
                var callback = await service.CreateCustomerAsync(new CustomerContract()
                {
                    Name             = data.Name,
                    Address          = data.Address,
                    BirthDate        = data.BirthDate,
                    CityId           = data.CityId,
                    CityName         = data.CityName,
                    CountryId        = data.CountryId,
                    CountryName      = data.CountryName,
                    DepartmentId     = data.DepartmentId,
                    DepartmentName   = data.DepartmentName,
                    DocumentId       = data.DocumentId,
                    DocumentType     = data.DocumentType,
                    DocumentTypeName = data.DocumentTypeName,
                });

                response.Code    = callback.Code;
                response.Data    = callback.Data;
                response.Message = callback.Message;
            }
            catch (Exception ex)
            {
                response.Code    = StatusCode.ServiceUnavailable;
                response.Message = $"Ups! no se pudo crear el usuario: {ex.Message}";
            }

            service.Close();
            return(response);
        }
Пример #5
0
        public async Task <IActionResult> postRegister(Account account)
        {
            if (ModelState.IsValid)
            {
                using (var context = new OverstagContext())
                {
                    //Check if user already exists
                    string testun = string.Empty;
                    string testem = "";
                    try { testun = context.Accounts.Where(a => a.Username.ToLower() == account.Username.ToLower()).FirstOrDefault().Username; } catch { testun = ""; }
                    try { testem = context.Accounts.Where(a => a.Email == account.Email).FirstOrDefault().Email; } catch { testem = ""; }

                    if (!string.IsNullOrEmpty(testun))
                    {
                        return(Json(new { status = "error", error = "Gebruikersnaam bestaat al!", code = 0 }));
                    }
                    else if (!string.IsNullOrEmpty(testem))
                    {
                        return(Json(new { status = "error", error = "Emailadres is al in gebruik!", code = 1 }));
                    }
                    else
                    {
                        try
                        {
                            //Make name uppercase
                            account.Firstname = account.Firstname[0].ToString().ToUpper() + account.Firstname.Substring(1);

                            char[] l = account.Lastname.ToCharArray();
                            int    i = (account.Lastname.Contains(' ')) ? account.Lastname.TrimEnd(' ').LastIndexOf(' ') + 1 : 0;
                            l[i]             = char.ToUpper(l[i]);
                            account.Lastname = new string(l);

                            //Set password hashes, create token and set type
                            account.Password     = Encryption.PBKDF2.Hash(account.Password);
                            account.Token        = Encryption.Random.rHash(Encryption.SHA.S256(account.Firstname) + account.Username);
                            account.Type         = (byte)(account.Username.Equals("admin") ? 3 : (account.Type < 2) ? account.Type : 0);
                            account.RegisterDate = DateTime.Now;

                            try
                            {
                                if (account.Type < 2)
                                {
#if MOLLIE_ENABLED
                                    CustomerRequest cr = new CustomerRequest()
                                    {
                                        Name     = $"{account.Firstname} {account.Lastname}",
                                        Email    = account.Email,
                                        Locale   = "nl-NL",
                                        Metadata = account.Token
                                    };

                                    CustomerClient   client = new CustomerClient(Core.General.Credentials.mollieApiToken);
                                    CustomerResponse cs     = await client.CreateCustomerAsync(cr);

                                    account.MollieID = cs.Id;
#endif
                                }
                            }
                            catch (Exception e)
                            {
                                return(Json(new { status = "error", error = "Mollie integratie voor het verwerken van betalingen mislukt, neem contact op met ons.", debuginfo = e.ToString() }));
                            }

                            context.Accounts.Add(account);
                            await context.SaveChangesAsync();

                            //Set important session variables
                            base.setUser(account);

                            string remember = await Security.Auth.Register(account.Token, HttpContext.Connection.RemoteIpAddress.ToString());

                            return(Json(new { status = "success", remember = Uri.EscapeDataString(remember) }));
                        }
                        catch (Exception e)
                        {
                            return(Json(new { status = "error", error = "Registratie is mislukt door interne fout.\nNeem a.u.b contact met ons op.", debuginfo = e, code = 2 }));
                        }
                    }
                }
            }
            else
            {
                return(Json(new { status = "error", error = "Gegevens zijn ongeldig.\nControleer of alle velden juist zijn ingevuld" }));
            }
        }