Ejemplo n.º 1
0
        public async Task <IHttpActionResult> PutAddress(AddressEmployee address)
        {
            Street  street  = this.AddressStreet(address.Street);
            City    city    = this.AddressCity(address.City);
            Country country = this.AddressCountry(address.Country);

            Address emplAddress = database.Addresses.Single(a => a.Id == address.Id);

            database.Entry(emplAddress).State = EntityState.Modified;
            emplAddress.StreetId    = street.Id == 0 ? emplAddress.StreetId : street.Id;
            emplAddress.HouseNumber = String.IsNullOrEmpty(address.HouseNumber) ? emplAddress.HouseNumber : address.HouseNumber;
            emplAddress.FlatNumber  = String.IsNullOrEmpty(address.FlatNumber) ? emplAddress.FlatNumber : address.FlatNumber;
            emplAddress.PostalCode  = String.IsNullOrEmpty(address.PostalCode) ? emplAddress.PostalCode : address.PostalCode;
            emplAddress.CityId      = city.Id == 0 ? emplAddress.CityId : city.Id;
            emplAddress.CountryId   = country.Id == 0 ? emplAddress.CountryId : country.Id;
            await database.SaveChangesAsync();

            return(StatusCode(HttpStatusCode.OK));
        }
Ejemplo n.º 2
0
        public async Task <IHttpActionResult> PostAddress(AddressEmployee addressEmployee)
        {
            this.GetEmployeeId();

            Address address = new Address();

            address.StreetId    = this.AddressStreet(addressEmployee.Street).Id;
            address.HouseNumber = addressEmployee.HouseNumber;
            address.FlatNumber  = addressEmployee.FlatNumber;
            address.PostalCode  = addressEmployee.PostalCode;
            address.CityId      = this.AddressCity(addressEmployee.City).Id;
            address.CountryId   = this.AddressCity(addressEmployee.Country).Id;

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            database.Addresses.Add(address);
            await database.SaveChangesAsync();

            EmployeesAddress employeesAddress = new EmployeesAddress();

            employeesAddress.EmployeeId    = (int)workerId;
            employeesAddress.AddressId     = address.Id;
            employeesAddress.AddressTypeId = database.AddressTypes.Single(t => t.Name == addressEmployee.AddressType).Id;

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            database.EmployeesAddresses.Add(employeesAddress);
            await database.SaveChangesAsync();

            return(StatusCode(HttpStatusCode.OK));
        }