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