# HG changeset patch # User juanjose.montesdeocaarbos # Date 1314186094 10800 # Node ID 1fead4596a98473356bd1503e9802b6c13ff13c5 # Parent 04972ef8b6d2c76754e6feeff803be59e028c84c# Parent a731086c0b289f1aba0fd5f4266fb9fa7c28c3d6 Combinar diff -r 04972ef8b6d2 -r 1fead4596a98 .hgignore --- a/.hgignore Wed Aug 24 08:40:18 2011 -0300 +++ b/.hgignore Wed Aug 24 08:41:34 2011 -0300 @@ -9,3 +9,4 @@ *.dotCover App_Data packages/*.* +*.tmp diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/db/v1.0/00 - Tablas.sql --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Agendas/trunk/db/v1.0/00 - Tablas.sql Wed Aug 24 08:41:34 2011 -0300 @@ -0,0 +1,80 @@ +DROP TABLE TrackLog +DROP TABLE Track +DROP TABLE Evento +DROP TABLE Cuenta +DROP TABLE Roles +DROP TABLE Persona +GO + + +CREATE TABLE Persona( + Id uniqueidentifier NOT NULL, + Nombre nvarchar(255) NULL, + Mail nvarchar(255) NULL, + Twitter nvarchar(255) NULL, + Blog nvarchar(255) NULL, + CONSTRAINT PK_Persona PRIMARY KEY (Id), + CONSTRAINT UK_Persona_Nombre UNIQUE (Nombre), + CONSTRAINT UK_Persona_Twitter UNIQUE (Twitter)) +GO + +CREATE TABLE Roles( + Persona uniqueidentifier NOT NULL, + Rol nvarchar(25) NOT NULL, + CONSTRAINT PK_Roles PRIMARY KEY (Persona, Rol), + CONSTRAINT FK_Roles_Persona FOREIGN KEY(Persona) REFERENCES Persona (Id) ON DELETE CASCADE +) +GO + +CREATE TABLE Evento( + Id uniqueidentifier NOT NULL, + Titulo nvarchar(255) NULL, + FechaInicio datetime NULL, + FechaTermino datetime NULL, + UrlInvitacion nvarchar(255) NULL, + UrlWiki nvarchar(255) NULL, + NumeroOrden smallint NULL, + Ponente uniqueidentifier NULL, + Estado nvarchar(25) NULL, + Tipo int NULL, + Duracion bigint NULL, + CONSTRAINT PK_Evento PRIMARY KEY (Id), + CONSTRAINT UK_Titulo UNIQUE (Titulo), + CONSTRAINT FK_Evento_Persona FOREIGN KEY(Ponente) REFERENCES Persona (Id) +) +GO + +CREATE TABLE Cuenta( + Id uniqueidentifier NOT NULL, + Persona uniqueidentifier NULL, + LogonName nvarchar(255) NULL, + IdentityProvider int NULL, + CONSTRAINT PK_Cuenta PRIMARY KEY (Id), + CONSTRAINT FK_Cuenta_Persona FOREIGN KEY(Persona) REFERENCES Persona (Id) ON DELETE CASCADE +) +GO + +CREATE TABLE Track( + Id uniqueidentifier NOT NULL, + Evento uniqueidentifier NULL, + Accion int NULL, + Usuario uniqueidentifier NULL, + CONSTRAINT PK_Track PRIMARY KEY (Id), + CONSTRAINT FK_Track_Usuario FOREIGN KEY(Usuario)REFERENCES Persona (Id), + CONSTRAINT FK_Track_Evento FOREIGN KEY(Evento) REFERENCES Evento (Id) ON DELETE CASCADE +) +GO + +CREATE TABLE TrackLog( + Id uniqueidentifier NOT NULL, + Propietario int NULL, + Mensaje nvarchar(255) NULL, + Track uniqueidentifier NULL, + Usuario uniqueidentifier NULL, + Successful bit NULL, + Fecha datetime NULL, + CONSTRAINT PK_TrackLog PRIMARY KEY (Id), + CONSTRAINT FK_TrackLog_Usuario FOREIGN KEY(Usuario)REFERENCES Persona (Id), + CONSTRAINT FK_TrackLog_Track FOREIGN KEY(Track)REFERENCES Track (Id) ON DELETE CASCADE +) +GO \ No newline at end of file diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Domain/Agenda.cs --- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs Wed Aug 24 08:41:34 2011 -0300 @@ -10,15 +10,15 @@ { private readonly IEventoRepository _eventosRepository; private readonly IPersonaRepository _personaRepository; - private readonly IPatrocinadorRepository _patrocinadorRepository; + //private readonly IPatrocinadorRepository _patrocinadorRepository; private readonly IPublicador _publicador; public Agenda(IPublicador publicador, IEventoRepository eventosRepository, - IPersonaRepository personaRepository, IPatrocinadorRepository patrocinadorRepository) + IPersonaRepository personaRepository) { _publicador = publicador; - _patrocinadorRepository = patrocinadorRepository; + //_patrocinadorRepository = patrocinadorRepository; _personaRepository = personaRepository; _eventosRepository = eventosRepository; } @@ -226,34 +226,34 @@ return new EventoResultado(true,"Evento re-agendado", warnings); } - public void IndicarPatrocinadores(Guid eventoId, IEnumerable patrocinadores) - { - var evento = GetEvento(eventoId); + //public void IndicarPatrocinadores(Guid eventoId, IEnumerable patrocinadores) + //{ + // var evento = GetEvento(eventoId); - var agregar = new List(); - var quitar = new List(); + // var agregar = new List(); + // var quitar = new List(); - foreach (var patrocinadorId in patrocinadores) - { - if (!evento.Patrocinadores.Any(p => p.Id == patrocinadorId)) - { - var patrocinador = _patrocinadorRepository.Get(patrocinadorId); - agregar.Add(patrocinador); - } - } + // foreach (var patrocinadorId in patrocinadores) + // { + // if (!evento.Patrocinadores.Any(p => p.Id == patrocinadorId)) + // { + // var patrocinador = _patrocinadorRepository.Get(patrocinadorId); + // agregar.Add(patrocinador); + // } + // } - foreach (var patrocinador in evento.Patrocinadores) - { - if (!patrocinadores.Any(p => p == patrocinador.Id)) - quitar.Add(patrocinador); - } + // foreach (var patrocinador in evento.Patrocinadores) + // { + // if (!patrocinadores.Any(p => p == patrocinador.Id)) + // quitar.Add(patrocinador); + // } - foreach (var patrocinador in agregar) - evento.AddPatrocinador(patrocinador); + // foreach (var patrocinador in agregar) + // evento.AddPatrocinador(patrocinador); - foreach (var patrocinador in quitar) - evento.RemovePatrocinador(patrocinador); - } + // foreach (var patrocinador in quitar) + // evento.RemovePatrocinador(patrocinador); + //} private void Notify(Evento evento) { diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Domain/Evento.cs --- a/Agendas/trunk/src/Agendas.Domain/Evento.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Evento.cs Wed Aug 24 08:41:34 2011 -0300 @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Linq; namespace AltNetHispano.Agendas.Domain { @@ -9,7 +8,7 @@ protected Evento() { _tracks = new List(); - _patrocinadores = new List(); + //_patrocinadores = new List(); } #region Propiedades del Evento @@ -71,18 +70,17 @@ set { _estado = value; } } - //private EventoState _eventoState; - private IList _patrocinadores; + //private IList _patrocinadores; public virtual TipoEvento Tipo { get; private set; } - public virtual IEnumerable Patrocinadores - { - get - { - return _patrocinadores; - } - } + //public virtual IEnumerable Patrocinadores + //{ + // get + // { + // return _patrocinadores; + // } + //} /// /// Determina la duración de un evento. @@ -92,15 +90,15 @@ get; set; } - protected internal virtual void AddPatrocinador(Patrocinador patrocinador) - { - _patrocinadores.Add(patrocinador); - } + //protected internal virtual void AddPatrocinador(Patrocinador patrocinador) + //{ + // _patrocinadores.Add(patrocinador); + //} - protected internal virtual void RemovePatrocinador(Patrocinador patrocinador) - { - _patrocinadores.Remove(patrocinador); - } + //protected internal virtual void RemovePatrocinador(Patrocinador patrocinador) + //{ + // _patrocinadores.Remove(patrocinador); + //} #endregion diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Domain/Patrocinador.cs --- a/Agendas/trunk/src/Agendas.Domain/Patrocinador.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Patrocinador.cs Wed Aug 24 08:41:34 2011 -0300 @@ -3,26 +3,26 @@ namespace AltNetHispano.Agendas.Domain { - public class Patrocinador : Identificable - { - public virtual string Nombre { get; set; } - public virtual byte[] Logo { get; set; } + //public class Patrocinador : Identificable + //{ + // public virtual string Nombre { get; set; } + // public virtual byte[] Logo { get; set; } - public Patrocinador(string nombre) - { - Nombre = nombre; - } + // public Patrocinador(string nombre) + // { + // Nombre = nombre; + // } - protected Patrocinador() - { - } + // protected Patrocinador() + // { + // } - public virtual void LoadLogo(string path) - { - var image = Image.FromFile(path); - var ms = new MemoryStream(); - image.Save(ms, image.RawFormat); - Logo = ms.ToArray(); - } - } + // public virtual void LoadLogo(string path) + // { + // var image = Image.FromFile(path); + // var ms = new MemoryStream(); + // image.Save(ms, image.RawFormat); + // Logo = ms.ToArray(); + // } + //} } \ No newline at end of file diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Domain/Repositories/IPatrocinadorRepository.cs --- a/Agendas/trunk/src/Agendas.Domain/Repositories/IPatrocinadorRepository.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Repositories/IPatrocinadorRepository.cs Wed Aug 24 08:41:34 2011 -0300 @@ -2,10 +2,10 @@ namespace AltNetHispano.Agendas.Domain.Repositories { - public interface IPatrocinadorRepository - { - void Save(Patrocinador patrocinador); - Patrocinador Get(Guid patrocinadorId); - void Delete(Patrocinador patrocinador); - } + //public interface IPatrocinadorRepository + //{ + // void Save(Patrocinador patrocinador); + // Patrocinador Get(Guid patrocinadorId); + // void Delete(Patrocinador patrocinador); + //} } \ No newline at end of file diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Domain/Services/PersonaService.cs --- a/Agendas/trunk/src/Agendas.Domain/Services/PersonaService.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Services/PersonaService.cs Wed Aug 24 08:41:34 2011 -0300 @@ -43,7 +43,7 @@ #if DEBUG var administradores = new[] {"nelopauselli", "alabras", "jjmoa", "jrowies"}; #else - var administradores = new[] {"alabras", "jrowies", "jorgegamba"}; + var administradores = new[] {"nelopauselli", "alabras", "jrowies", "jorgegamba"}; #endif if (administradores.Contains(persona.Twitter)) { diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Factories/AgendaFactory.cs --- a/Agendas/trunk/src/Agendas.Factories/AgendaFactory.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Factories/AgendaFactory.cs Wed Aug 24 08:41:34 2011 -0300 @@ -24,7 +24,7 @@ return _agenda ?? (_agenda = new Agenda(publicadores, new EventoRepository(sessionFactory), - new PersonaRepository(sessionFactory), new PatrocinadorRepository(sessionFactory))); + new PersonaRepository(sessionFactory))); } public static IPersonaRepository GetPersonaRepository() diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Google.Test/PublicadorTest.cs --- a/Agendas/trunk/src/Agendas.Google.Test/PublicadorTest.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Google.Test/PublicadorTest.cs Wed Aug 24 08:41:34 2011 -0300 @@ -22,7 +22,7 @@ adapter.Setup(ad => ad.CreateEvent(It.IsAny(), out message)).Returns(true); var publicador = new GooglePublicador(adapter.Object); - var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository); agenda.Proponer("Agile Patterns", null, null, TipoEvento.Van); adapter.Verify(ad => ad.CreateEvent(It.IsAny(), out message), Times.Never()); @@ -43,7 +43,7 @@ var fechaTermino = fechaInicio.AddHours(2); var publicador = new GooglePublicador(adapter.Object); - var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository); agenda.Proponer("Agile Patterns", null, null, TipoEvento.Van); agenda.Agendar("Agile Patterns", TestsHelper.GetOrCreatePonente("Alejandro Labra"), fechaInicio, fechaTermino, "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion", @@ -56,16 +56,16 @@ Assert.AreEqual("VAN sobre Agile Patterns", detail.Title); Assert.AreEqual(DateTimeKind.Utc, detail.StartEvent.Kind); - Assert.AreEqual(18, detail.StartEvent.Hour); + Assert.AreEqual(ev.FechaInicio.Value.Hour, detail.StartEvent.Hour); Assert.AreEqual(ev.FechaInicio.Value.Day, detail.StartEvent.Day); Assert.AreEqual(ev.FechaInicio.Value.Month, detail.StartEvent.Month); Assert.AreEqual(ev.FechaInicio.Value.Year, detail.StartEvent.Year); Assert.AreEqual(DateTimeKind.Utc, detail.EndEvent.Kind); - Assert.AreEqual(20, detail.EndEvent.Hour); - Assert.AreEqual(ev.FechaInicio.Value.Day, detail.EndEvent.Day); - Assert.AreEqual(ev.FechaInicio.Value.Month, detail.EndEvent.Month); - Assert.AreEqual(ev.FechaInicio.Value.Year, detail.EndEvent.Year); + Assert.AreEqual(ev.FechaTermino.Value.Hour, detail.EndEvent.Hour); + Assert.AreEqual(ev.FechaTermino.Value.Day, detail.EndEvent.Day); + Assert.AreEqual(ev.FechaTermino.Value.Month, detail.EndEvent.Month); + Assert.AreEqual(ev.FechaTermino.Value.Year, detail.EndEvent.Year); Assert.AreEqual("La comunidad ALT.NET Hispano (http://altnethispano.org) realizará una VAN sobre Agile Patterns, con Alejandro Labra." + "\n\rFecha: sábado, 09 de julio de 2011 a las 18:00 hrs. Hora Internacional (GMT/UTC), con una duración aproximada de 2 horas." + @@ -83,7 +83,7 @@ var fechaTermino = fechaInicio.AddHours(2); var publicador = new GooglePublicador(adapter.Object); - var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository); agenda.Proponer("Agile Patterns", null, null, TipoEvento.Cafe); agenda.Agendar("Agile Patterns", TestsHelper.GetOrCreatePonente("Alejandro Labra"), fechaInicio, fechaTermino, "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion", @@ -96,16 +96,16 @@ Assert.AreEqual("Alt.Net Café Agile Patterns", detail.Title); Assert.AreEqual(DateTimeKind.Utc, detail.StartEvent.Kind); - Assert.AreEqual(18, detail.StartEvent.Hour); + Assert.AreEqual(ev.FechaInicio.Value.Hour, detail.StartEvent.Hour); Assert.AreEqual(ev.FechaInicio.Value.Day, detail.StartEvent.Day); Assert.AreEqual(ev.FechaInicio.Value.Month, detail.StartEvent.Month); Assert.AreEqual(ev.FechaInicio.Value.Year, detail.StartEvent.Year); Assert.AreEqual(DateTimeKind.Utc, detail.EndEvent.Kind); - Assert.AreEqual(20, detail.EndEvent.Hour); - Assert.AreEqual(ev.FechaInicio.Value.Day, detail.EndEvent.Day); - Assert.AreEqual(ev.FechaInicio.Value.Month, detail.EndEvent.Month); - Assert.AreEqual(ev.FechaInicio.Value.Year, detail.EndEvent.Year); + Assert.AreEqual(ev.FechaTermino.Value.Hour, detail.EndEvent.Hour); + Assert.AreEqual(ev.FechaTermino.Value.Day, detail.EndEvent.Day); + Assert.AreEqual(ev.FechaTermino.Value.Month, detail.EndEvent.Month); + Assert.AreEqual(ev.FechaTermino.Value.Year, detail.EndEvent.Year); Assert.AreEqual("La comunidad ALT.NET Hispano (http://altnethispano.org) realizará un Alt.Net Cafe virtual con el tema Agile Patterns." + "\n\rFecha: sábado, 09 de julio de 2011 a las 18:00 hrs. Hora Internacional (GMT/UTC), con una duración aproximada de 2 horas." + @@ -123,7 +123,7 @@ var fechaTermino = fechaInicio.AddHours(2); var publicador = new GooglePublicador(adapter.Object); - var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository); agenda.Proponer("Agile Patterns", null, null, TipoEvento.GrupoEstudio); agenda.Agendar("Agile Patterns", TestsHelper.GetOrCreatePonente("Alejandro Labra"), fechaInicio, fechaTermino, "https://groups.google.com/d/topic/altnet-hispano/arYEMsPiAtY/discussion", @@ -136,16 +136,16 @@ Assert.AreEqual("Grupo de Estudio Agile Patterns", detail.Title); Assert.AreEqual(DateTimeKind.Utc, detail.StartEvent.Kind); - Assert.AreEqual(18, detail.StartEvent.Hour); + Assert.AreEqual(ev.FechaInicio.Value.Hour, detail.StartEvent.Hour); Assert.AreEqual(ev.FechaInicio.Value.Day, detail.StartEvent.Day); Assert.AreEqual(ev.FechaInicio.Value.Month, detail.StartEvent.Month); Assert.AreEqual(ev.FechaInicio.Value.Year, detail.StartEvent.Year); Assert.AreEqual(DateTimeKind.Utc, detail.EndEvent.Kind); - Assert.AreEqual(20, detail.EndEvent.Hour); - Assert.AreEqual(ev.FechaInicio.Value.Day, detail.EndEvent.Day); - Assert.AreEqual(ev.FechaInicio.Value.Month, detail.EndEvent.Month); - Assert.AreEqual(ev.FechaInicio.Value.Year, detail.EndEvent.Year); + Assert.AreEqual(ev.FechaTermino.Value.Hour, detail.EndEvent.Hour); + Assert.AreEqual(ev.FechaTermino.Value.Day, detail.EndEvent.Day); + Assert.AreEqual(ev.FechaTermino.Value.Month, detail.EndEvent.Month); + Assert.AreEqual(ev.FechaTermino.Value.Year, detail.EndEvent.Year); Assert.AreEqual("La comunidad ALT.NET Hispano (http://altnethispano.org) realizará un grupo de estudio sobre Agile Patterns." + "\n\rFecha: sábado, 09 de julio de 2011 a las 18:00 hrs. Hora Internacional (GMT/UTC), con una duración aproximada de 2 horas." + @@ -164,7 +164,7 @@ adapter.Setup(ad => ad.DeleteEvent(It.IsAny(), It.IsAny(), out message)).Returns(true); var publicador = new GooglePublicador(adapter.Object); - var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository); agenda.Proponer("Agile Patterns", null, null, TipoEvento.Van); adapter.Verify(ad => ad.DeleteEvent(It.IsAny(), It.IsAny(), out message), Times.Never()); diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Google/DetailsEvents/CafeGEventDetail.cs --- a/Agendas/trunk/src/Agendas.Google/DetailsEvents/CafeGEventDetail.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Google/DetailsEvents/CafeGEventDetail.cs Wed Aug 24 08:41:34 2011 -0300 @@ -23,10 +23,8 @@ { Title = "Alt.Net Café " + evento.Titulo; Location = "http://snipr.com/virtualaltnet"; - if (evento.FechaInicio != null) - StartEvent = new DateTime(evento.FechaInicio.Value.Year, evento.FechaInicio.Value.Month, evento.FechaInicio.Value.Day, - 18, 0, 0, DateTimeKind.Utc); - EndEvent = StartEvent.AddHours(2); + StartEvent = evento.FechaInicio.Value; + EndEvent = evento.FechaTermino.Value; var cultureInfo = new CultureInfo("es-ES", false).DateTimeFormat; diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Google/DetailsEvents/EstudioGEventDetail.cs --- a/Agendas/trunk/src/Agendas.Google/DetailsEvents/EstudioGEventDetail.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Google/DetailsEvents/EstudioGEventDetail.cs Wed Aug 24 08:41:34 2011 -0300 @@ -23,10 +23,8 @@ { Title = "Grupo de Estudio " + evento.Titulo; Location = "http://snipr.com/virtualaltnet"; - if (evento.FechaInicio != null) - StartEvent = new DateTime(evento.FechaInicio.Value.Year, evento.FechaInicio.Value.Month, evento.FechaInicio.Value.Day, - 18, 0, 0, DateTimeKind.Utc); - EndEvent = StartEvent.AddHours(2); + StartEvent = evento.FechaInicio.Value; + EndEvent = evento.FechaTermino.Value; var cultureInfo = new CultureInfo("es-ES", false).DateTimeFormat; diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Google/DetailsEvents/VanGEventDetail.cs --- a/Agendas/trunk/src/Agendas.Google/DetailsEvents/VanGEventDetail.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Google/DetailsEvents/VanGEventDetail.cs Wed Aug 24 08:41:34 2011 -0300 @@ -24,11 +24,8 @@ { Title = "VAN sobre " + evento.Titulo; Location = "http://snipr.com/virtualaltnet"; - if (evento.FechaInicio != null) - StartEvent = new DateTime(evento.FechaInicio.Value.Year, evento.FechaInicio.Value.Month, evento.FechaInicio.Value.Day, - 18, 0, 0, DateTimeKind.Utc); - EndEvent = StartEvent.AddHours(2); - + StartEvent = evento.FechaInicio.Value; + EndEvent = evento.FechaTermino.Value; var cultureInfo = new CultureInfo( "es-ES", false ).DateTimeFormat; Summary = TextoVan.Replace("[NOMBRE]", evento.Titulo). diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Google/GooglePublicador.cs --- a/Agendas/trunk/src/Agendas.Google/GooglePublicador.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Google/GooglePublicador.cs Wed Aug 24 08:41:34 2011 -0300 @@ -54,7 +54,7 @@ private void PublicarAccionCancelar(Track track) { string message; - var result= _adapter.DeleteEvent(track.Evento.FechaInicio.Value, track.Evento.FechaInicio.Value.AddHours(2), out message); + var result= _adapter.DeleteEvent(track.Evento.FechaInicio.Value, track.Evento.FechaTermino.Value, out message); track.LogAdd(new TrackLog(TrackLogPropietario.Calendario, message, track.Usuario, result)); } diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.NHibernate/NhHelper.cs --- a/Agendas/trunk/src/Agendas.NHibernate/NhHelper.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.NHibernate/NhHelper.cs Wed Aug 24 08:41:34 2011 -0300 @@ -1,8 +1,10 @@ -using AltNetHispano.Agendas.Domain; +using System; +using AltNetHispano.Agendas.Domain; using ConfOrm; using ConfOrm.NH; using NHibernate; using NHibernate.Cfg; +using NHibernate.Cfg.MappingSchema; using NHibernate.Tool.hbm2ddl; namespace Agendas.NHibernate @@ -16,32 +18,7 @@ { if (_cfg == null) { - var orm = new ObjectRelationalMapper(); - orm.TablePerClass(); - orm.TablePerClass(); - - orm.Complex(e => e.Estado); - - orm.TablePerClass(); - orm.TablePerClass(); - orm.TablePerClass(); - orm.TablePerClass(); - - orm.Cascade(Cascade.None); - orm.Cascade(Cascade.None); - - orm.Cascade(Cascade.All | Cascade.DeleteOrphans); - - var mapper = new Mapper(orm); - - mapper.Customize(a => a.Property(p => p.Nombre, m => m.Unique(true))); - mapper.Customize(a => a.Property(p => p.Twitter, m => m.Unique(true))); - - mapper.Customize(a => a.Property(p => p.Titulo, m => m.Unique(true))); - - mapper.AddPropertyPattern(p => p.DeclaringType == typeof(Evento) && p.Name == "Estado", a => a.Type()); - - var mapping = mapper.CompileMappingFor(typeof(Evento).Assembly.GetTypes()); + var mapping = GetMapping(); _cfg = new Configuration(); _cfg.Configure(); @@ -50,6 +27,45 @@ return _cfg; } + public static HbmMapping GetMapping() + { + var orm = new ObjectRelationalMapper(); + orm.TablePerClass(); + orm.TablePerClass(); + + orm.Complex(e => e.Estado); + + orm.TablePerClass(); + orm.TablePerClass(); + orm.TablePerClass(); + //orm.TablePerClass(); + + orm.Cascade(Cascade.None); + orm.Cascade(Cascade.None); + + orm.Cascade(Cascade.All | Cascade.DeleteOrphans); + + orm.Bag(p => p.Roles); + + var mapper = new Mapper(orm); + + mapper.Customize(a => a.Property(p => p.Nombre, m => m.Unique(true))); + mapper.Customize(a => a.Property(p => p.Twitter, m => m.Unique(true))); + + mapper.Class( + ca => ca.Bag( + p => p.Roles, + cm => cm.Key(em => em.Column("Persona")), + m => m.Element(em => em.Column("Rol")))); + + mapper.Customize(a => a.Property(p => p.Titulo, m => m.Unique(true))); + + mapper.AddPropertyPattern(p => p.DeclaringType == typeof(Evento) && p.Name == "Estado", a => a.Type()); + + return mapper.CompileMappingFor(typeof(Evento).Assembly.GetTypes()); + + } + public static ISessionFactory GetSessionFactory() { if (_sessionfactory == null) @@ -58,26 +74,7 @@ #if DEBUG var schemaValidator = new SchemaValidator(cfg); - try - { - schemaValidator.Validate(); - } - catch - { - try - { - var schemaUpdate = new SchemaUpdate(cfg); - schemaUpdate.Execute(false, true); - - schemaValidator.Validate(); - } - catch - { - var schemaExport = new SchemaExport(cfg); - schemaExport.Create(false, true); - } - } - + schemaValidator.Validate(); #endif _sessionfactory = cfg.BuildSessionFactory(); diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Repositories.Memory/PatrocinadorRepository.cs --- a/Agendas/trunk/src/Agendas.Repositories.Memory/PatrocinadorRepository.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Repositories.Memory/PatrocinadorRepository.cs Wed Aug 24 08:41:34 2011 -0300 @@ -3,11 +3,11 @@ namespace AltNetHispano.Agendas.Repositories.Memory { - public class PatrocinadorRepository : RepositoryBase, IPatrocinadorRepository - { - public static void Clear() - { - Objects.Clear(); - } - } + //public class PatrocinadorRepository : RepositoryBase, IPatrocinadorRepository + //{ + // public static void Clear() + // { + // Objects.Clear(); + // } + //} } \ No newline at end of file diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Repositories.NHibernate/PatrocinadorRepository.cs --- a/Agendas/trunk/src/Agendas.Repositories.NHibernate/PatrocinadorRepository.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Repositories.NHibernate/PatrocinadorRepository.cs Wed Aug 24 08:41:34 2011 -0300 @@ -5,21 +5,21 @@ namespace AltNetHispano.Agendas.Repositories.NHibernate { - public class PatrocinadorRepository : RepositoryBase, IPatrocinadorRepository - { - public PatrocinadorRepository(ISessionFactory sessionFactory) - : base(sessionFactory) - { - } + //public class PatrocinadorRepository : RepositoryBase, IPatrocinadorRepository + //{ + // public PatrocinadorRepository(ISessionFactory sessionFactory) + // : base(sessionFactory) + // { + // } - public Patrocinador Get(Guid patrocinadorId) - { - return Session.Get(patrocinadorId); - } + // public Patrocinador Get(Guid patrocinadorId) + // { + // return Session.Get(patrocinadorId); + // } - public void Delete(Patrocinador patrocinador) - { - Session.Delete(patrocinador); - } - } + // public void Delete(Patrocinador patrocinador) + // { + // Session.Delete(patrocinador); + // } + //} } \ No newline at end of file diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Resources/Agendas.Resources.csproj --- a/Agendas/trunk/src/Agendas.Resources/Agendas.Resources.csproj Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Resources/Agendas.Resources.csproj Wed Aug 24 08:41:34 2011 -0300 @@ -56,6 +56,7 @@ PublicResXFileCodeGenerator LayoutResources.Designer.cs + Designer PublicResXFileCodeGenerator diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Resources/Properties/DataAnnotationResources.Designer.cs --- a/Agendas/trunk/src/Agendas.Resources/Properties/DataAnnotationResources.Designer.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Resources/Properties/DataAnnotationResources.Designer.cs Wed Aug 24 08:41:34 2011 -0300 @@ -88,6 +88,15 @@ } /// + /// Looks up a localized string similar to debe ingresar la Duración del evento. + /// + public static string DuracionRequired { + get { + return ResourceManager.GetString("DuracionRequired", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Correo electrónico. /// public static string EMail { @@ -124,6 +133,15 @@ } /// + /// Looks up a localized string similar to debe ingresar la Hora del evento. + /// + public static string HoraRequired { + get { + return ResourceManager.GetString("HoraRequired", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Nombre de la persona que identifica a esta persona entre todas. /// public static string NombreDescription { diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Resources/Properties/DataAnnotationResources.resx --- a/Agendas/trunk/src/Agendas.Resources/Properties/DataAnnotationResources.resx Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Resources/Properties/DataAnnotationResources.resx Wed Aug 24 08:41:34 2011 -0300 @@ -126,6 +126,9 @@ Tiempo que duró la presentación. + + debe ingresar la Duración del evento + Correo electrónico @@ -138,6 +141,9 @@ Hora (GMT +0) + + debe ingresar la Hora del evento + Nombre de la persona que identifica a esta persona entre todas diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Resources/Properties/LayoutResources.Designer.cs --- a/Agendas/trunk/src/Agendas.Resources/Properties/LayoutResources.Designer.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Resources/Properties/LayoutResources.Designer.cs Wed Aug 24 08:41:34 2011 -0300 @@ -106,7 +106,7 @@ } /// - /// Looks up a localized string similar to datos del evento. + /// Looks up a localized string similar to Datos del evento. /// public static string EventoEditModelLegend { get { @@ -133,7 +133,7 @@ } /// - /// Looks up a localized string similar to datos del evento. + /// Looks up a localized string similar to Datos del evento. /// public static string EventoNewModelLegend { get { diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Resources/Properties/LayoutResources.resx --- a/Agendas/trunk/src/Agendas.Resources/Properties/LayoutResources.resx Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Resources/Properties/LayoutResources.resx Wed Aug 24 08:41:34 2011 -0300 @@ -133,7 +133,7 @@ Cambie los datos que desea y presione el botón guardar - datos del evento + Datos del evento Modificar evento @@ -142,7 +142,7 @@ Ingrese los datos del nuevo evento - datos del evento + Datos del evento Nuevo evento diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/AgendarTests.cs --- a/Agendas/trunk/src/Agendas.Tests/AgendarTests.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/AgendarTests.cs Wed Aug 24 08:41:34 2011 -0300 @@ -29,7 +29,7 @@ publicador.Setup(p => p.Publicar(It.IsAny>())).Throws(new Exception("Error intencional")); repository.Setup(r => r.GetActivos()).Returns(new List()); - var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository); var fechaInicio = DateTime.Now.ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); @@ -51,7 +51,7 @@ var publicador = new Mock(); var repository = new Mock(); repository.Setup(r => r.GetActivos()).Returns(new List()); - var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository); var fechaInicio = DateTime.Now.ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); @@ -70,7 +70,7 @@ var publicador = new Mock(); var repository = new Mock(); repository.Setup(r => r.GetActivos()).Returns(new List()); - var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador.Object, repository.Object, DefaultPersonaRepository); var fechaInicio = DateTime.Now.ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); @@ -86,7 +86,7 @@ [Test] public void Intentar_agendar_evento_sin_ponente() { - var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); var fechaInicio = DateTime.Now.ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); @@ -104,7 +104,7 @@ var repository = new Mock(); repository.Setup(r => r.GetActivos()).Returns(new List()); var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), - repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository); + repository.Object, DefaultPersonaRepository); var fechaInicio = DateTime.Now.ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); @@ -121,7 +121,7 @@ { var publicador = new Mock(); - var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository); var fechaInicio = DateTime.Now.ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); @@ -146,7 +146,7 @@ var repository = DefaultEventoRepository; var publicador = new Mock(); - var agenda = new Agenda(publicador.Object, repository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador.Object, repository, DefaultPersonaRepository); var fechaInicioVanPublicar = DateTime.Now.ToUniversalTime(); var fechaTerminoVanPublicar = fechaInicioVanPublicar.AddHours(2); @@ -186,7 +186,7 @@ var publicador2 = new Mock(); var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), - DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + DefaultEventoRepository, DefaultPersonaRepository); var fechaInicio = DateTime.Now.ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); @@ -208,7 +208,7 @@ var publicador2 = new Mock(); var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), - DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + DefaultEventoRepository, DefaultPersonaRepository); agenda.Proponer("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), urlInvitacion, TipoEvento.Van); Assert.AreEqual(1, agenda.GetEventosActivos(EventoPropuestoState.GetInstance()).Count); @@ -238,7 +238,7 @@ { var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); agenda.Proponer("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), urlInvitacion, TipoEvento.Van); var evento = @@ -253,7 +253,7 @@ { var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); var fechaInicio = DateTime.MinValue.ToUniversalTime(); var fechatermino = fechaInicio.AddHours(2); agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechatermino, urlInvitacion, @@ -270,7 +270,7 @@ { var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); var fechaInicio = DateTime.MinValue.ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, @@ -290,7 +290,7 @@ { var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); var fechaInicio = DateTime.MinValue.ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, @@ -311,7 +311,7 @@ { var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); var fechaInicio = DateTime.MinValue.ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, @@ -332,7 +332,7 @@ var duracion = new TimeSpan(1, 34, 00); var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); var fechaInicio = DateTime.MinValue.ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, urlInvitacion, @@ -354,7 +354,7 @@ var duracion = new TimeSpan(1, 34, 00); var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); var fechaInicio = DateTime.MinValue.ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, urlInvitacion, @@ -376,7 +376,7 @@ { var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); agenda.Proponer("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), urlInvitacion, TipoEvento.Van); var evento = @@ -395,7 +395,7 @@ var duracion = new TimeSpan(1, 34, 00); var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); agenda.Proponer("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), urlInvitacion, TipoEvento.Van); var evento = @@ -411,7 +411,7 @@ var duracion = new TimeSpan(1, 34, 00); var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); var fechaInicio = DateTime.MinValue.ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, @@ -432,7 +432,7 @@ var duracion = new TimeSpan(1, 34, 00); var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); var fechaInicio = DateTime.MinValue.ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, @@ -451,7 +451,7 @@ const string urlWiki = "http://www.altnethispano.org/wiki/van-2010-10-21-mono-cecil.ashx"; var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); var fechaInicio = DateTime.MinValue.ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); agenda.Agendar("Html 5", TestsHelper.GetOrCreatePonente("jjmontes"), fechaInicio, fechaTermino, urlInvitacion, @@ -468,8 +468,7 @@ public void Verificar_que_no_se_puedan_agendar_dos_eventos_para_el_mismo_intervalo() { var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, - DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); var fechaInicio = new DateTime(2011, 7, 1, 18, 00, 00); var fechaTermino = fechaInicio.AddHours(2); @@ -520,8 +519,7 @@ public void Verificar_que_no_se_modifique_una_propuesta_de_VAN_al_intentar_agendarla_con_fechas_usadas() { var publicador1 = new Mock(); - var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository, - DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador1.Object, DefaultEventoRepository, DefaultPersonaRepository); var fechaInicio = new DateTime(2011, 7, 1, 18, 00, 00); var fechaTermino = fechaInicio.AddHours(2); diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/Agendas.Tests.csproj --- a/Agendas/trunk/src/Agendas.Tests/Agendas.Tests.csproj Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/Agendas.Tests.csproj Wed Aug 24 08:41:34 2011 -0300 @@ -77,6 +77,7 @@ + @@ -84,6 +85,7 @@ + diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/Cruds/EventoCrudNhTests.cs --- a/Agendas/trunk/src/Agendas.Tests/Cruds/EventoCrudNhTests.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/Cruds/EventoCrudNhTests.cs Wed Aug 24 08:41:34 2011 -0300 @@ -3,8 +3,6 @@ using AltNetHispano.Agendas.Repositories.NHibernate; using Moq; using NHibernate; -using NHibernate.Cfg; -using NHibernate.Tool.hbm2ddl; using NUnit.Framework; namespace AltNetHispano.Agendas.Tests.Cruds @@ -19,9 +17,7 @@ [SetUp] public void BorrarRepositorios() { - Configuration cfg =NhHelper.GetConfiguration(); - var schemaExport = new SchemaExport(cfg); - schemaExport.Create(false, true); + NhHelperTest.CleanDb(); } [SetUp] diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/Cruds/NhHelperTest.cs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Agendas/trunk/src/Agendas.Tests/Cruds/NhHelperTest.cs Wed Aug 24 08:41:34 2011 -0300 @@ -0,0 +1,16 @@ +using Agendas.NHibernate; + +namespace AltNetHispano.Agendas.Tests.Cruds +{ + public static class NhHelperTest + { + public static void CleanDb() + { + var sf = NhHelper.GetSessionFactory(); + + var session = sf.OpenStatelessSession(); + session.CreateSQLQuery("DELETE FROM Evento").ExecuteUpdate(); + session.CreateSQLQuery("DELETE FROM Persona").ExecuteUpdate(); + } + } +} \ No newline at end of file diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrud.cs --- a/Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrud.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrud.cs Wed Aug 24 08:41:34 2011 -0300 @@ -5,85 +5,85 @@ namespace AltNetHispano.Agendas.Tests.Cruds { - public class PatrocinadorCrud - { - private readonly IPatrocinadorRepository _patrocinadorRepository; - private readonly Func _requestEmulator; - private byte[] _logo; + //public class PatrocinadorCrud + //{ + // private readonly IPatrocinadorRepository _patrocinadorRepository; + // private readonly Func _requestEmulator; + // private byte[] _logo; - public PatrocinadorCrud(Func createPatrocinadorRepository, Func requestEmulator) - { - _patrocinadorRepository = createPatrocinadorRepository.Invoke(); - _requestEmulator = requestEmulator; - } + // public PatrocinadorCrud(Func createPatrocinadorRepository, Func requestEmulator) + // { + // _patrocinadorRepository = createPatrocinadorRepository.Invoke(); + // _requestEmulator = requestEmulator; + // } - public Guid Create() - { - using (_requestEmulator.Invoke()) - { - var patrocinador = new Patrocinador("APRESS"); + // public Guid Create() + // { + // using (_requestEmulator.Invoke()) + // { + // var patrocinador = new Patrocinador("APRESS"); - patrocinador.LoadLogo("images/apress.gif"); - _logo = patrocinador.Logo; + // patrocinador.LoadLogo("images/apress.gif"); + // _logo = patrocinador.Logo; - _patrocinadorRepository.Save(patrocinador); - return patrocinador.Id; - } - } + // _patrocinadorRepository.Save(patrocinador); + // return patrocinador.Id; + // } + // } - public void Read() - { - Guid patrocinadorId = Create(); + // public void Read() + // { + // Guid patrocinadorId = Create(); - using (_requestEmulator.Invoke()) - { - var patrocinador = _patrocinadorRepository.Get(patrocinadorId); + // using (_requestEmulator.Invoke()) + // { + // var patrocinador = _patrocinadorRepository.Get(patrocinadorId); - Assert.IsNotNull(patrocinador); - Assert.AreEqual("APRESS", patrocinador.Nombre); - Assert.IsNotNull(patrocinador.Logo); - Assert.AreEqual(_logo, patrocinador.Logo); - } - } + // Assert.IsNotNull(patrocinador); + // Assert.AreEqual("APRESS", patrocinador.Nombre); + // Assert.IsNotNull(patrocinador.Logo); + // Assert.AreEqual(_logo, patrocinador.Logo); + // } + // } - public void Update() - { - Guid patrocinadorId = Create(); + // public void Update() + // { + // Guid patrocinadorId = Create(); - using (_requestEmulator.Invoke()) - { - var patrocinador = _patrocinadorRepository.Get(patrocinadorId); - Assert.IsNotNull(patrocinador); + // using (_requestEmulator.Invoke()) + // { + // var patrocinador = _patrocinadorRepository.Get(patrocinadorId); + // Assert.IsNotNull(patrocinador); - patrocinador.Nombre = "Apress"; - } + // patrocinador.Nombre = "Apress"; + // } - using (_requestEmulator.Invoke()) - { - var patrocinador = _patrocinadorRepository.Get(patrocinadorId); + // using (_requestEmulator.Invoke()) + // { + // var patrocinador = _patrocinadorRepository.Get(patrocinadorId); - Assert.IsNotNull(patrocinador); - Assert.AreEqual("Apress", patrocinador.Nombre); - } - } + // Assert.IsNotNull(patrocinador); + // Assert.AreEqual("Apress", patrocinador.Nombre); + // } + // } - public void Delete() - { - Guid patrocinadorId = Create(); + // public void Delete() + // { + // Guid patrocinadorId = Create(); - using (_requestEmulator.Invoke()) - { - var patrocinador = _patrocinadorRepository.Get(patrocinadorId); - Assert.IsNotNull(patrocinador); + // using (_requestEmulator.Invoke()) + // { + // var patrocinador = _patrocinadorRepository.Get(patrocinadorId); + // Assert.IsNotNull(patrocinador); - _patrocinadorRepository.Delete(patrocinador); - } + // _patrocinadorRepository.Delete(patrocinador); + // } - using (_requestEmulator.Invoke()) - { - var patrocinador = _patrocinadorRepository.Get(patrocinadorId); - Assert.IsNull(patrocinador); - } - } - } + // using (_requestEmulator.Invoke()) + // { + // var patrocinador = _patrocinadorRepository.Get(patrocinadorId); + // Assert.IsNull(patrocinador); + // } + // } + //} } \ No newline at end of file diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrudMemoryTests.cs --- a/Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrudMemoryTests.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrudMemoryTests.cs Wed Aug 24 08:41:34 2011 -0300 @@ -6,58 +6,58 @@ namespace AltNetHispano.Agendas.Tests.Cruds { - [TestFixture] - public class PatrocinadorCrudMemoryTests - { - private PatrocinadorCrud _eventoCrud; + //[TestFixture] + //public class PatrocinadorCrudMemoryTests + //{ + // private PatrocinadorCrud _eventoCrud; - #region SetUp + // #region SetUp - [SetUp] - public void BorrarRepositorios() - { - PatrocinadorRepository.Clear(); - } + // [SetUp] + // public void BorrarRepositorios() + // { + // PatrocinadorRepository.Clear(); + // } - [SetUp] - public void SetearUsuario() - { - var seguridad = new Mock(); - seguridad.Setup(s => s.GetUserName()).Returns("neluz"); - IdentityContext.Init(seguridad.Object, new PersonaRepository()); - } + // [SetUp] + // public void SetearUsuario() + // { + // var seguridad = new Mock(); + // seguridad.Setup(s => s.GetUserName()).Returns("neluz"); + // IdentityContext.Init(seguridad.Object, new PersonaRepository()); + // } - [SetUp] - public void CreateCrud() - { - _eventoCrud = new PatrocinadorCrud(() => new PatrocinadorRepository(), () => new Mock().Object); - } + // [SetUp] + // public void CreateCrud() + // { + // _eventoCrud = new PatrocinadorCrud(() => new PatrocinadorRepository(), () => new Mock().Object); + // } - #endregion + // #endregion - [Test] - public void Create() - { - _eventoCrud.Create(); - } + // [Test] + // public void Create() + // { + // _eventoCrud.Create(); + // } - [Test] - public void Read() - { - _eventoCrud.Read(); - } + // [Test] + // public void Read() + // { + // _eventoCrud.Read(); + // } - [Test] - public void Update() - { - _eventoCrud.Update(); - } + // [Test] + // public void Update() + // { + // _eventoCrud.Update(); + // } - [Test] - public void Delete() - { - _eventoCrud.Delete(); - } + // [Test] + // public void Delete() + // { + // _eventoCrud.Delete(); + // } - } + //} } \ No newline at end of file diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrudNhTests.cs --- a/Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrudNhTests.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrudNhTests.cs Wed Aug 24 08:41:34 2011 -0300 @@ -3,67 +3,63 @@ using AltNetHispano.Agendas.Repositories.NHibernate; using Moq; using NHibernate; -using NHibernate.Cfg; -using NHibernate.Tool.hbm2ddl; using NUnit.Framework; namespace AltNetHispano.Agendas.Tests.Cruds { - [TestFixture] - public class PatrocinadorCrudNhTests - { - private PatrocinadorCrud _patrocinadorCrud; + //[TestFixture] + //public class PatrocinadorCrudNhTests + //{ + // private PatrocinadorCrud _patrocinadorCrud; - #region SetUp + // #region SetUp + + // [SetUp] + // public void BorrarRepositorios() + // { + // NhHelperTest.CleanDb(); + // } - [SetUp] - public void BorrarRepositorios() - { - Configuration cfg = NhHelper.GetConfiguration(); - var schemaExport = new SchemaExport(cfg); - schemaExport.Create(false, true); - } + // [SetUp] + // public void SetearUsuario() + // { + // var seguridad = new Mock(); + // seguridad.Setup(s => s.GetUserName()).Returns("neluz"); + // IdentityContext.Init(seguridad.Object, new PersonaRepository(NhHelper.GetSessionFactory())); + // } - [SetUp] - public void SetearUsuario() - { - var seguridad = new Mock(); - seguridad.Setup(s => s.GetUserName()).Returns("neluz"); - IdentityContext.Init(seguridad.Object, new PersonaRepository(NhHelper.GetSessionFactory())); - } + // [SetUp] + // public void CreateCrud() + // { + // ISessionFactory sessionFactory = NhHelper.GetSessionFactory(); + // _patrocinadorCrud = new PatrocinadorCrud(() => new PatrocinadorRepository(sessionFactory), () => new RequestEmulator(sessionFactory)); + // } - [SetUp] - public void CreateCrud() - { - ISessionFactory sessionFactory = NhHelper.GetSessionFactory(); - _patrocinadorCrud = new PatrocinadorCrud(() => new PatrocinadorRepository(sessionFactory), () => new RequestEmulator(sessionFactory)); - } + // #endregion - #endregion + // [Test] + // public void Create() + // { + // _patrocinadorCrud.Create(); + // } - [Test] - public void Create() - { - _patrocinadorCrud.Create(); - } + // [Test] + // public void Read() + // { + // _patrocinadorCrud.Read(); + // } - [Test] - public void Read() - { - _patrocinadorCrud.Read(); - } + // [Test] + // public void Update() + // { + // _patrocinadorCrud.Update(); + // } - [Test] - public void Update() - { - _patrocinadorCrud.Update(); - } + // [Test] + // public void Delete() + // { + // _patrocinadorCrud.Delete(); + // } - [Test] - public void Delete() - { - _patrocinadorCrud.Delete(); - } - - } + //} } \ No newline at end of file diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/Cruds/PersonaCrudNhTests.cs --- a/Agendas/trunk/src/Agendas.Tests/Cruds/PersonaCrudNhTests.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/Cruds/PersonaCrudNhTests.cs Wed Aug 24 08:41:34 2011 -0300 @@ -3,8 +3,6 @@ using AltNetHispano.Agendas.Repositories.NHibernate; using Moq; using NHibernate; -using NHibernate.Cfg; -using NHibernate.Tool.hbm2ddl; using NUnit.Framework; namespace AltNetHispano.Agendas.Tests.Cruds @@ -19,9 +17,7 @@ [SetUp] public void BorrarRepositorios() { - Configuration cfg = NhHelper.GetConfiguration(); - var schemaExport = new SchemaExport(cfg); - schemaExport.Create(false, true); + NhHelperTest.CleanDb(); } [SetUp] diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/Cruds/SchemaNhTests.cs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Agendas/trunk/src/Agendas.Tests/Cruds/SchemaNhTests.cs Wed Aug 24 08:41:34 2011 -0300 @@ -0,0 +1,61 @@ +using System; +using System.Xml; +using System.Xml.Serialization; +using Agendas.NHibernate; +using NHibernate.Cfg.MappingSchema; +using NHibernate.Tool.hbm2ddl; +using NUnit.Framework; + +namespace AltNetHispano.Agendas.Tests.Cruds +{ + [TestFixture] + public class SchemaNhTests + { + [Test] + public void ValidateSchema() + { + var cfg = NhHelper.GetConfiguration(); + + var schemaValidator = new SchemaValidator(cfg); + schemaValidator.Validate(); + } + + [Test] + public void BuildSessionFactory() + { + var cfg = NhHelper.GetConfiguration(); + + var sessionfactory = cfg.BuildSessionFactory(); + + Assert.IsNotNull(sessionfactory); + } + + [Test] + public void ShowMapping() + { + var mapping = NhHelper.GetMapping(); + + var setting = new XmlWriterSettings { Indent = true }; + + var serializer = new XmlSerializer(typeof(HbmMapping)); + + var xw = XmlWriter.Create(Console.Out, setting); + + serializer.Serialize(xw, mapping); + } + + [Test] + public void LimpiarDb() + { + NhHelperTest.CleanDb(); + + var sf = NhHelper.GetSessionFactory(); + + var session = sf.OpenSession(); + + var query = session.CreateQuery("from System.Object"); + + Assert.IsEmpty(query.List()); + } + } +} \ No newline at end of file diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/Eventos_y_patrocinadores_tests.cs --- a/Agendas/trunk/src/Agendas.Tests/Eventos_y_patrocinadores_tests.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/Eventos_y_patrocinadores_tests.cs Wed Aug 24 08:41:34 2011 -0300 @@ -6,105 +6,105 @@ namespace AltNetHispano.Agendas.Tests { - [TestFixture] - public class Eventos_y_patrocinadores_tests : TestBase - { - private Guid _apressId; - private Guid _jetbrainsId; - private Guid _eventoId; - private Agenda _agenda; + //[TestFixture] + //public class Eventos_y_patrocinadores_tests : TestBase + //{ + // private Guid _apressId; + // private Guid _jetbrainsId; + // private Guid _eventoId; + // private Agenda _agenda; - [SetUp] - public void CrearDatos() - { - _agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + // [SetUp] + // public void CrearDatos() + // { + // _agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); - _apressId = CrearPatrocinador("Apress", "images/apress.gif"); - _jetbrainsId = CrearPatrocinador("jetbrains", "images/jetbrains.png"); - _eventoId = CrearEvento(); - } + // _apressId = CrearPatrocinador("Apress", "images/apress.gif"); + // _jetbrainsId = CrearPatrocinador("jetbrains", "images/jetbrains.png"); + // _eventoId = CrearEvento(); + // } - [Test] - public void Indicar_patrociadores() - { - _agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId, _jetbrainsId }); + // [Test] + // public void Indicar_patrociadores() + // { + // _agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId, _jetbrainsId }); - var evento = DefaultEventoRepository.GetActivos().First(); - Assert.AreNotEqual(Guid.Empty, evento.Id); - Assert.IsNotNull(evento.FechaInicio); - Assert.IsNotNull(evento.Patrocinadores); - Assert.IsTrue(evento.Patrocinadores.Any()); - Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); - Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); - } + // var evento = DefaultEventoRepository.GetActivos().First(); + // Assert.AreNotEqual(Guid.Empty, evento.Id); + // Assert.IsNotNull(evento.FechaInicio); + // Assert.IsNotNull(evento.Patrocinadores); + // Assert.IsTrue(evento.Patrocinadores.Any()); + // Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); + // Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); + // } - [Test] - public void Agregar_patrociador() - { - { - _agenda.IndicarPatrocinadores(_eventoId, new[] {_apressId}); + // [Test] + // public void Agregar_patrociador() + // { + // { + // _agenda.IndicarPatrocinadores(_eventoId, new[] {_apressId}); - var evento = DefaultEventoRepository.GetActivos().First(); - Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); - Assert.IsFalse(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); - } + // var evento = DefaultEventoRepository.GetActivos().First(); + // Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); + // Assert.IsFalse(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); + // } - { - _agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId, _jetbrainsId }); + // { + // _agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId, _jetbrainsId }); - var evento = DefaultEventoRepository.GetActivos().First(); - Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); - Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); - } - } + // var evento = DefaultEventoRepository.GetActivos().First(); + // Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); + // Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); + // } + // } - [Test] - public void Quitar_patrociador() - { - { - _agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId, _jetbrainsId }); + // [Test] + // public void Quitar_patrociador() + // { + // { + // _agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId, _jetbrainsId }); - var evento = DefaultEventoRepository.GetActivos().First(); - Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); - Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); - } + // var evento = DefaultEventoRepository.GetActivos().First(); + // Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); + // Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); + // } - { - _agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId }); + // { + // _agenda.IndicarPatrocinadores(_eventoId, new[] { _apressId }); - var evento = DefaultEventoRepository.GetActivos().First(); - Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); - Assert.IsFalse(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); - } + // var evento = DefaultEventoRepository.GetActivos().First(); + // Assert.IsTrue(evento.Patrocinadores.Any(p => p.Nombre == "Apress")); + // Assert.IsFalse(evento.Patrocinadores.Any(p => p.Nombre == "jetbrains")); + // } - { - _agenda.IndicarPatrocinadores(_eventoId, new Guid[] {}); + // { + // _agenda.IndicarPatrocinadores(_eventoId, new Guid[] {}); - var evento = DefaultEventoRepository.GetActivos().First(); - Assert.IsFalse(evento.Patrocinadores.Any()); - } - } + // var evento = DefaultEventoRepository.GetActivos().First(); + // Assert.IsFalse(evento.Patrocinadores.Any()); + // } + // } - private static Guid CrearPatrocinador(string nombre, string images) - { - var patrocinador = new Patrocinador(nombre); - patrocinador.LoadLogo(images); + // private static Guid CrearPatrocinador(string nombre, string images) + // { + // var patrocinador = new Patrocinador(nombre); + // patrocinador.LoadLogo(images); - var patrocinadorRepository = DefaultPatrocinadorRepository; - patrocinadorRepository.Save(patrocinador); + // var patrocinadorRepository = DefaultPatrocinadorRepository; + // patrocinadorRepository.Save(patrocinador); - return patrocinador.Id; - } + // return patrocinador.Id; + // } - private Guid CrearEvento() - { - var fechaInicio = DateTime.Today.AddDays(7).ToUniversalTime(); - var fechaTermino = fechaInicio.AddHours(2); - _agenda.Agendar("ADFS", TestsHelper.GetOrCreatePonente("Nelo Pauselli"), fechaInicio, fechaTermino, null, TipoEvento.Van); + // private Guid CrearEvento() + // { + // var fechaInicio = DateTime.Today.AddDays(7).ToUniversalTime(); + // var fechaTermino = fechaInicio.AddHours(2); + // _agenda.Agendar("ADFS", TestsHelper.GetOrCreatePonente("Nelo Pauselli"), fechaInicio, fechaTermino, null, TipoEvento.Van); - var evento = DefaultEventoRepository.GetActivos().First(); - return evento.Id; - } + // var evento = DefaultEventoRepository.GetActivos().First(); + // return evento.Id; + // } - } + //} } \ No newline at end of file diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/PonentesTests.cs --- a/Agendas/trunk/src/Agendas.Tests/PonentesTests.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/PonentesTests.cs Wed Aug 24 08:41:34 2011 -0300 @@ -18,7 +18,7 @@ var publicador = new Mock(); Assert.AreEqual(1, DefaultPersonaRepository.GetAll().Count); - var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository); var fechaInicioNHibernate = new DateTime(2011, 2, 26, 18, 0, 0, DateTimeKind.Utc); var fechaTerminoNHibernate = fechaInicioNHibernate.AddHours(2); @@ -50,7 +50,7 @@ publicador.Setup(p => p.Publicar(It.IsAny>())).Callback>( t => evento = t.First().Evento); - var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository); agenda.RegistrarPonente("Fabio Maulo", "fabiomaulo@gmail.com", "@fabiomaulo", "http://fabiomaulo.blogspot.com"); var fechaInicio = new DateTime(2011, 2, 26, 18, 0, 0, DateTimeKind.Utc); @@ -77,7 +77,7 @@ publicador.Setup(p => p.Publicar(It.IsAny>())).Callback>( t => evento = t.First().Evento); - var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador.Object, DefaultEventoRepository, DefaultPersonaRepository); var fechaInicio = new DateTime(2011, 2, 26, 18, 0, 0, DateTimeKind.Utc); var fechaTermino = fechaInicio.AddHours(2); @@ -96,7 +96,7 @@ [Test] public void Quitar_ponente_de_un_evento() { - var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); const string titulo = "Audit (parallel model) con NHibernate 3"; Guid eventoId; @@ -127,7 +127,7 @@ [Test] public void Cambiar_ponente_de_un_evento() { - var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); const string titulo = "Audit (parallel model) con NHibernate 3"; Guid eventoId; diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs --- a/Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs Wed Aug 24 08:41:34 2011 -0300 @@ -17,7 +17,7 @@ [Test] public void Crear_modificar_y_publicar_evento_propuesto() { - var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); agenda.Proponer("Van", null, urlInvitacion, TipoEvento.Van); { @@ -55,7 +55,7 @@ [Test] public void Intentar_agendar_evento_propuesto_sin_indicar_fecha() { - var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); { agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van); @@ -77,7 +77,7 @@ [Test] public void Intentar_agendar_evento_propuesto_sin_indicar_ponente() { - var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); { agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van); @@ -101,7 +101,7 @@ { var idEventoNoExistente = new Guid("99999999999999999999999999999999"); - var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); Assert.Throws(() => agenda.GetEvento(idEventoNoExistente)); } @@ -111,7 +111,7 @@ { var repository = new Mock(); - var agenda = new Agenda(null, repository.Object, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(null, repository.Object, DefaultPersonaRepository); var r = agenda.Proponer(string.Empty, null, urlInvitacion, TipoEvento.Van); Assert.IsFalse(r.Succeful); @@ -122,7 +122,7 @@ [Test] public void Intentar_proponer_evento_sin_usuario_autenticado() { - var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); SetCurrentUser(null, null); @@ -132,7 +132,7 @@ [Test] public void Proponer_evento_correctamente() { - var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van); IList eventosPropuestos = agenda.GetEventosActivos(EventoPropuestoState.GetInstance()); @@ -144,7 +144,7 @@ [Test] public void Verificar_propuesta_separada_de_publicacion() { - var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(null, DefaultEventoRepository, DefaultPersonaRepository); agenda.Proponer("Van propuesta", null, urlInvitacion, TipoEvento.Van); var fechaInicio = DateTime.Now.ToUniversalTime(); diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/TestBase.cs --- a/Agendas/trunk/src/Agendas.Tests/TestBase.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/TestBase.cs Wed Aug 24 08:41:34 2011 -0300 @@ -19,10 +19,10 @@ get { return new PersonaRepository(); } } - protected static IPatrocinadorRepository DefaultPatrocinadorRepository - { - get { return new PatrocinadorRepository(); } - } + //protected static IPatrocinadorRepository DefaultPatrocinadorRepository + //{ + // get { return new PatrocinadorRepository(); } + //} [SetUp] public void LimpiarEventos() @@ -33,7 +33,7 @@ [SetUp] public void PatrocinadoresEventos() { - PatrocinadorRepository.Clear(); + //PatrocinadorRepository.Clear(); } [SetUp] diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/TrackTests.cs --- a/Agendas/trunk/src/Agendas.Tests/TrackTests.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/TrackTests.cs Wed Aug 24 08:41:34 2011 -0300 @@ -15,7 +15,7 @@ { var repository = DefaultEventoRepository; - var agenda = new Agenda(null, repository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(null, repository, DefaultPersonaRepository); var fechaInicio = DateTime.Now.AddDays(5).ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); @@ -51,7 +51,7 @@ { var repository = DefaultEventoRepository; - var agenda = new Agenda(null, repository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(null, repository, DefaultPersonaRepository); var fechaInicio = DateTime.Now.ToUniversalTime(); var fechaTermino = fechaInicio.AddHours(2); diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/Workflows/Workflow.cs --- a/Agendas/trunk/src/Agendas.Tests/Workflows/Workflow.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/Workflows/Workflow.cs Wed Aug 24 08:41:34 2011 -0300 @@ -14,11 +14,11 @@ private Guid _eventoId; public Workflow(IPublicador publicador, IEventoRepository eventoRepository, IPersonaRepository personaRepository, - IPatrocinadorRepository patrocinadorRepository, Func requestEmulator) + Func requestEmulator) { _requestEmulator = requestEmulator; _eventoRepository = eventoRepository; - _agenda = new Agenda(publicador, eventoRepository, personaRepository, patrocinadorRepository); + _agenda = new Agenda(publicador, eventoRepository, personaRepository); } public void Proponer() diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowMemoryTests.cs --- a/Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowMemoryTests.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowMemoryTests.cs Wed Aug 24 08:41:34 2011 -0300 @@ -16,8 +16,7 @@ public void InitPublicador() { _publicador = new Mock(); - _workflow = new Workflow(_publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, - DefaultPatrocinadorRepository, () => new Mock().Object); + _workflow = new Workflow(_publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, () => new Mock().Object); } [Test] diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowNhTests.cs --- a/Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowNhTests.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/Workflows/WorkflowNhTests.cs Wed Aug 24 08:41:34 2011 -0300 @@ -17,7 +17,7 @@ public void InitPublicador() { _publicador = new Mock(); - _workflow = new Workflow(_publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository, () => new RequestEmulator(NhHelper.GetSessionFactory())); + _workflow = new Workflow(_publicador.Object, DefaultEventoRepository, DefaultPersonaRepository, () => new RequestEmulator(NhHelper.GetSessionFactory())); } [Test] diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Twitter.Tests/Publicador_tests.cs --- a/Agendas/trunk/src/Agendas.Twitter.Tests/Publicador_tests.cs Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Twitter.Tests/Publicador_tests.cs Wed Aug 24 08:41:34 2011 -0300 @@ -21,7 +21,7 @@ var publicador = new TwitterPublicador(adapter.Object); - var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository); agenda.Proponer("Identity Providers", null, null, TipoEvento.GrupoEstudio); @@ -43,7 +43,7 @@ var publicador = new TwitterPublicador(adapter.Object); - var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository, DefaultPatrocinadorRepository); + var agenda = new Agenda(publicador, DefaultEventoRepository, DefaultPersonaRepository); agenda.Proponer("Identity Providers", null, null, TipoEvento.GrupoEstudio); adapter.Verify(a => a.Update(It.IsAny(), out message), Times.Once()); diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Web/Content/Site.css --- a/Agendas/trunk/src/Agendas.Web/Content/Site.css Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Web/Content/Site.css Wed Aug 24 08:41:34 2011 -0300 @@ -1,24 +1,24 @@ -/*---------------------------------------------------------- -The base color for this template is #5c87b2. If you'd like -to use a different color start by replacing all instances of -#5c87b2 with your new color. -----------------------------------------------------------*/ -body -{ - background: url("themes/altnethispano/images/header-background.gif") repeat-x scroll 0 0 #FFFFFF; - font-family: Verdana, Tahoma, Arial, "Helvetica Neue", Helvetica, Sans-Serif; - font-size: 70%; - margin: 0; - margin: 0 auto; - width: 1024px; +body { + font-family: Arial, Helvetica, sans-serif; + /* font-family: Tahoma, sans-serif; */ + font-size: 62.5%; + color: #575757; + text-align: left; + margin: 0; padding: 0; - color: #575757; + background: #fff url("themes/altnethispano/images/header-background.gif") repeat-x 0 0; +} +html, body { + height: 100%; +} +*{ + margin: 0; + padding: 0; } -.logo { - float: right; +a img, img { + border: 0; } - a:link { color: #034af3; @@ -43,7 +43,6 @@ margin-bottom: 20px; line-height: 1.6em; } - /* HEADINGS ----------------------------------------------------------*/ h1, h2, h3, h4, h5, h6 @@ -81,118 +80,64 @@ margin-top: 0; } -/* PRIMARY LAYOUT ELEMENTS -----------------------------------------------------------*/ - -/* you can specify a greater or lesser percentage for the -page width. Or, you can specify an exact pixel width. */ -.page +/* Layout */ +.wrapper { - margin-left: auto; - margin-right: auto; + margin: 0 auto; + width: 1024px; } - -#portal { - display: inline; -} - -#header -{ - position: relative; - background: url("themes/altnethispano/images/div_wrapperIn.gif") repeat-x scroll 0 0 #FFFFFF; - margin-bottom: 0px; - padding: 0; -} - -#header h1 +.wrapperIn { - font-weight: bold; - padding: 5px 0; - margin: 0; - border: none; - line-height: 2em; - font-size: 32px !important; + margin: 0 auto; + width: 1024px; + background: #fff url("themes/altnethispano/images/div_wrapperIn.gif") no-repeat 50% 38px; + float: left; } - -#main +#header { - background: url("themes/altnethispano/images/div_content.gif") repeat-x 0 0 #efeff0; - padding: 30px 30px 15px 30px; - height: 540px; - margin-left: auto; - margin-right: auto; - _height: 1px; /* only IE6 applies CSS properties starting with an underscore */ + width: 100%; + height: 122px; + position: relative; } - -#content +.navigation { - margin-bottom: 20px; + height: 38px !important; + background: #7e8080 url("themes/altnethispano/images/div_navigation.gif") repeat-x 0 100%; + width: 100% !important; } - -#footer +.page { - color: #999; - padding: 10px 0; - text-align: center; - line-height: normal; - margin: 0; - font-size: .9em; - background-color: #efeff0; + margin: 0 auto; + padding: 0 10px; + width: 1004px; + float: left; + background: transparent url("themes/altnethispano/images/div_content.gif") no-repeat 50% 100%; } - -/* TAB MENU -----------------------------------------------------------*/ -ul#menu +#main { - padding: 50px 0px 0px; - position: relative; - margin: 0; - text-align: right; + width: 794px; + float: left; + font-size: 1.4em; + line-height:120%; + padding: 20px 20px 0 30px; } - -ul#menu li -{ - background: url("themes/altnethispano/images/menu.png") repeat-y scroll 0 0 #fff; - border: 1px solid #979797; - padding: 5px 20px; - display: inline; - list-style: none; - color: #575757; -} - -ul#menu li#greeting +#footer { - font-weight: bold; - text-decoration: none; - line-height: 2.8em; - color: #575757; + width: 100%; + float: left; + margin: 20px 0 0; + padding: 10px 0; + background: transparent url("themes/altnethispano/images/ul_topsponsors_li.gif") repeat-x 0 0; } - -ul#menu li a -{ - font-weight: bold; - text-decoration: none; - line-height: 2.8em; - color: #575757; -} - -ul#menu li a:hover +.userGroupLogo { - background-color: #fff; - text-decoration: none; -} - -ul#menu li a:active -{ - background-color: #fff; - color: #000; - text-decoration: none; -} - -ul#menu li.selected a -{ - background-color: #fff; - color: #000; + padding: 0 10px; + width: 205px; + height: 88px; + background: transparent url("themes/altnethispano/images/div_logo.png") no-repeat 0 0; + position: absolute; + top: 0; + left: 0; } /* FORM LAYOUT ELEMENTS @@ -227,14 +172,19 @@ width: 200px; border: 1px solid #CCC; } +input[type="checkbox"] +{ + margin: 3px; +} /* TABLE ----------------------------------------------------------*/ table { - border: solid 1px #e8eef4; - border-collapse: collapse; + border: solid 1px #e8eef4; + border-collapse: collapse; + margin-bottom: 5px; } table td @@ -263,17 +213,14 @@ color:Red; } -#menucontainer -{ - margin-top: 7px; - height: 80px; -} - div#title { - display:block; - float:left; - text-align:left; + display: block; + float: left; + left: 250px; + position: absolute; + text-align: left; + top: 30px; } #logindisplay @@ -362,61 +309,6 @@ width: 6em; } -/* Portal menu -------------------------------------------------------*/ -ul#portalmenu -{ - width: 50%; - padding: 0 0; - position: relative; - margin: 0; - text-align: left; - display:inline; -} - -ul#portalmenu li -{ - display: inline; - list-style: none; -} - -ul#portalmenu li#greeting -{ - font-weight: bold; - text-decoration: none; - line-height: 2.8em; - color: #fff; -} - -ul#portalmenu li a -{ - background: url("themes/altnethispano/images/menu.png") repeat-y scroll 0 0 #fff; - border: 1px solid #979797; - padding: 5px 20px; - font-weight: bold; - text-decoration: none; - line-height: 2.8em; - color: #575757; -} - -ul#portalmenu li a:hover -{ - background-color : #E6E6E6; - text-decoration: none; - color: #575757; -} - -ul#portalmenu li a:active -{ - background-color: #a6e2a6; - text-decoration: none; -} - -ul#portalmenu li.selected a -{ - background-color: #fff; - color: #000; -} /* Buttons */ .buttons a @@ -425,4 +317,101 @@ vertical-align: middle; padding: 10px 10px 10px 10px; color: #000; +} + + +/* MENU */ +.RadMenu { + position: relative; + white-space: nowrap; + width: 50%; +} +.RadMenu .rmRootGroup { + display: inline-block; + left: 0; + margin: 0; + padding: 0; + position: relative; +} +.RadMenu .rmHorizontal .rmItem { + clear: none; +} +.RadMenu .rmItem { + float: left; + list-style: none outside none; + position: relative; +} +* html .RadMenu .rmItem { + display: inline; +} +.RadMenu .rmItem { + padding: 0; +} +.RadMenu a.rmLink { + cursor: default; + display: block; +} +.RadMenu .rmLink { + float: left; + outline: 0 none; + padding: 0 0 0 12px; +} +.RadMenu .rmLink { + width: auto; +} +.RadMenu .rmHorizontal .rmText { + padding: 0 12px 1px 0; +} +.RadMenu_Default .rmRootGroup, .RadMenu_Default .rmLink, .RadMenu_Default .rmText, .RadMenu_Default .rmLeftArrow, .RadMenu_Default .rmRightArrow, .RadMenu_Default .rmTopArrow, .RadMenu_Default .rmBottomArrow { + background-color: transparent; + background-image: url("themes/altnethispano/images/menu.png"); +} + +.RadMenu_Default .rmFirst .rmLink, .RadMenu_Default .rmFirst .rmLink:hover, .RadMenu_Default .rmLast .rmText, .RadMenu_Default .rmLast .rmLink:hover .rmText, .RadMenu_Default .rmVertical .rmLink, .RadMenu_Default .rmVertical .rmText { + background-position: 0 500px; + background-repeat: no-repeat; +} +.RadMenu_Default .rmLink, .RadMenu_Default .rmDisabled, .RadMenu_Default .rmDisabled:hover { + background-position: 0 -72px; +} +.RadMenu_Default, .RadMenu_Default .rmLink { + color: #000000; + font: 12px/23px "Segoe UI",Arial,sans-serif; + text-decoration: none; +} +.RadMenu_Default .rmRootGroup, .RadMenu_Default .rmLink, .RadMenu_Default .rmText, .RadMenu_Default .rmLeftArrow, .RadMenu_Default .rmRightArrow, .RadMenu_Default .rmTopArrow, .RadMenu_Default .rmBottomArrow { + background-color: transparent; + background-image: url("themes/altnethispano/images/menu.png"); +} +.RadMenu_Default .rmText, .RadMenu_Default .rmDisabled .rmText, .RadMenu_Default .rmDisabled:hover .rmText { + background-position: 100% -96px; +} + +.RadMenu_Default .rmRootGroup, .RadMenu_Default .rmLink, .RadMenu_Default .rmText, .RadMenu_Default .rmLeftArrow, .RadMenu_Default .rmRightArrow, .RadMenu_Default .rmTopArrow, .RadMenu_Default .rmBottomArrow { + background-color: transparent; + background-image: url("themes/altnethispano/images/menu.png"); +} + +.RadMenu_Default .rmRootGroup { + background-color: #E6E6E6; + background-position: 0 -408px; + background-repeat: repeat-x; + border: 1px solid #828282; +} +.RadMenu_Default .rmLink:hover, .RadMenu_Default .rmFocused, .RadMenu_Default .rmSelected { + background-color: #FFFFFF; +} +.RadMenu_Default, .RadMenu_Default .rmLink { + color: #000000; + font: 12px/23px "Segoe UI",Arial,sans-serif; + text-decoration: none; +} + +.RadMenu .rmText { + float: left; + padding-bottom: 1px; +} + +.RadMenu .rmText { + display: block; } \ No newline at end of file diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Web/Content/themes/altnethispano/images/div_logo.png Binary file Agendas/trunk/src/Agendas.Web/Content/themes/altnethispano/images/div_logo.png has changed diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Web/Content/themes/altnethispano/images/div_navigation.gif Binary file Agendas/trunk/src/Agendas.Web/Content/themes/altnethispano/images/div_navigation.gif has changed diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Web/Content/themes/altnethispano/images/ul_topsponsors_li.gif Binary file Agendas/trunk/src/Agendas.Web/Content/themes/altnethispano/images/ul_topsponsors_li.gif has changed diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Web/Views/Account/LogOn.cshtml --- a/Agendas/trunk/src/Agendas.Web/Views/Account/LogOn.cshtml Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Web/Views/Account/LogOn.cshtml Wed Aug 24 08:41:34 2011 -0300 @@ -1,4 +1,4 @@ -

