public async Task <IActionResult> RegisterCondominium([FromBody] CondominiumViewModel condominium)
        {
            try
            {
                await _mediator.SendCommand(new RegisterCondominium()
                {
                    Name                 = condominium.Name,
                    AddressStreet        = condominium.Address.Street,
                    AddressNumber        = condominium.Address.Number,
                    AddressCity          = condominium.Address.City,
                    AddressComplement    = condominium.Address.Complement,
                    AddressNeighbourhood = condominium.Address.Neighbourhood,
                    AddressState         = condominium.Address.State,
                    AddressZipCode       = condominium.Address.ZipCode
                });

                return(IsAValidOperation()
                    ? RequestResponse(HttpStatusCode.Created, "kipercondominio/api/v1/condominiums")
                    : RequestResponse(HttpStatusCode.BadRequest, "kipercondominio/api/v1/condominiums", isError: true));
            }
            catch (Exception ex)
            {
                var error = JsonConvert.SerializeObject(ex);
                _logger.LogError(error);

                return(RequestResponse(HttpStatusCode.InternalServerError, isError: true, result: "Ocorreu um erro ao realizar a operação"));
            }
        }
Exemple #2
0
        public async Task <IActionResult> RegisterApartment([FromRoute] Guid condominiumId, [FromBody] RegisterApartmentViewModel apartment)
        {
            try
            {
                await _mediator.SendCommand(new RegisterApartment()
                {
                    Block         = apartment.Block,
                    Number        = apartment.Number,
                    Roof          = apartment.Roof,
                    CondominiumId = condominiumId,
                    Residents     = apartment.Residents.Select(r => new ResidentCommand()
                    {
                        Name           = r.Name,
                        Birthday       = r.Birthday,
                        DocumentNumber = r.DocumentNumber,
                        Email          = r.Email,
                        PhoneNumber    = r.PhoneNumber
                    })
                });

                return(IsAValidOperation()
                    ? RequestResponse(HttpStatusCode.Created, "kipercondominio/api/v1/apartments")
                    : RequestResponse(HttpStatusCode.BadRequest, "kipercondominio/api/v1/apartments", isError: true));
            }
            catch (Exception ex)
            {
                var error = JsonConvert.SerializeObject(ex);
                _logger.LogError(error);

                return(RequestResponse(HttpStatusCode.InternalServerError, isError: true, result: "Ocorreu um erro ao realizar a operação"));
            }
        }