public IHttpActionResult PostOrganizationAddress(OrganizationAddressDTO organizationAddress) { if (organizationAddress == null) { return(BadRequest(ModelState)); } try { OrganizationAddress address = organizationAddress.FromDTO(); UnitOfWork unitOfWork = new UnitOfWork(factory); address.Id = address.NewId(unitOfWork); address.Address.Id = address.Address.NewId(unitOfWork); address.AddressId = address.Address.Id; unitOfWork.OrganizationAddressesRepository.Insert(address); unitOfWork.Save(); OrganizationAddressDTO dto = unitOfWork.OrganizationAddressesRepository .Get(d => d.Id == address.Id, includeProperties: "Address,Address.Country,OrganizationAddressType,Address.AddressLocality,Address.AddressPlace,Address.AddressRegion,Address.AddressVillage") .FirstOrDefault().ToDTO(); return(CreatedAtRoute("GetOrganizationAddress", new { id = dto.Id }, dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IHttpActionResult DeleteOrganizationAddress(int id) { try { UnitOfWork unitOfWork = new UnitOfWork(factory); OrganizationAddress address = unitOfWork.OrganizationAddressesRepository .Get(d => d.Id == id, includeProperties: "Address,Address.Country,OrganizationAddressType,Address.AddressLocality,Address.AddressPlace,Address.AddressRegion,Address.AddressVillage") .FirstOrDefault(); address.Deleted = true; unitOfWork.OrganizationAddressesRepository.Update(address); unitOfWork.Save(); OrganizationAddressDTO dto = address.ToDTO(); return(Ok(dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IHttpActionResult PutOrganizationAddress(int id, OrganizationAddress organizationAddress) { if (organizationAddress == null || !ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != organizationAddress.Id) { return(BadRequest()); } try { UnitOfWork unitOfWork = new UnitOfWork(factory); unitOfWork.OrganizationAddressesRepository.Update(organizationAddress); unitOfWork.Save(); OrganizationAddressDTO dto = unitOfWork.OrganizationAddressesRepository .Get(d => d.Id == id, includeProperties: "Address,Address.Country,OrganizationAddressType,Address.AddressLocality,Address.AddressPlace,Address.AddressRegion,Address.AddressVillage") .FirstOrDefault().ToDTO(); return(Ok(dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }