Пример #1
0
        public async Task <HttpResponseMessage> AddAddress(Addresses addedAddress)
        {
            int lastId     = dbContext.Addresses.Select(x => x).OrderByDescending(x => x.address_id).First().address_id;
            int customerId = dbContext.Customers.Single(c => addedAddress.customer.first_name == c.first_name && addedAddress.customer.last_name == c.last_name).customer_id;

            addedAddress.address_id  = lastId + 1;
            addedAddress.customer_id = customerId;
            addedAddress.customer    = null;

            if (addedAddress.customer_id == null)
            {
                res.StatusCode = HttpStatusCode.BadRequest;
                res.Content    = new StringContent("This customer does not exist.");

                return(res);
            }

            try
            {
                using (CustomerDatabaseEntities context = new CustomerDatabaseEntities())
                {
                    context.Addresses.Add(addedAddress);
                    await context.SaveChangesAsync();

                    return(new HttpResponseMessage(HttpStatusCode.Created));
                }
            }
            catch (Exception e)
            {
                res.StatusCode = HttpStatusCode.BadRequest;
                res.Content    = new StringContent(e.Message);

                return(res);
            }
        }
        public async Task <HttpResponseMessage> DeleteCustomer(int id)
        {
            try
            {
                using (var context = new CustomerDatabaseEntities())
                {
                    Customers        customer  = context.Customers.Single(x => x.customer_id == id);
                    List <Addresses> addresses = context.Addresses.Where(a => a.customer_id == customer.customer_id).ToList();

                    context.Customers.Remove(customer);
                    context.Addresses.RemoveRange(addresses);

                    await context.SaveChangesAsync();

                    return(new HttpResponseMessage(HttpStatusCode.OK));
                }
            }
            catch (Exception e)
            {
                res.StatusCode = HttpStatusCode.BadRequest;
                res.Content    = new StringContent(e.ToString());

                return(res);
            }
        }
        public async Task <HttpResponseMessage> AddCustomer(Customers addedCustomer)
        {
            int lastId = dbContext.Customers.Select(x => x).OrderByDescending(x => x.customer_id).First().customer_id;

            addedCustomer.customer_id = lastId + 1;

            try
            {
                using (var context = new CustomerDatabaseEntities())
                {
                    context.Customers.Add(addedCustomer);
                    await context.SaveChangesAsync();

                    res.StatusCode = HttpStatusCode.Created;
                    res.Content    = new StringContent(JsonConvert.SerializeObject(addedCustomer));
                    res.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                    return(res);
                }
            }
            catch (Exception e)
            {
                res.StatusCode = HttpStatusCode.BadRequest;
                res.Content    = new StringContent(e.ToString());

                return(res);
            }
        }
Пример #4
0
        public async Task <HttpResponseMessage> DeleteAddress(int id)
        {
            try
            {
                using (var context = new CustomerDatabaseEntities())
                {
                    Addresses address = context.Addresses.Single(x => x.address_id == id);
                    context.Addresses.Remove(address);
                    await context.SaveChangesAsync();

                    return(new HttpResponseMessage(HttpStatusCode.OK));
                }
            }
            catch (Exception e)
            {
                res.StatusCode = HttpStatusCode.BadRequest;
                res.Content    = new StringContent(e.ToString());

                return(res);
            }
        }
        public async Task <HttpResponseMessage> UpdateCustomer(int id, Customers updatedCustomer)
        {
            try
            {
                using (var context = new CustomerDatabaseEntities())
                {
                    Customers customer = context.Customers.Single(x => x.customer_id == id);

                    if (customer != null)
                    {
                        customer.first_name = updatedCustomer.first_name;
                        customer.last_name  = updatedCustomer.last_name;
                        customer.age        = updatedCustomer.age;
                        customer.dob        = updatedCustomer.dob;
                        customer.occupation = updatedCustomer.occupation;

                        await context.SaveChangesAsync();

                        res.StatusCode = HttpStatusCode.Accepted;
                        res.Content    = new StringContent(JsonConvert.SerializeObject(customer));
                        res.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                        return(res);
                    }
                    else
                    {
                        res.StatusCode = HttpStatusCode.BadRequest;
                        res.Content    = new StringContent("There is no customer with that ID.");

                        return(res);
                    }
                }
            }
            catch (Exception e)
            {
                res.StatusCode = HttpStatusCode.BadRequest;
                res.Content    = new StringContent(e.ToString());

                return(res);
            }
        }
Пример #6
0
        public async Task <HttpResponseMessage> UpdateAddress(int id, Addresses updatedAddress)
        {
            try
            {
                using (var context = new CustomerDatabaseEntities())
                {
                    Addresses address = context.Addresses.Single(x => x.address_id == id);

                    if (address != null)
                    {
                        address.street_number = updatedAddress.street_number;
                        address.street_name   = updatedAddress.street_name;
                        address.city          = updatedAddress.city;
                        address.postcode      = updatedAddress.postcode;

                        await context.SaveChangesAsync();

                        return(new HttpResponseMessage(HttpStatusCode.Accepted));
                    }
                    else
                    {
                        res.StatusCode = HttpStatusCode.BadRequest;
                        res.Content    = new StringContent("There is no customer with that ID.");

                        return(res);
                    }
                }
            }
            catch (Exception e)
            {
                res.StatusCode = HttpStatusCode.BadRequest;
                res.Content    = new StringContent(e.ToString());

                return(res);
            }
        }