Beispiel #1
0
        public CheckStatus Validate(PersonaInput input, int tipo)
        {
            CheckStatus checkstatus = new CheckStatus();

            checkstatus.status = Status.Ok;

            string mensaje = "";

            if (tipo == 2)
            {
                if (input.id == 0)
                {
                    mensaje += "Debe ingresar codigo.";
                }
            }

            if (string.IsNullOrWhiteSpace(input.nombre))
            {
                mensaje += "Debe ingresar nombre.";
            }



            if (mensaje.Trim().Length != 0)
            {
                checkstatus.status  = Status.Error;
                checkstatus.message = mensaje;
            }

            return(checkstatus);
        }
Beispiel #2
0
        public CheckStatus Update(PersonaInput input)
        {
            CheckStatus checkstatus = new CheckStatus();
            Persona     persona     = new Persona();

            persona = personaRepository.GetSingleByID(input.id);

            if (persona != null)
            {
                persona.Nombre = input.nombre;
                persona.Fecha  = input.fecha;
                if (input.validaImagen == true)
                {
                    persona.Imagen          = input.imagen;
                    persona.ImagenOriginal  = input.imagenOriginal;
                    persona.ImagenMiniatura = input.imagenMiniatura;
                }

                persona.Eliminado = false;

                checkstatus = Validate(input, 2);
                if (checkstatus.status.Equals(Status.Ok))
                {
                    checkstatus = personaRepository.Update(persona);
                }
            }
            else
            {
                checkstatus.message = "No existe";
                checkstatus.status  = Status.Error;
            }


            return(checkstatus);
        }
        public async Task <IActionResult> guardarNuevaPersona(PersonaInput persona)
        {
            if (ModelState.IsValid)
            {
                Guid idPersona = Guid.NewGuid();
                persona.FamiliaresPersona.PersonaId = idPersona;
                var generalidadesPersona = new CommandStack.Models.DatosGeneralesPersona(persona.GeneralidadesPersona.TipoIdentificacion, persona.GeneralidadesPersona.Identificacion,
                                                                                         persona.GeneralidadesPersona.NombreCompleto, persona.GeneralidadesPersona.FechaNacimiento,
                                                                                         persona.GeneralidadesPersona.Departamento, persona.GeneralidadesPersona.Municipio,
                                                                                         persona.GeneralidadesPersona.Sexo, persona.GeneralidadesPersona.EstadoCivil,
                                                                                         persona.GeneralidadesPersona.ProfesionOficio, persona.GeneralidadesPersona.GrupoVulnerable,
                                                                                         persona.GeneralidadesPersona.GrupoEtnico, persona.GeneralidadesPersona.Nacionalidad,
                                                                                         persona.GeneralidadesPersona.EstructuraCriminal
                                                                                         );

                var hijos = new List <CommandStack.Models.DatosHijoPersona>();

                foreach (var hijo in persona.FamiliaresPersona.Hijos)
                {
                    hijos.Add(new CommandStack.Models.DatosHijoPersona(hijo.NombreCompleto, hijo.EdadHijo));
                }

                var familiaresPersona = new CommandStack.Models.DatosFamiliaresPersona(persona.FamiliaresPersona.PersonaId, persona.FamiliaresPersona.TieneHijos,
                                                                                       hijos, persona.FamiliaresPersona.NombreConyuge,
                                                                                       persona.FamiliaresPersona.NombreMadre, persona.FamiliaresPersona.NombrePadre
                                                                                       );
                var domiciliosPersona = new List <CommandStack.Models.DatosDomiciliosPersona>();
                var telefonosPersona  = new List <CommandStack.Models.TelefonoPersona>();
                var correosPersona    = new List <CommandStack.Models.CorreoPersona>();

                foreach (var domicilio in persona.DomiciliosPersona)
                {
                    domiciliosPersona.Add(new CommandStack.Models.DatosDomiciliosPersona(idPersona, domicilio.Departamento, domicilio.Municipio, domicilio.Ciudad, domicilio.BarrioColoniaResidencia, domicilio.Direccion, domicilio.AquiRecibeCitacion));
                }

                foreach (var telefono in persona.TelefonosPersona)
                {
                    telefono.TelefonoId = Guid.NewGuid();
                    telefonosPersona.Add(new CommandStack.Models.TelefonoPersona(idPersona, telefono.TipoTelefono, telefono.Telefono));
                }

                foreach (var correo in persona.CorreosPersona)
                {
                    correo.CorreoId = Guid.NewGuid();
                    correosPersona.Add(new CommandStack.Models.CorreoPersona(idPersona, correo.Correo));
                }

                var nuevaPersona = new CommandStack.Commands.RegistrarPersonaCommand(idPersona, generalidadesPersona, familiaresPersona, domiciliosPersona, telefonosPersona, correosPersona);

                var result = await mediator.Send(nuevaPersona);

                //var saga=(Personas.CommandStack.Sagas.PersonaSaga)serviceProvider.GetService(typeof(Personas.CommandStack.Sagas.PersonaSaga));
                //await saga.Handle(nuevaPersona, new System.Threading.CancellationToken());

                return(Ok());
            }
            return(BadRequest(ModelState));
        }
