public TipoEventoDto createTipoEvento(string Nombre, bool esAgendable)
        {
            var TipoEvento = new TipoEventoDto();

            TipoEvento.Nombre    = Nombre.Trim().ToUpper();
            TipoEvento.Agendable = esAgendable;
            TipoEvento.Deleted   = false;
            var usuario = HttpContext.Current.User.Identity.Name;

            using (NuevoDbContext context = new NuevoDbContext())
            {
                context.Add(TipoEvento);
                context.SaveChanges();
                var accion = new CommonChangeLoggerDto(DateTime.Now, "TIPO EVENTO", "Se ha creado el de Tipo de Evento", null, TipoEvento.Nombre, usuario, TipoEvento.Id);
                context.Add(accion);
                context.SaveChanges();
                return(TipoEvento);
            }
        }
        public TipoEventoDto updateTipoEvento(TipoEventoDto TipoEventoDto)
        {
            TipoEventoModificado = TipoEventoDto;
            using (NuevoDbContext context = new NuevoDbContext())
            {
                //load task from database
                TipoEventoDto TipoEvento = context.getTiposDeEventos(true).Where(t => t.Id == TipoEventoDto.Id).FirstOrDefault();
                TipoEventoOriginal = TipoEvento;

                prepararCambios(TipoEventoModificado, TipoEventoOriginal, context);
                var idTipoEventoAModificarr = TipoEvento.Id;
                TipoEvento.Nombre    = TipoEventoDto.Nombre.Trim().ToUpper();
                TipoEvento.Agendable = TipoEventoDto.Agendable;
                TipoEvento.Deleted   = TipoEventoDto.Deleted;

                //save changes to database
                context.SaveChanges();
                context.CommonChangeLogger.AddRange(listLoggers);
                context.SaveChanges();
                return(TipoEvento);
            }
        }
        private List <CommonChangeLoggerDto> prepararCambios(TipoEventoDto modificado, TipoEventoDto original, NuevoDbContext context)
        {
            var usuario = HttpContext.Current.User.Identity.Name;

            listLoggers = new List <CommonChangeLoggerDto>();
            if (modificado.Deleted != original.Deleted)
            {
                var logger1 = new CommonChangeLoggerDto(DateTime.Now, "TIPO EVENTO", "Se ha modificado el campo de Activación", original.Deleted ? "Inactivo" : "Activo", modificado.Deleted ? "Inactivo" : "Activo", usuario, modificado.Id);
                listLoggers.Add(logger1);
            }
            if (modificado.Nombre != original.Nombre)
            {
                var logger2 = new CommonChangeLoggerDto(DateTime.Now, "TIPO EVENTO", "Se ha modificado el Nombre", original.Nombre, modificado.Nombre, usuario, modificado.Id);
                listLoggers.Add(logger2);
            }
            if (modificado.Agendable != original.Agendable)
            {
                var logger3 = new CommonChangeLoggerDto(DateTime.Now, "TIPO EVENTO", "Se ha modificado el campo Agendable del Tipo de Evento : " + modificado.Nombre, original.Agendable ? "Agendable": "NO Agendable", modificado.Agendable  ? "Agendable" : "NO Agendable", usuario, modificado.Id);
                listLoggers.Add(logger3);
            }

            return(listLoggers);
        }