public static FichaIngreso ConsultarFichaIngreso(int id) { FichaIngreso objeto = new FichaIngreso(); try { objeto = db.ConsultarFichaIngreso(id).FirstOrDefault(); return(objeto); } catch (Exception) { return(objeto); } }
public ActionResult Edit(FichaIngreso formulario, List <DetalleEstudios> estudios, List <DetalleExperiencias> experiencias, List <DetalleCargasFamiliares> cargasFamiliares, Usuario usuario) { string FileName = string.Empty; try { estudios = estudios ?? new List <DetalleEstudios>(); experiencias = experiencias ?? new List <DetalleExperiencias>(); cargasFamiliares = cargasFamiliares ?? new List <DetalleCargasFamiliares>(); estudios = estudios ?? new List <DetalleEstudios>(); experiencias = experiencias ?? new List <DetalleExperiencias>(); cargasFamiliares = cargasFamiliares ?? new List <DetalleCargasFamiliares>(); var fichaIngreso = HttpContext.Request.Params.Get("formulario"); formulario = JsonConvert.DeserializeObject <FichaIngresoOverload>(fichaIngreso, settingsJsonDeserilize).formulario; var datosUsuario = HttpContext.Request.Params.Get("usuario"); usuario = JsonConvert.DeserializeObject <UsuarioOverload>(datosUsuario).usuario; var dataEstudios = HttpContext.Request.Params.Get("estudios"); estudios = JsonConvert.DeserializeObject <EstudiosOverload>(dataEstudios).estudios; var dataExperiencias = HttpContext.Request.Params.Get("experiencias"); experiencias = JsonConvert.DeserializeObject <ExperienciaOverload>(dataExperiencias, settingsJsonDeserilize).experiencias; var dataCargasFamiliares = HttpContext.Request.Params.Get("cargasFamiliares"); cargasFamiliares = JsonConvert.DeserializeObject <CargasFamiliaresOverload>(dataCargasFamiliares, settingsJsonDeserilize).cargasFamiliares; //Usuario usuario.IdUsuario = formulario.UsuarioID; //Obtener archivos HttpFileCollectionBase files = Request.Files; for (int i = 0; i < files.Count; i++) { HttpPostedFileBase file = files[i]; string path = string.Empty; // Checking for Internet Explorer if (Request.Browser.Browser.ToUpper() == "IE" || Request.Browser.Browser.ToUpper() == "INTERNETEXPLORER") { string[] testfiles = file.FileName.Split(new char[] { '\\' }); path = testfiles[testfiles.Length - 1]; } else { path = file.FileName; FileName = file.FileName; } string tipoArchivo = file.ContentType; using (var reader = new BinaryReader(file.InputStream)) { formulario.Foto = reader.ReadBytes(file.ContentLength); } } usuario.Direccion = formulario.DireccionCallePrincipal + " ; " + formulario.DireccionCalleSecundaria + " ; " + formulario.DireccionConjuntoResidencial + " N. " + formulario.DireccionNumeroCasa; var actualizacionDatosUsuario = UsuarioDAL.ActualizarDatosUsuarioFichaIngreso(usuario); if (actualizacionDatosUsuario.Estado) { Resultado = FichaIngresoDAL.ActualizarFichaIngreso(formulario, cargasFamiliares, estudios, experiencias); } else { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = actualizacionDatosUsuario.Respuesta } }, JsonRequestBehavior.AllowGet)); } return(Json(new { Resultado = Resultado }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { Log.Error(ex, "Excepción al editar ficha de ingreso."); return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = ex.Message } }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Create(FichaIngreso formulario, List <DetalleEstudios> estudios, List <DetalleExperiencias> experiencias, List <DetalleCargasFamiliares> cargasFamiliares, Usuario usuario) { string FileName = string.Empty; try { estudios = estudios ?? new List <DetalleEstudios>(); experiencias = experiencias ?? new List <DetalleExperiencias>(); cargasFamiliares = cargasFamiliares ?? new List <DetalleCargasFamiliares>(); var fichaIngreso = HttpContext.Request.Params.Get("formulario"); formulario = JsonConvert.DeserializeObject <FichaIngresoOverload>(fichaIngreso, settingsJsonDeserilize).formulario; var datosUsuario = HttpContext.Request.Params.Get("usuario"); usuario = JsonConvert.DeserializeObject <UsuarioOverload>(datosUsuario).usuario; var dataEstudios = HttpContext.Request.Params.Get("estudios"); estudios = JsonConvert.DeserializeObject <EstudiosOverload>(dataEstudios).estudios; var dataExperiencias = HttpContext.Request.Params.Get("experiencias"); experiencias = JsonConvert.DeserializeObject <ExperienciaOverload>(dataExperiencias, settingsJsonDeserilize).experiencias; var dataCargasFamiliares = HttpContext.Request.Params.Get("cargasFamiliares"); cargasFamiliares = JsonConvert.DeserializeObject <CargasFamiliaresOverload>(dataCargasFamiliares, settingsJsonDeserilize).cargasFamiliares; //Usuario usuario.IdUsuario = formulario.UsuarioID; //Obtener archivos HttpFileCollectionBase files = Request.Files; for (int i = 0; i < files.Count; i++) { HttpPostedFileBase file = files[i]; string path = string.Empty; // Checking for Internet Explorer if (Request.Browser.Browser.ToUpper() == "IE" || Request.Browser.Browser.ToUpper() == "INTERNETEXPLORER") { string[] testfiles = file.FileName.Split(new char[] { '\\' }); path = testfiles[testfiles.Length - 1]; } else { path = file.FileName; FileName = file.FileName; } string tipoArchivo = file.ContentType; using (var reader = new BinaryReader(file.InputStream)) { formulario.Foto = reader.ReadBytes(file.ContentLength); } } usuario.Direccion = formulario.DireccionCallePrincipal + " ; " + formulario.DireccionCalleSecundaria + " ; " + formulario.DireccionConjuntoResidencial + " N. " + formulario.DireccionNumeroCasa; var actualizacionDatosUsuario = UsuarioDAL.ActualizarDatosUsuarioFichaIngreso(usuario); if (actualizacionDatosUsuario.Estado) { var destinatarios = PerfilesDAL.ConsultarCorreoNotificacion(14); string enlace = GetUrlSitio(Url.Action("Index", "FichaIngreso")); string body = GetEmailTemplate("TemplateFormularioIngreso"); body = body.Replace("@ViewBag.EnlaceDirecto", enlace); body = body.Replace("@ViewBag.EnlaceSecundario", enlace); body = body.Replace("@ViewBag.Empleado", usuario.Nombres + " " + usuario.Apellidos); Resultado = FichaIngresoDAL.CrearFichaIngreso(formulario, cargasFamiliares, estudios, experiencias); //Siempre que la ficha de ingreso haya sido creado con éxito. if (Resultado.Estado) { var notificacion = NotificacionesDAL.CrearNotificacion(new Notificaciones { NombreTarea = "Nueva Ficha Ingreso", DescripcionTarea = "Correo de notificación de registro de ficha un nuevo empleado en el corporativo a RRHH y al área médica.", NombreEmisor = nombreCorreoEmisor, CorreoEmisor = correoEmisor, ClaveCorreo = claveEmisor, CorreosDestinarios = destinatarios, AsuntoCorreo = "NOTIFICACION DE FICHA DE INGRESO", NombreArchivoPlantillaCorreo = TemplateNotificaciones, CuerpoCorreo = body, AdjuntosCorreo = "",//ruta, FechaEnvioCorreo = DateTime.Now, Empresa = "ATISCODE", Canal = CanalNotificaciones, Tipo = "FICHA INGRESO", }); } } else { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = actualizacionDatosUsuario.Respuesta } }, JsonRequestBehavior.AllowGet)); } return(Json(new { Resultado = Resultado }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { Log.Error(ex, "Excepción al crear ficha de ingreso."); return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = ex.Message } }, JsonRequestBehavior.AllowGet)); } }
public static RespuestaTransaccion CrearFichaIngreso(FichaIngreso objeto, List <DetalleCargasFamiliares> cargasFamiliares, List <DetalleEstudios> estudios, List <DetalleExperiencias> experiencias) { using (var transaction = db.Database.BeginTransaction()) { try { //Validación de fecha de nacimiento if (objeto.FechaNacimiento > DateTime.Now) { return new RespuestaTransaccion { Estado = false, Respuesta = string.Format(Mensajes.MensajeValidacionRangoFecha, "nacimiento", "actual") } } ; //Validación de fecha de nacimiento de cargas familiares foreach (var item in cargasFamiliares) { if (item.FechaNacimiento > DateTime.Now) { return new RespuestaTransaccion { Estado = false, Respuesta = string.Format(Mensajes.MensajeValidacionRangoFecha, "nacimiento de " + item.Nombres + " ,", "actual") } } ; } //Validación de rango de fechas en experiencias foreach (var item in experiencias) { if (item.FechaInicio > item.FechaFin) { return new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeValidacionRangoFechasInicioFin } } ; } objeto.FechaIngresoFicha = DateTime.Now; db.FichaIngreso.Add(objeto); db.SaveChanges(); int fechaIngresoID = objeto.IDFichaIngreso; foreach (var item in cargasFamiliares) { item.FichaIngresoID = fechaIngresoID; db.DetalleCargasFamiliares.Add(item); db.SaveChanges(); } foreach (var item in experiencias) { item.FichaIngresoID = fechaIngresoID; db.DetalleExperiencias.Add(item); db.SaveChanges(); } foreach (var item in estudios) { item.FichaIngresoID = fechaIngresoID; db.DetalleEstudios.Add(item); db.SaveChanges(); } //Solucion error atach db.Entry(objeto).State = EntityState.Detached; transaction.Commit(); return(new RespuestaTransaccion { Estado = true, Respuesta = Mensajes.MensajeTransaccionExitosa }); } catch (Exception ex) { //Solucion error atach db.Entry(objeto).State = EntityState.Detached; transaction.Rollback(); return(new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida + " ;" + ex.Message.ToString() }); } } }
public static RespuestaTransaccion ActualizarFichaIngreso(FichaIngreso objeto, List <DetalleCargasFamiliares> cargasFamiliares, List <DetalleEstudios> estudios, List <DetalleExperiencias> experiencias) { using (var transaction = db.Database.BeginTransaction()) { try { // assume Entity base class have an Id property for all items var entity = db.FichaIngreso.Find(objeto.IDFichaIngreso); if (entity == null) { return(new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida }); } if (objeto.Foto == null) { objeto.Foto = entity.Foto; } db.Entry(entity).CurrentValues.SetValues(objeto); db.SaveChanges(); int fechaIngresoID = objeto.IDFichaIngreso; #region Actualizar Detalles // Limpiar primero los detalles anteriores var detallesAnterioresCargasFamiliares = db.DetalleCargasFamiliares.Where(s => s.FichaIngresoID == fechaIngresoID).ToList(); foreach (var item in detallesAnterioresCargasFamiliares) { db.DetalleCargasFamiliares.Remove(item); db.SaveChanges(); } //Registrar nuevos detalles foreach (var item in cargasFamiliares) { item.FichaIngresoID = fechaIngresoID; db.DetalleCargasFamiliares.Add(item); db.SaveChanges(); } // Limpiar primero los detalles anteriores var detallesAnterioresExperiencias = db.DetalleExperiencias.Where(s => s.FichaIngresoID == fechaIngresoID).ToList(); foreach (var item in detallesAnterioresExperiencias) { db.DetalleExperiencias.Remove(item); db.SaveChanges(); } foreach (var item in experiencias) { item.FichaIngresoID = fechaIngresoID; db.DetalleExperiencias.Add(item); db.SaveChanges(); } // Limpiar primero los detalles anteriores var detallesAnterioresEstudios = db.DetalleEstudios.Where(s => s.FichaIngresoID == fechaIngresoID).ToList(); foreach (var item in detallesAnterioresEstudios) { db.DetalleEstudios.Remove(item); db.SaveChanges(); } foreach (var item in estudios) { item.FichaIngresoID = fechaIngresoID; db.DetalleEstudios.Add(item); db.SaveChanges(); } #endregion transaction.Commit(); return(new RespuestaTransaccion { Estado = true, Respuesta = Mensajes.MensajeTransaccionExitosa }); } catch (Exception ex) { transaction.Rollback(); return(new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida + " ;" + ex.Message.ToString() }); } } }