Пример #1
0
        private static void CreateAction()
        {
            Console.WriteLine("Register New Business");
            BusinessRegistrationData businessRegistrationData = new BusinessRegistrationData();

            businessRegistrationData.Name = Read <string>("Name");
            businessRegistrationData.Type = Read <string>("Type");

            businessRegistrationData.ContactName   = Read <string>("Contact Name");
            businessRegistrationData.ContactEmail  = Read <string>("Contact E-Mail");
            businessRegistrationData.ContactNumber = Read <string>("Contact number");
            businessRegistrationData.ContactFax    = Read <string>("Contact Fax");

            FillBusinessAddress(businessRegistrationData);


            var openingTimes = businessRegistrationData.GetOpeningTimes();

            foreach (DayOfWeek value in Enum.GetValues(typeof(DayOfWeek)))
            {
                openingTimes.SetOpeningTime(value, Read <DateTime?>($"Opening Time {value}"));

                if (openingTimes.GetOpeningTime(value).HasValue)
                {
                    openingTimes.SetClosingTime(value, Read <DateTime?>($"Closing Time {value}"));
                }
            }

            businessRegistrationData.Website = Read <string>("Website");


            try
            {//regster
                bookingBlockClient.BusinessesRegister(businessRegistrationData);
            }
            catch (Exception exception)
            {
                Console.WriteLine("ERROR: " + exception.Message);


                //throw;
            }

            Pause();
        }
Пример #2
0
 public async Task <IHttpActionResult> Update(Guid businessId, BusinessRegistrationData businessRegistrationData)
 {
     return(Ok(businessRegistrationData));
 }
Пример #3
0
        public async Task <IHttpActionResult> Register(BusinessRegistrationData businessRegistrationData)
        {
            try
            {
                // if the user is null or the user is not authenticated
                if (!IsUserAuthenticated)
                {
                    return(Content(HttpStatusCode.Unauthorized, "User must be logged in to create a business."));
                }


                // check that the model is valid.
                if (ModelState.IsValid)
                {
                    var newBusiness = new Business();

                    newBusiness.Name = businessRegistrationData.Name;

                    var businessType =
                        await db.BusinessTypes.FirstOrDefaultAsync(type => type.Name == businessRegistrationData.Type);

                    if (businessType == null)
                    {
                        return(Content(HttpStatusCode.BadRequest,
                                       $"The given business type {businessRegistrationData.Type} could not be found in the database"));
                    }

                    // set the business type id.
                    newBusiness.BusinessTypeId = businessType.Id;

                    newBusiness.Address = businessRegistrationData.GetAddressString();

                    newBusiness.Postcode = businessRegistrationData.Postcode;

                    newBusiness.Location = PostcodesService.Lookup(businessRegistrationData.Postcode);

                    AddBusinessOpeningTime(newBusiness, DayOfWeek.Monday, businessRegistrationData.OpeningTimeMonday,
                                           businessRegistrationData.ClosingTimeMonday);

                    AddBusinessOpeningTime(newBusiness, DayOfWeek.Tuesday, businessRegistrationData.OpeningTimeTuesday,
                                           businessRegistrationData.ClosingTimeTuesday);

                    AddBusinessOpeningTime(newBusiness, DayOfWeek.Wednesday, businessRegistrationData.OpeningTimeWednesday,
                                           businessRegistrationData.ClosingTimeWednesday);

                    AddBusinessOpeningTime(newBusiness, DayOfWeek.Thursday, businessRegistrationData.OpeningTimeThursday,
                                           businessRegistrationData.ClosingTimeThursday);

                    AddBusinessOpeningTime(newBusiness, DayOfWeek.Friday, businessRegistrationData.OpeningTimeFriday,
                                           businessRegistrationData.ClosingTimeFriday);

                    AddBusinessOpeningTime(newBusiness, DayOfWeek.Saturday, businessRegistrationData.OpeningTimeSaturday,
                                           businessRegistrationData.ClosingTimeSaturday);

                    AddBusinessOpeningTime(newBusiness, DayOfWeek.Sunday, businessRegistrationData.OpeningTimeSunday,
                                           businessRegistrationData.ClosingTimeSunday);

                    var ownerId = string.Empty;

                    newBusiness.PhoneNumber  = businessRegistrationData.ContactNumber;
                    newBusiness.FaxNumber    = businessRegistrationData.ContactFax;
                    newBusiness.EmailAddress = businessRegistrationData.ContactEmail;

                    // set the website.
                    newBusiness.Website = businessRegistrationData.Website;

                    if (!string.IsNullOrWhiteSpace(businessRegistrationData.OwnerEmailAddress))
                    {
                        // if not an administrator return a 403 error

                        var applicationUserStore = new ApplicationUserStore(db);

                        var applicationUser =
                            await applicationUserStore.FindByEmailAsync(businessRegistrationData.OwnerEmailAddress);

                        ownerId = applicationUser.Id;
                    }
                    else
                    {
                        if (!IsUserAuthenticated)
                        {
                            return(BadRequest("user bad"));
                        }

                        ownerId = UserId;
                    }
                    newBusiness.Users.Add(new BusinessUser {
                        UserId = ownerId, UserLevel = BusinessUserLevel.Owner
                    });

                    db.Businesses.Add(newBusiness);

                    await db.SaveChangesAsync();

                    return(Ok(ownerId));
                }

                return(InvalidModel());
            }
            catch (Exception exception)
            {
                return(Content(HttpStatusCode.BadRequest, $"Something happend {exception.Message}"));
            }
        }
Пример #4
0
        public void BusinessesRegister(BusinessRegistrationData businessRegistrationData)
        {
            var q = httpClient.PostAsJsonAsync(AddApiKey("api/businesses/regster"), businessRegistrationData).Result;

            q.EnsureSuccessStatusCode();
        }