changeset 157:f17252543cbf

Agregando la url del blog a los datos de la persona
author Nelo@Guinea.neluz.int
date Thu, 04 Aug 2011 18:45:18 -0300
parents 6e554de521aa
children 734d3f0853bf f6e4af3a0b09
files Agendas/trunk/src/Agendas.Domain/Persona.cs Agendas/trunk/src/Agendas.Domain/Services/PersonaService.cs Agendas/trunk/src/Agendas.Tests/PersonaServiceTests.cs Agendas/trunk/src/Agendas.Web/Controllers/PersonaController.cs Agendas/trunk/src/Agendas.Web/Models/PersonaModel.cs
diffstat 5 files changed, 27 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Persona.cs	Thu Aug 04 18:44:57 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Persona.cs	Thu Aug 04 18:45:18 2011 -0300
@@ -31,7 +31,7 @@
 
 		public virtual string Twitter { get; set; }
 
-		public virtual string Blog { get; private set; }
+		public virtual string Blog { get; set; }
 
 		public virtual IEnumerable<Cuenta> Cuentas
 		{
--- a/Agendas/trunk/src/Agendas.Domain/Services/PersonaService.cs	Thu Aug 04 18:44:57 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Services/PersonaService.cs	Thu Aug 04 18:45:18 2011 -0300
@@ -63,15 +63,15 @@
 	        return _personaRepository.Get(id);
 	    }
 
-        public Resultado Add(string nombre, string twitter, string mail)
+        public Resultado Add(string nombre, string twitter, string mail, string blog)
         {
-            var persona = new Persona(nombre) {Twitter = twitter, Mail = mail};
+            var persona = new Persona(nombre) {Twitter = twitter, Mail = mail, Blog = blog};
             _personaRepository.Save(persona);
 
             return new Resultado(true);
         }
 
-	    public Resultado Update(Guid id, string nombre, string twitter, string mail)
+		public Resultado Update(Guid id, string nombre, string twitter, string mail, string blog)
 	    {
 	        var persona = _personaRepository.Get(id);
             if (persona == null)
@@ -81,6 +81,9 @@
 	        persona.Nombre = nombre;
 	        persona.Twitter = twitter;
 	        persona.Mail = mail;
+			persona.Blog = blog;
+
+			//TODO: ¿que hacemos con la cuenta de twitter asociada?
 
 	        return new Resultado(true);
 	    }
--- a/Agendas/trunk/src/Agendas.Tests/PersonaServiceTests.cs	Thu Aug 04 18:44:57 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/PersonaServiceTests.cs	Thu Aug 04 18:45:18 2011 -0300
@@ -66,7 +66,7 @@
             var personaRepository = DefaultPersonaRepository;
 
             var personaService = new PersonaService(personaRepository);
-            var r = personaService.Add("Mariano Pauselli", "marianopauselli", string.Empty);
+            var r = personaService.Add("Mariano Pauselli", "marianopauselli", string.Empty, string.Empty);
             Assert.IsTrue(r.Succeful);
 
             var todas = personaService.GetAll();
@@ -81,7 +81,7 @@
             Assert.AreEqual(p1, p2);
             Assert.AreSame(p1, p2);
 
-            personaService.Update(personaId, p1.Nombre, p1.Twitter, "marianopauselli@gmail.com");
+            personaService.Update(personaId, p1.Nombre, p1.Twitter, "marianopauselli@gmail.com", string.Empty);
 
             var p3 = personaService.GetById(personaId);
             Assert.IsNotNull(p3);
--- a/Agendas/trunk/src/Agendas.Web/Controllers/PersonaController.cs	Thu Aug 04 18:44:57 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Controllers/PersonaController.cs	Thu Aug 04 18:45:18 2011 -0300
@@ -29,14 +29,13 @@
             if (ModelState.IsValid)
             {
                 var personas = AgendaFactory.GetPersonaService();
-                var r = personas.Add(model.Nombre, model.Twitter, model.EMail);
+                var r = personas.Add(model.Nombre, model.Twitter, model.EMail,model.Blog);
                 if (r.Succeful)
                 {
                     this.AddNotification("Los datos fueron guardados");
                     return RedirectToAction("Index");
                 }
-                else
-                    this.AddError(r.Message);
+            	this.AddError(r.Message);
             }
 
             return View("Defaulteditor", model);
@@ -53,8 +52,14 @@
                 return RedirectToAction("Index");
             }
 
-            var model = new PersonaEditModel
-                            {Id = persona.Id.ToString(), Nombre = persona.Nombre, Twitter = persona.Twitter, EMail = persona.Mail};
+        	var model = new PersonaEditModel
+        	            	{
+        	            		Id = persona.Id.ToString(),
+        	            		Nombre = persona.Nombre,
+        	            		Twitter = persona.Twitter,
+        	            		EMail = persona.Mail,
+        	            		Blog = persona.Blog
+        	            	};
 
             return View("Defaulteditor", model);
         }
@@ -65,14 +70,13 @@
             if (ModelState.IsValid)
             {
                 var personas = AgendaFactory.GetPersonaService();
-                var r = personas.Update(new Guid(model.Id), model.Nombre, model.Twitter, model.EMail);
+                var r = personas.Update(new Guid(model.Id), model.Nombre, model.Twitter, model.EMail, model.Blog);
                 if (r.Succeful)
                 {
                     this.AddNotification("Los datos fueron guardados");
                     return RedirectToAction("Index");
                 }
-                else
-                    this.AddError(r.Message);
+            	this.AddError(r.Message);
             }
 
             return View("Defaulteditor", model);
--- a/Agendas/trunk/src/Agendas.Web/Models/PersonaModel.cs	Thu Aug 04 18:44:57 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Models/PersonaModel.cs	Thu Aug 04 18:45:18 2011 -0300
@@ -19,6 +19,9 @@
 
         [Required]
         public string EMail { get; set; }
+
+		[DataType(DataType.Url)]
+    	public string Blog { get; set; }
     }
 
     public class PersonaEditModel
@@ -35,6 +38,9 @@
 
         [Required]
         public string EMail { get; set; }
+
+		[DataType(DataType.Url)]
+    	public string Blog { get; set; }
     }
 
     public class PersonaDto