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)); } }
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)); } }
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)); } }
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)); } }
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)); } }