Exemple #1
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                int PersonaId  = request.PersonaId;
                var detail     = request.PersonaDetalleLista;
                var PersonaUpd = await _contexto.Persona.Where(x => x.PersonaId == PersonaId).FirstOrDefaultAsync();

                PersonaUpd.Nombre        = request.Nombre;
                PersonaUpd.Apellido      = request.Apellido;
                PersonaUpd.FecNacimiento = request.FecNacimiento;
                PersonaUpd.Documento     = request.Documento;
                PersonaUpd.TipoDocumento = request.TipoDocumento;

                var value = await _contexto.SaveChangesAsync();

                if (value == 0)
                {
                    throw new Exception("No se pudo actualizar a la  Persona");
                }

                var ListPersonaDetalleUpdContext = await _contexto.PersonaDetalle.Where(x => x.PersonaId == PersonaId).ToListAsync();

                //Update detail
                foreach (var obj in ListPersonaDetalleUpdContext)
                {
                    var personaDetalleUpd = detail.Where(x => x.PersonaDetalleId == obj.PersonaDetalleId).FirstOrDefault();
                    if (personaDetalleUpd != null)
                    {
                        obj.Direccion = personaDetalleUpd.Direccion;
                        obj.Email     = personaDetalleUpd.Email;
                        obj.Telefono  = personaDetalleUpd.Telefono;
                    }
                }
                //Insert detail
                foreach (var obj in detail)
                {
                    if (obj.PersonaDetalleId == 0)
                    {
                        _contexto.PersonaDetalle.Add(obj);
                    }
                }
                ;

                value = await _contexto.SaveChangesAsync();

                if (value > 0)
                {
                    return(Unit.Value);
                }

                throw new Exception("No se pudo guardar el detalle de la Persona");
            }
Exemple #2
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var persona = new Persona
                {
                    Nombre           = request.Nombre,
                    Apellido         = request.Apellido,
                    FecNacimiento    = request.FecNacimiento,
                    Documento        = request.Documento,
                    TipoDocumento    = request.TipoDocumento,
                    imageUrl         = request.imageUrl,
                    imageStorageName = request.imageStorageName
                };

                _contexto.Persona.Add(persona);
                var value = await _contexto.SaveChangesAsync();

                if (value == 0)
                {
                    throw new Exception("No se pudo guardar el Persona");
                }

                int PersonaId = persona.PersonaId;

                if (request.PersonaDetalleLista != null)
                {
                    foreach (var obj in request.PersonaDetalleLista)
                    {
                        var detalle = new PersonaDetalle
                        {
                            PersonaId = PersonaId,
                            Direccion = obj.Direccion,
                            Email     = obj.Email,
                            Telefono  = obj.Telefono
                        };
                        _contexto.PersonaDetalle.Add(detalle);
                    }

                    value = await _contexto.SaveChangesAsync();

                    if (value > 0)
                    {
                        return(Unit.Value);
                    }
                    throw new Exception("No se pudo guardar el detalle de la Persona");
                }

                return(Unit.Value);
            }
Exemple #3
0
            public async Task <Unit> Handle(DeletePersona request, CancellationToken cancellationToken)
            {
                _contexto.Persona.Remove(new Persona()
                {
                    PersonaId = request.PersonaId
                });
                var value = await _contexto.SaveChangesAsync();

                if (value > 0)
                {
                    return(Unit.Value);
                }

                throw new Exception("No se pudo eliminar a la Persona");
            }