public Office Create(OfficeInputData viewData) { return(new Office { City = viewData.City, CompanyId = viewData.CompanyId, Country = viewData.Country, IsHeadquarters = viewData.IsHeadquarters, Street = viewData.Street, StreetNumber = viewData.StreetNumber, Documents = viewData.Documents }); }
private async Task <Office> PopulateEntityDataWithViewData(OfficeInputData viewData, Guid entityId) { var getCurrent = await _repository.GetByIdAsync <Office>(entityId); getCurrent.City = viewData.City ?? getCurrent.City; getCurrent.CompanyId = viewData?.CompanyId ?? getCurrent.CompanyId; getCurrent.Country = viewData?.Country ?? getCurrent.Country; getCurrent.IsHeadquarters = viewData?.IsHeadquarters ?? getCurrent.IsHeadquarters; getCurrent.Street = viewData.Street ?? getCurrent.Street; getCurrent.StreetNumber = viewData?.StreetNumber ?? getCurrent.StreetNumber; getCurrent.Documents = viewData.Documents ?? getCurrent.Documents; return(getCurrent); }
public async Task <EntityActionOutcome> UpdateEntityAsync(OfficeInputData viewData, Guid id) { var validator = new OfficeDataInputValidator(); var result = validator.Validate(viewData); if (result.IsValid == false) { return(EntityActionOutcome.UpdateFailed); } var updateSuccessful = await _repository.UpdateAsync( await PopulateEntityDataWithViewData(viewData, id)); if (updateSuccessful == null) { return(EntityActionOutcome.EntityNotFound); } return(EntityActionOutcome.Success); }
public async Task <EntityActionOutcome> CreateEntityAsync(OfficeInputData viewData) { var newEntity = _factory.Create(viewData); var validator = new OfficeDataInputValidator(); var result = validator.Validate(viewData); if (result.IsValid == false) { return(EntityActionOutcome.MissingFullEntityData); } var upsertSuccessful = await _repository.AddAsync(newEntity); if (upsertSuccessful == null) { return(EntityActionOutcome.CreateFailed); } return(EntityActionOutcome.Success); }
public async Task <HttpStatusCode> Update(OfficeInputData inputData, Guid id) { var updateEntityOutcome = await _service.UpdateEntityAsync(inputData, id); return(_resultFactory.Create(updateEntityOutcome)); }
public async Task <HttpStatusCode> Create(OfficeInputData inputData) { var createEntityOutcome = await _service.CreateEntityAsync(inputData); return(_resultFactory.Create(createEntityOutcome)); }