示例#1
0
        public async Task <Response> EditarContactoEmergenciaEmpleado([FromBody] ContactoEmergenciaViewModel contactoEmergenciaViewModel)
        {
            var transaction = await db.Database.BeginTransactionAsync();

            try
            {
                using (transaction)
                {
                    if (contactoEmergenciaViewModel == null)
                    {
                        return(new Response
                        {
                            IsSuccess = false,
                            Message = Mensaje.ModeloInvalido
                        });
                    }

                    var PersonaActual = await db.Persona.Where(x => x.IdPersona == contactoEmergenciaViewModel.IdPersona).FirstOrDefaultAsync();

                    if (PersonaActual == null)
                    {
                        return(new Response {
                            IsSuccess = false, Message = Mensaje.RegistroNoEncontrado
                        });
                    }

                    PersonaActual.Nombres         = contactoEmergenciaViewModel.Nombre;
                    PersonaActual.Apellidos       = contactoEmergenciaViewModel.Apellido;
                    PersonaActual.TelefonoCasa    = contactoEmergenciaViewModel.TelefonoCasa;
                    PersonaActual.TelefonoPrivado = contactoEmergenciaViewModel.TelefonoPrivado;
                    var contactoEmergencia = await db.EmpleadoContactoEmergencia.Where(x => x.IdPersona == contactoEmergenciaViewModel.IdPersona).FirstOrDefaultAsync();

                    if (contactoEmergencia == null)
                    {
                        return(new Response {
                            IsSuccess = false, Message = Mensaje.RegistroNoEncontrado
                        });
                    }

                    contactoEmergencia.IdParentesco = contactoEmergenciaViewModel.IdParentesco;
                    await db.SaveChangesAsync();

                    transaction.Commit();
                    return(new Response {
                        IsSuccess = true, Resultado = PersonaActual
                    });
                }
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Error,
                });
            }
        }
示例#2
0
        public async Task <Response> InsertarEmpleadoContactoEmergencia([FromBody] ContactoEmergenciaViewModel contactoEmergenciaViewModel)
        {
            using (var transaction = await db.Database.BeginTransactionAsync())
            {
                try
                {
                    var persona = new Persona()
                    {
                        Nombres         = contactoEmergenciaViewModel.Nombre,
                        Apellidos       = contactoEmergenciaViewModel.Apellido,
                        TelefonoPrivado = contactoEmergenciaViewModel.TelefonoPrivado,
                        TelefonoCasa    = contactoEmergenciaViewModel.TelefonoCasa,
                    };

                    //1. Insertar Persona

                    var personaInsertarda = await db.Persona.AddAsync(persona);

                    await db.SaveChangesAsync();

                    //2. Insertar EmpleadoFamiliar
                    var empleadoContactoEmergencia = new EmpleadoContactoEmergencia()
                    {
                        IdPersona    = personaInsertarda.Entity.IdPersona,
                        IdEmpleado   = contactoEmergenciaViewModel.IdEmpleado,
                        IdParentesco = contactoEmergenciaViewModel.IdParentesco
                    };
                    var empleadoContactoEmergenciaInsertado = await db.EmpleadoContactoEmergencia.AddAsync(empleadoContactoEmergencia);

                    await db.SaveChangesAsync();

                    transaction.Commit();

                    return(new Response
                    {
                        IsSuccess = true,
                        Message = Mensaje.Satisfactorio,
                        Resultado = empleadoContactoEmergenciaInsertado.Entity
                    });
                }
                catch (Exception)
                {
                    transaction.Rollback();

                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.Error,
                    });
                }
            }
        }
示例#3
0
        public async Task <Response> EliminarContactoEmergencia([FromBody] ContactoEmergenciaViewModel contactoEmergenciaViewModel)
        {
            using (var transaction = await db.Database.BeginTransactionAsync())
            {
                try
                {
                    //Eliminar Persona
                    var respuestaContactoEmergencia = await db.EmpleadoContactoEmergencia.Where(m => m.IdEmpleadoContactoEmergencia == contactoEmergenciaViewModel.IdEmpleadoContactoEmergencia).FirstOrDefaultAsync();

                    if (respuestaContactoEmergencia == null)
                    {
                        return(new Response {
                            IsSuccess = false, Message = Mensaje.RegistroNoEncontrado
                        });
                    }

                    var respuestaPersona = await db.Persona.Where(m => m.IdPersona == respuestaContactoEmergencia.IdPersona).FirstOrDefaultAsync();

                    if (respuestaPersona == null)
                    {
                        return(new Response {
                            IsSuccess = false, Message = Mensaje.RegistroNoEncontrado,
                        });
                    }
                    db.EmpleadoContactoEmergencia.Remove(respuestaContactoEmergencia);
                    db.Persona.Remove(respuestaPersona);
                    await db.SaveChangesAsync();

                    transaction.Commit();


                    return(new Response
                    {
                        IsSuccess = true,
                    });
                }

                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.Error,
                    });
                }
            }
        }
示例#4
0
        public async Task <Response> ObtenerContactoEmergenciaPorEmpleado([FromBody] ContactoEmergenciaViewModel contactoEmergenciaViewModel)
        {
            try
            {
                //db.EmpleadoContactoEmergencia.Include(x => x.Persona).Include(x => x.Empleado).Include(x => x.Parentesco).SingleOrDefaultAsync(m => m.IdEmpleado == empleadoContactoEmergencia.IdEmpleado);
                var contactoEmergencia = await db.EmpleadoContactoEmergencia.Where(x => x.IdEmpleadoContactoEmergencia == contactoEmergenciaViewModel.IdEmpleadoContactoEmergencia)
                                         .Select(c => new ContactoEmergenciaViewModel
                {
                    Apellido     = c.Persona.Apellidos,
                    IdEmpleado   = c.IdEmpleado,
                    IdParentesco = c.IdParentesco,
                    IdEmpleadoContactoEmergencia = c.IdEmpleadoContactoEmergencia,
                    IdPersona       = c.IdPersona,
                    Nombre          = c.Persona.Nombres,
                    Parentesco      = c.Parentesco.Nombre,
                    TelefonoCasa    = c.Persona.TelefonoCasa,
                    TelefonoPrivado = c.Persona.TelefonoPrivado,
                }).FirstOrDefaultAsync();

                if (contactoEmergencia != null)
                {
                    return(new Response {
                        IsSuccess = true, Resultado = contactoEmergencia
                    });
                }

                return(new Response {
                    IsSuccess = false
                });
            }
            catch (Exception)
            {
                return(new Response {
                    IsSuccess = false
                });
            }
        }