public TabResponse Execute(int id)
        {
            var tabResponse = new TabResponse();

            try
            {
                Log.Information("Recuperando tab por Id : [{Id}]", id);

                var tab = Repository.SingleOrDefault(g => g.Id == id);
                if (tab == null)
                {
                    var exception = new Exception($"tab no encontrado por  id : [{id}].");
                    Log.Error(exception, EXCEPTION_MESSAGE_TEMPLATE, exception.Message);
                    HandleErrors(tabResponse, exception, 404);
                }
                else
                {
                    //NOTE: Not sure if I want to do something like AutoMapper for this example.
                    tabResponse.Tab        = tab;
                    tabResponse.StatusCode = 200;
                }
            }
            catch (Exception exception)
            {
                Log.Error(exception, "Error al obtener tab por Id: [{Id}].", id);
                HandleErrors(tabResponse, exception);
            }
            return(tabResponse);
        }
        public TabResponse Execute(UpdateTabInput input)
        {
            var tabResponse = new TabResponse();

            try
            {
                CheckInputValidity(input);

                Log.Information("Actualizando Tab por Id: [{Id}] con nuevo nombre: [{NewTitle}]...", input.Id, input.NombreNuevo);

                var tabToUpdate = Repository.SingleOrDefault(tab => tab.Id == input.Id);
                if (tabToUpdate == null)
                {
                    var exception = new Exception($"No se pudo encontrar el tab con el id: [{input.Id}].");
                    Log.Error(exception, EXCEPTION_MESSAGE_TEMPLATE, exception.Message);
                    HandleErrors(tabResponse, exception, 404);
                    return(tabResponse);
                }

                tabToUpdate.Nombre = input.NombreNuevo;
                tabToUpdate.Base64 = input.Base64Nuevo;

                var updatedTab = Repository.Update(tabToUpdate);
                tabResponse.Tab        = updatedTab;
                tabResponse.StatusCode = 200;

                Log.Information("Actualizado con exito el tab con Id: [{Id}] con nuevo nombre [{NewTitle}].", input.Id, input.NombreNuevo);
            }
            catch (Exception exception)
            {
                Log.Error(exception, EXCEPTION_MESSAGE_TEMPLATE, exception.Message);
                HandleErrors(tabResponse, exception);
            }
            return(tabResponse);
        }
        public TabResponse Execute(int id)
        {
            var tabResponse = new TabResponse();

            try
            {
                Log.Information("Eliminando el Tab por Id:[{Id}]...", id);
                var toDelete = Repository.SingleOrDefault(tab => tab.Id == id);
                if (toDelete == null)
                {
                    var exception = new Exception($"Tab no encontrado por Id:[{id}].");
                    Log.Error(exception, EXCEPTION_MESSAGE_TEMPLATE, exception.Message);
                    HandleErrors(tabResponse, exception, 404);
                }
                else
                {
                    Repository.Delete(toDelete);
                    tabResponse.StatusCode = 200;
                    Log.Information("Tab eliminado [{NewName}] por Id:[{Id}].", toDelete.Nombre, toDelete.Id);
                }
            }
            catch (Exception exception)
            {
                Log.Error(exception, "Error al elimnar el Tab. [{Message}].", exception.Message);
                HandleErrors(tabResponse, exception);
            }
            return(tabResponse);
        }
Beispiel #4
0
        public void TaskModuleCardResponseInits()
        {
            var value        = new TabResponse();
            var cardResponse = new TaskModuleCardResponse(value);

            Assert.NotNull(cardResponse);
            Assert.IsType <TaskModuleCardResponse>(cardResponse);
            Assert.Equal(value, cardResponse.Value);
        }
Beispiel #5
0
        public void TabResponseInits(TabResponsePayload tab)
        {
            var tabResponse = new TabResponse()
            {
                Tab = tab
            };

            Assert.NotNull(tabResponse);
            Assert.IsType <TabResponse>(tabResponse);
            Assert.Equal(tab, tabResponse.Tab);
        }
        public TabResponse Execute(CreateTabInput input)
        {
            var tabResponse = new TabResponse();

            try
            {
                Log.Information("Creando Tab Con nombre [{NewName}]...", input?.Nombre);
                byte[]    imageBytes = Convert.FromBase64String(input?.Base64);
                TabEntity tabEntity  = Mapper.Map <CreateTabInput, TabEntity>(input);
                tabEntity.FechaCreacion = DateTime.Now;
                tabResponse.Tab         = Repository.Create(tabEntity);
                tabResponse.StatusCode  = 200;
                Log.Information("Tab creado con el nombre [{NewName}] con el Id: [{Id}]", tabResponse.Tab.Nombre, tabResponse.Tab.Id);
            }
            catch (Exception exception)
            {
                Log.Error(exception, "Error al crear el Tab: [{NewName}].", input?.Nombre);
                HandleErrors(tabResponse, exception);
            }
            return(tabResponse);
        }