/// <summary> /// Update an address and the city in the DB /// Business Rules: /// if failed result = 0 /// if successfull result = 1 /// if zipCode invalid result = 2 /// /// </summary> /// <param name="email"></param> /// <param name="zipCode"></param> /// <param name="cityName"></param> /// <param name="streetName"></param> /// <param name="streetNo"></param> /// <param name="addressType"></param> /// <returns></returns> public int UpdateAddress(string email, string zipCode, string cityName, string streetName, string streetNo, string addressType) { Debug.Print("AddressBL: /Update Address: / enter in function"); int result = 0; try { AccountDTO customer = new AccountDTO(); customer = AB.FindBy(email); //if address already exists if (customer.GetAddress() != null) { AddressDTO address = new AddressDTO(); address = DB.FindBy(customer.GetAddress().GetID()); CB.UpdateCity(address.GetCity().GetId(), zipCode, cityName); result = DB.UpdateAddress(address.GetID(), address.GetCity().GetId(), streetName, streetNo, addressType); Debug.Print("AddressBL: /Update Address: / " + result); } else { //if address doesnt exist yet var cityID = CB.Insert(zipCode, cityName); var addressID = DB.Insert(cityID, streetName, streetNo, addressType); result = AB.UpdateAddress(email, addressID); Debug.Print("AddressBL: /Insert Address: / " + result); } } catch (Exception e) { e.GetBaseException(); } return(result); }