Example #1
0
        public async Task <IActionResult> GetProfileByUserId([FromQuery] Guid userId)
        {
            try
            {
                if (userId != null)
                {
                    var profile = await ProfileHandler.GetProfile(userId);

                    if (profile == null)
                    {
                        return(StatusCode(505, "Profile was not found"));
                    }
                    else
                    {
                        var measurements = await MeasurementsHandler.GetMeasurements(userId);

                        profile.profileMeasurements = measurements;
                    }
                    Logger.LogWarning("Profile Found");
                    return(Ok(profile));
                }
                return(StatusCode(505, "Missing User Id"));
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.ToString());
                return(StatusCode(505, ex.Message));
            }
        }
Example #2
0
        public async Task <IActionResult> CreateOrder([FromBody] CustomerOrderDataModel customerDataModel)
        {
            try
            {
                CustomerOrderDataModel newCODM = new CustomerOrderDataModel();

                if (customerDataModel != null)
                {
                    var customer = await CustomerHandler.InsertCustomer(customerDataModel);

                    if (customer == null)
                    {
                        return(StatusCode(505, "An unexpected error has ocurred, unable to create Customer"));
                    }

                    var measurements = await MeasurementsHandler.InsertMeasurments(customerDataModel, customer.MeasurementsId);

                    if (measurements == null)
                    {
                        return(StatusCode(505, "An unexpected error has ocurred, unable to create Customer measurements"));
                    }
                    else
                    {
                        newCODM.measurements = measurements;
                    }

                    var order = await CustomerHandler.InsertCustomerOrder(customerDataModel, customer.CustomerId);

                    if (measurements == null)
                    {
                        return(StatusCode(505, "An unexpected error has ocurred, unable to complete order"));
                    }
                    else
                    {
                        newCODM.orderItems = order;
                    }

                    return(Ok(newCODM));
                }
                return(StatusCode(404));
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.ToString());
                return(StatusCode(505, ex.Message));
            }
        }
Example #3
0
        public async Task <IActionResult> UpdateCustomer([FromBody] Measurements measurements)
        {
            try
            {
                if (measurements != null && measurements.UserId != Guid.Empty && measurements.UserId != null)
                {
                    var customerProfile = await MeasurementsHandler.UpsertMeasurements(measurements);

                    return(Ok(customerProfile));
                }
                return(StatusCode(404));
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.ToString());
                return(StatusCode(505, ex.Message));
            }
        }
Example #4
0
        public async Task <IActionResult> GetCustomerProfile([FromQuery] Guid userId)
        {
            try
            {
                if (userId != null && userId != Guid.Empty)
                {
                    //get Customer Listing Favorites Mapping
                    //get Customer Listing Recommendations
                    //get Customer MediaFileMapping
                    //get Customer Store Favorites Mapping
                    //get Measurements Profile
                    var customerProfile = await MeasurementsHandler.GetMeasurements(userId);

                    return(Ok(customerProfile));
                }
                return(StatusCode(404));
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.ToString());
                return(StatusCode(505, ex.Message));
            }
        }
Example #5
0
        public async Task <IActionResult> CreateOrder([FromBody] CustomerOrderDataModel customerDataModel)
        {
            try
            {
                CustomerOrderDataModel newCODM = new CustomerOrderDataModel();

                if (customerDataModel != null)
                {
                    if (customerDataModel.isNewCustomer)
                    {
                        var customer = await CustomerHandler.InsertCustomer(customerDataModel);

                        if (customer == null)
                        {
                            return(StatusCode(505, "An unexpected error has ocurred, unable to create Customer"));
                        }
                        customerDataModel.userId = customer.UserId;
                        newCODM.userId           = customer.UserId;
                        customerDataModel.measurements.UserId = customer.UserId;

                        Measurements measurements = await MeasurementsHandler.UpdateMeasurements(customerDataModel.measurements);

                        if (measurements == null)
                        {
                            measurements = await MeasurementsHandler.InsertMeasurments(customerDataModel, customer.MeasurementsId, customerDataModel.measurements.UserId);

                            if (measurements == null)
                            {
                                return(StatusCode(505, "An unexpected error has ocurred, unable to create Customer measurements"));
                            }
                        }
                        else
                        {
                            newCODM.measurements = measurements;
                        }
                    }

                    if (customerDataModel.isGuest)
                    {
                        customerDataModel.order.isMemberCheckout = false;
                    }

                    if (customerDataModel.isExistingCustomer)
                    {
                        customerDataModel.order.isMemberCheckout = true;
                    }

                    var address = await AddressHandler.InsertAddress(customerDataModel);

                    if (address == null)
                    {
                        return(StatusCode(505, "An unexpected error has ocurred, unable to insert address"));
                    }
                    newCODM.shippingAddress           = address;
                    customerDataModel.shippingAddress = address;

                    var order = await CustomerHandler.InsertCustomerOrder(customerDataModel);

                    if (order == null)
                    {
                        return(StatusCode(505, "An unexpected error has ocurred, unable to complete order"));
                    }
                    else
                    {
                        newCODM.order = order;
                    }

                    return(Ok(newCODM));
                }
                return(StatusCode(404));
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.ToString());
                return(StatusCode(505, ex.Message));
            }
        }