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, }); } }
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, }); } } }
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, }); } } }
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 }); } }