public ActionResult Create(CustomerModel customerModel)
 {
     if (ModelState.IsValid)
     {
         var result = _customerHandler.InsertCustomer(customerModel);
         if (result.ResponseCode == (int)StatusResponses.Success)
         {
             return(RedirectToAction("Index", "Customer"));
         }
         else
         {
             ModelState.AddModelError("", "Thêm mới khách hàng không thành công");
         }
     }
     return(View("Index"));
 }
示例#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));
            }
        }
示例#3
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));
            }
        }