public async Task <Response> ActualizarFormularioAnalisisOcupacional([FromBody] DocumentoFAOViewModel formularioAnalisisOcupacional) { using (var transaction = db.Database.BeginTransaction()) { try { int fecha = DateTime.Now.Year; if (ModelState.IsValid) { var empleado = db.FormularioAnalisisOcupacional.Where(x => x.IdEmpleado == formularioAnalisisOcupacional.IdEmpleado && x.Anio == fecha).FirstOrDefault(); if (empleado != null) { empleado.MisionPuesto = formularioAnalisisOcupacional.Mision; empleado.Estado = 0; empleado.InternoMismoProceso = formularioAnalisisOcupacional.InternoMismoProceso; empleado.InternoOtroProceso = formularioAnalisisOcupacional.InternoOtroProceso; empleado.ExternosCiudadania = formularioAnalisisOcupacional.ExternosCiudadania; empleado.ExtPersJuridicasPubNivelNacional = formularioAnalisisOcupacional.ExtPersJuridicasPubNivelNacional; db.FormularioAnalisisOcupacional.Update(empleado); await db.SaveChangesAsync(); foreach (var item in formularioAnalisisOcupacional.ListActividades) { if (item != null) { var actividad = new ActividadesAnalisisOcupacional(); actividad.Actividades = item; actividad.IdFormularioAnalisisOcupacional = empleado.IdFormularioAnalisisOcupacional; db.ActividadesAnalisisOcupacional.Add(actividad); } } await db.SaveChangesAsync(); transaction.Commit(); return(new Response { IsSuccess = true, Message = Mensaje.Satisfactorio }); } } return(new Response { IsSuccess = false, Message = Mensaje.Error }); } catch (Exception ex) { transaction.Rollback(); return(new Response { IsSuccess = false, Message = Mensaje.Error, }); } } }
public async Task <Response> ActualizarActividades([FromBody] DocumentoFAOViewModel documentoFAOViewModel) { using (var transaction = db.Database.BeginTransaction()) { try { //BUscar el id de empleado logueado var empleado = await db.Empleado.Include(x => x.Persona).Where(x => x.NombreUsuario == documentoFAOViewModel.NombreUsuario).FirstOrDefaultAsync(); var activarAnalisiOcupacional = new ActividadesAnalisisOcupacional(); foreach (var item in documentoFAOViewModel.ListaActividads) { activarAnalisiOcupacional = db.ActividadesAnalisisOcupacional.Where(x => x.IdActividadesAnalisisOcupacional == Convert.ToInt32(item)).FirstOrDefault(); activarAnalisiOcupacional.Cumple = true; db.ActividadesAnalisisOcupacional.Update(activarAnalisiOcupacional); } await db.SaveChangesAsync(); //cambia de estado en el formulario en FormularioAnalisis Ocupacional var formularioAnalisisOcupacional = db.FormularioAnalisisOcupacional.Where(x => x.IdFormularioAnalisisOcupacional == activarAnalisiOcupacional.IdFormularioAnalisisOcupacional).FirstOrDefault(); formularioAnalisisOcupacional.Estado = 1; db.FormularioAnalisisOcupacional.Update(formularioAnalisisOcupacional); await db.SaveChangesAsync(); //Insercion en la tabla validadrimediato superior var validacionSuperior = new ValidacionInmediatoSuperior(); validacionSuperior.IdFormularioAnalisisOcupacional = activarAnalisiOcupacional.IdFormularioAnalisisOcupacional; validacionSuperior.IdEmpleado = empleado.IdEmpleado; validacionSuperior.Fecha = DateTime.Now; db.ValidacionInmediatoSuperior.Add(validacionSuperior); await db.SaveChangesAsync(); // inserta la exepciones si lo tuviera //var validacionjefesuperior = await db.ValidacionInmediatoSuperior.Where(x=> x.Fecha == DateTime.Now.Date).FirstOrDefaultAsync(); foreach (var item in documentoFAOViewModel.ListaExepciones) { if (item != null) { var exepcion = new Exepciones(); exepcion.IdValidacionJefe = validacionSuperior.IdValidacionJefe; exepcion.Detalle = item; db.Exepciones.Add(exepcion); } } await db.SaveChangesAsync(); transaction.Commit(); return(new Response { IsSuccess = true, Message = Mensaje.Satisfactorio }); } catch (Exception ex) { transaction.Rollback(); return(new Response { IsSuccess = false, Message = Mensaje.Error, }); } } }