Beispiel #4
0
        public CheckStatus Add(PersonaInput input)
        {
            CheckStatus checkstatus = new CheckStatus();
            Persona     persona     = new Persona();

            persona.IdPersona       = 0;
            persona.Nombre          = input.nombre;
            persona.Fecha           = input.fecha;
            persona.Imagen          = input.imagen;
            persona.ImagenOriginal  = input.imagenOriginal;
            persona.ImagenMiniatura = input.imagenMiniatura;

            persona.Eliminado = false;

            checkstatus = Validate(input, 1);
            if (checkstatus.status.Equals(Status.Ok))
            {
                checkstatus = personaRepository.Add(persona);
            }
            return(checkstatus);
        }
Beispiel #5
0
        public async Task <IActionResult> Post([FromForm] PersonaFormInput input)
        {
            string url             = "";
            string imagenOriginal  = "";
            string imagen          = "";
            string imagenMiniatura = "";
            bool   actualiza       = false;

            if (input.imagen != null)
            {
                if (input.imagen.Length != 0)
                {
                    DateTime fechaActual = new DateTime();
                    fechaActual    = DateTime.Now;
                    imagenOriginal = input.imagen.FileName;
                    imagen         = String.Format("{0}{1}{2}{3}{4}{5}-{6}"
                                                   , fechaActual.Year, fechaActual.Month, fechaActual.Day,
                                                   fechaActual.Hour, fechaActual.Minute, fechaActual.Second,
                                                   input.imagen.FileName);

                    var rutaImagenOriginal = Path.Combine(environment.ContentRootPath, @"uploads/imagen/original", imagen);
                    url = HttpContext.Request.Host.Value;

                    using (var stream = new FileStream(rutaImagenOriginal, FileMode.Create))
                    {
                        await input.imagen.CopyToAsync(stream);
                    }
                    actualiza = true;

                    //guardar  miniatura
                    imagenMiniatura = String.Format("{0}{1}{2}{3}{4}{5}-m{6}"
                                                    , fechaActual.Year, fechaActual.Month, fechaActual.Day,
                                                    fechaActual.Hour, fechaActual.Minute, fechaActual.Second,
                                                    input.imagen.FileName);
                    var rutaImagenMiniatura = "";
                    rutaImagenMiniatura = Path.Combine(environment.ContentRootPath, @"uploads/imagen/miniatura", imagenMiniatura);
                    using (Image <Rgba32> image = Image.Load(rutaImagenOriginal))
                    {
                        image.Mutate(x => x
                                     .Resize(image.Width / 2, image.Height / 2)
                                     .Grayscale());
                        image.Save(rutaImagenMiniatura); // Automatic encoder selected based on extension.
                    }
                }
            }

            string urlImagen = "/uploads/imagen/original/original.png";

            if (actualiza == true)
            {
                urlImagen = "/uploads/imagen/original/" + imagen;
            }
            CheckStatus  checkStatus  = new CheckStatus();
            PersonaInput personaInput = new PersonaInput();

            personaInput.id              = 0;
            personaInput.nombre          = input.nombre;
            personaInput.fecha           = input.fecha;
            personaInput.imagenOriginal  = imagenOriginal;
            personaInput.imagen          = imagen;
            personaInput.imagenMiniatura = imagenMiniatura;
            personaInput.validaImagen    = actualiza;
            checkStatus = personaRepository.Add(personaInput);


            if (checkStatus.status.Equals(Status.Error))
            {
                return(StatusCode(422, checkStatus));
            }
            else
            {
                checkStatus.codigo = urlImagen;
            }
            return(Ok(checkStatus));
        }