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);
        }
Example #5
0
        public async Task <HttpStatusCode> Update(OfficeInputData inputData, Guid id)
        {
            var updateEntityOutcome = await _service.UpdateEntityAsync(inputData, id);

            return(_resultFactory.Create(updateEntityOutcome));
        }
Example #6
0
        public async Task <HttpStatusCode> Create(OfficeInputData inputData)
        {
            var createEntityOutcome = await _service.CreateEntityAsync(inputData);

            return(_resultFactory.Create(createEntityOutcome));
        }