Mercurial > altnet-hispano
changeset 79:8df9db937434
Url de invitación en la UI: validación y persistencia
author | nelopauselli |
---|---|
date | Tue, 24 May 2011 18:08:59 -0300 |
parents | 2adf55ea9199 |
children | c2d98fd6593f |
files | Agendas/trunk/src/Agendas.Domain/Agenda.cs Agendas/trunk/src/Agendas.Domain/Evento.cs Agendas/trunk/src/Agendas.Tests/Cruds/EventoCrud.cs Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs Agendas/trunk/src/Agendas.Web/Agendas.Web.csproj Agendas/trunk/src/Agendas.Web/Controllers/PropuestaController.cs Agendas/trunk/src/Agendas.Web/Models/EventoModel.cs Agendas/trunk/src/Agendas.Web/Models/PropuestaModel.cs Agendas/trunk/src/Agendas.Web/packages.config |
diffstat | 9 files changed, 24 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs Tue May 24 17:56:20 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs Tue May 24 18:08:59 2011 -0300 @@ -51,8 +51,8 @@ if (evento.Fecha == null && fecha != null) evento.Agendar(ponente, fecha, urlInvitacion); - else if (evento.Fecha != fecha || evento.Ponente != ponente) - evento.Actualizar(ponente, fecha); + else if (evento.Fecha != fecha || evento.Ponente != ponente || evento.UrlInvitacion != urlInvitacion) + evento.Actualizar(ponente, fecha, urlInvitacion); if (_publicador != null) _publicador.Publicar(evento);
--- a/Agendas/trunk/src/Agendas.Domain/Evento.cs Tue May 24 17:56:20 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Evento.cs Tue May 24 18:08:59 2011 -0300 @@ -112,10 +112,11 @@ AddTracks(new Track(Accion.Agendar)); } - public virtual void Actualizar(Ponente ponente, DateTime? fecha) + public virtual void Actualizar(Ponente ponente, DateTime? fecha, string urlInvitacion) { Ponente = ponente; Fecha = fecha; + UrlInvitacion = urlInvitacion; AddTracks(new Track(Accion.Modificar)); }
--- a/Agendas/trunk/src/Agendas.Tests/Cruds/EventoCrud.cs Tue May 24 17:56:20 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/Cruds/EventoCrud.cs Tue May 24 18:08:59 2011 -0300 @@ -69,7 +69,7 @@ var otroPonente = new Ponente("José"); _ponenteRepository.Save(otroPonente); - van.Actualizar(otroPonente, new DateTime(2010, 04, 17)); + van.Actualizar(otroPonente, new DateTime(2010, 04, 17), null); _eventoRepository.Update(van); }
--- a/Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs Tue May 24 17:56:20 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/PropuestasTests.cs Tue May 24 18:08:59 2011 -0300 @@ -80,7 +80,7 @@ var van = agenda.GetEventosPropuestos().FirstOrDefault(); Assert.IsNotNull(van); - van.Actualizar(null, DateTime.Today.AddDays(5)); + van.Actualizar(null, DateTime.Today.AddDays(5), urlInvitacion); var r = agenda.Agendar(van.Titulo, string.Empty, van.Fecha, urlInvitacion); Assert.IsFalse(r.Succeful);
--- a/Agendas/trunk/src/Agendas.Web/Agendas.Web.csproj Tue May 24 17:56:20 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Web/Agendas.Web.csproj Tue May 24 18:08:59 2011 -0300 @@ -34,6 +34,9 @@ <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> + <Reference Include="DataAnnotationsExtensions"> + <HintPath>..\packages\DataAnnotationsExtensions.0.6.0.0\lib\NETFramework40\DataAnnotationsExtensions.dll</HintPath> + </Reference> <Reference Include="Microsoft.CSharp" /> <Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" /> <Reference Include="System.Web.WebPages" /> @@ -157,6 +160,9 @@ <ItemGroup> <Content Include="Views\Shared\_Menu.cshtml" /> </ItemGroup> + <ItemGroup> + <Content Include="packages.config" /> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
--- a/Agendas/trunk/src/Agendas.Web/Controllers/PropuestaController.cs Tue May 24 17:56:20 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Web/Controllers/PropuestaController.cs Tue May 24 18:08:59 2011 -0300 @@ -60,7 +60,8 @@ { Id = id, Titulo = propuesta.Titulo, - Ponente = propuesta.Ponente != null ? propuesta.Ponente.Nombre : string.Empty + Ponente = propuesta.Ponente != null ? propuesta.Ponente.Nombre : string.Empty, + UrlInvitacion = propuesta.UrlInvitacion }; return View(model); }
--- a/Agendas/trunk/src/Agendas.Web/Models/EventoModel.cs Tue May 24 17:56:20 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Web/Models/EventoModel.cs Tue May 24 18:08:59 2011 -0300 @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Web.Mvc; +using DataAnnotationsExtensions; namespace AltNetHispano.Agendas.Web.Models { @@ -21,6 +22,7 @@ [Required(ErrorMessage = "debe ingresar la fecha del evento")] public DateTime Fecha { get; set; } + [Url] public string UrlInvitacion { get; set; } } @@ -38,6 +40,7 @@ [Required(ErrorMessage = "debe ingresar la fecha del evento")] public DateTime? Fecha { get; set; } + [Url] public string UrlInvitacion { get; set; } }
--- a/Agendas/trunk/src/Agendas.Web/Models/PropuestaModel.cs Tue May 24 17:56:20 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Web/Models/PropuestaModel.cs Tue May 24 18:08:59 2011 -0300 @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Web.Mvc; +using DataAnnotationsExtensions; namespace AltNetHispano.Agendas.Web.Models { @@ -16,6 +17,7 @@ public string Ponente { get; set; } + [Url] public string UrlInvitacion { get; set; } } @@ -29,6 +31,7 @@ public string Ponente { get; set; } + [Url(ErrorMessage = "La url ingresada no es válida")] public string UrlInvitacion { get; set; } }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Agendas/trunk/src/Agendas.Web/packages.config Tue May 24 18:08:59 2011 -0300 @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="DataAnnotationsExtensions" version="0.6.0.0" /> +</packages> \ No newline at end of file