예제 #1
0
        public void AddExistingCustomerAddress()
        {
            // Given
            var resources       = new Resources();
            var addressDetailId = 21;
            var requestModel    = new AddCustomerOrderAddressRequestModel
            {
                AddressDetailId = addressDetailId,
                AddressType     = "Delivery",
                AddressLine1    = "25 Anzio Crescent",
                AddressLine2    = "Strandfontein",
                City            = "Cape Town",
                Country         = "South Africa",
                PostalCode      = "7788"
            };

            resources.MockApiCaller.AddMockResponse("WebApi:Orders:AddCustomerOrderAddress", requestModel, "Success");

            // When
            var result = resources.Controller.AddCustomerOrderAddress(requestModel) as JsonResult;

            // Then
            Assert.IsNotNull(result);
            var model = result.Value.ToString();

            Assert.AreEqual("Success", model);
        }
예제 #2
0
        public string AddCustomerOrderAddress([FromBody] AddCustomerOrderAddressRequestModel requestModel)
        {
            var customer = Context.Customers.Include(c => c.Addresses).First(c => c.CustomerId == requestModel.CustomerId);
            var order    = Context.Orders.First(o => o.OrderId == requestModel.OrderId);

            if (requestModel.AddressDetailId == 0)
            {
                var newAddressDetail = new AddressDetail
                {
                    AddressType  = requestModel.AddressType,
                    AddressLine1 = requestModel.AddressLine1,
                    AddressLine2 = requestModel.AddressLine2,
                    City         = requestModel.City,
                    Country      = requestModel.Country,
                    PostalCode   = requestModel.PostalCode,
                    CreateDate   = DateTime.Now,
                    CreateUser   = requestModel.Username
                };

                customer.Addresses.Add(newAddressDetail);

                Context.SaveChanges();

                order.AddressDetailId = newAddressDetail.AddressDetailId;
                order.UpdateDate      = DateTime.Now;
                order.UpdateUser      = requestModel.Username;

                Context.SaveChanges();
            }
            else
            {
                var address = customer.Addresses.First(a => a.AddressDetailId == requestModel.AddressDetailId);
                address.AddressType  = requestModel.AddressType;
                address.AddressLine1 = requestModel.AddressLine1;
                address.AddressLine2 = requestModel.AddressLine2;
                address.City         = requestModel.City;
                address.Country      = requestModel.Country;
                address.PostalCode   = requestModel.PostalCode;
                address.UpdateDate   = DateTime.Now;
                address.UpdateUser   = requestModel.Username;

                order.AddressDetailId = address.AddressDetailId;
                order.UpdateDate      = DateTime.Now;
                order.UpdateUser      = requestModel.Username;

                Context.SaveChanges();
            }

            return("Success");
        }
        public JsonResult AddCustomerOrderAddress(AddCustomerOrderAddressRequestModel requestModel)
        {
            requestModel.Username = CurrentUser.Username;

            return(Json(WebApiCaller.PostAsync <string>("WebApi:Orders:AddCustomerOrderAddress", requestModel)));
        }