Exemplo n.º 1
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));
        }
Exemplo n.º 2
0
        public async Task <IHttpActionResult> DeleteAddress(EmployeeAddressType employeeAddressType)
        {
            this.GetEmployeeId();

            EmployeesAddress employeesAddress = await database.EmployeesAddresses.FirstAsync(e => e.AddressId == employeeAddressType.AddressId && e.EmployeeId == workerId && e.AddressTypeId == employeeAddressType.AddressTypeId);

            if (employeesAddress == null)
            {
                return(NotFound());
            }

            Address address = await database.Addresses.FirstAsync(a => a.Id == employeeAddressType.AddressId);

            if (address == null)
            {
                return(NotFound());
            }

            database.EmployeesAddresses.Remove(employeesAddress);
            database.Addresses.Remove(address);
            await database.SaveChangesAsync();

            return(StatusCode(HttpStatusCode.OK));
        }