Log On

+

Ingresar

Seleccione el proveedor con que quiere demostrar su identidad

diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Web/Views/Home/Index.cshtml --- a/Agendas/trunk/src/Agendas.Web/Views/Home/Index.cshtml Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Web/Views/Home/Index.cshtml Wed Aug 24 08:41:34 2011 -0300 @@ -1,4 +1,4 @@ -

Home Page

+

Inicio

Bienvenido al módulo de gestión de VANs de alt.net-hispano, desde aquí podrá: diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Web/Views/Shared/EditorTemplates/DateTime.cshtml --- a/Agendas/trunk/src/Agendas.Web/Views/Shared/EditorTemplates/DateTime.cshtml Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Web/Views/Shared/EditorTemplates/DateTime.cshtml Wed Aug 24 08:41:34 2011 -0300 @@ -1,7 +1,7 @@ @model DateTime? @Html.TextBox(string.Empty, (Model.HasValue ? Model.Value.ToShortDateString() : string.Empty), new { style = "width: 80px" }) diff -r 04972ef8b6d2 -r 1fead4596a98 Agendas/trunk/src/Agendas.Web/Views/Shared/_Layout.cshtml --- a/Agendas/trunk/src/Agendas.Web/Views/Shared/_Layout.cshtml Wed Aug 24 08:40:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Web/Views/Shared/_Layout.cshtml Wed Aug 24 08:41:34 2011 -0300 @@ -28,35 +28,38 @@ - @Html.Partial("_MenuPortal") -

- @Html.Partial("_LogOnPartial") -
- -
-