// GET: Empleado/Edit/5
 public ActionResult Edit(string id)
 {
     try
     {
         using (WSEmpleado.IEmpleadoServiceChannel wsCliente = ObtenerServicioEmpleado())
         {
             CandidatoViewModel model = new CandidatoViewModel(wsCliente.Obtener(new EmpleadoDTO {
                 Dni = id
             }).AsModel());
             model.Sexos  = ListarSexos();
             model.Accion = 2;
             if (!string.IsNullOrEmpty(model.Cv))
             {
                 model.Cv = Path.Combine(ConfigurationManager.AppSettings.Get("rutaWebDoc"), "CV", model.Cv);
             }
             model.EstadosCiviles = ListarEstadosCiviles();
             model.Distritos      = ListarDistritos("000001");
             model.Puestos        = ListarPuestos();
             model.Clientes       = ListarClientes();
             model.Skill          = ListarSkillTecnico(model.IdPuesto);
             return(View(model));
         }
     }
     catch (Exception ex)
     {
         return(RetornarExcepcion(ex));
     }
 }
 // GET: Empleado/Delete/5
 public ActionResult Delete(string id)
 {
     try
     {
         using (WSEmpleado.IEmpleadoServiceChannel wsCliente = ObtenerServicioEmpleado())
             wsCliente.Eliminar(new EmpleadoDTO {
                 Dni = id, UsuarioModificacion = UsuarioLogin().Usuario
             });
         Mostrar_Mensaje_Ok("Contrato cancelado correctamente.");
         return(RedirectToAction("Index"));
     }
     catch (Exception ex)
     {
         //ModelState.AddModelError(string.Empty, ex.Message);
         Mostrar_Mensaje_Error("Error: " + ex.Message);
         //return View("Index");
         return(RedirectToAction("Index"));
     }
 }
 public ActionResult Edit(string id, CandidatoViewModel model)
 {
     try
     {
         EmpleadoModel data = model;
         data.Dni = id;
         if (model.Adjunto.HasFile())
         {
             data.Cv = model.Dni + Path.GetExtension(model.Adjunto.FileName);
             if (System.IO.File.Exists(Path.Combine(ConfigurationManager.AppSettings.Get("rutaLocalDoc"), "CV", data.Cv)))
             {
                 System.IO.File.Delete(Path.Combine(ConfigurationManager.AppSettings.Get("rutaLocalDoc"), "CV", data.Cv));
             }
             model.Adjunto.SaveAs(Path.Combine(ConfigurationManager.AppSettings.Get("rutaLocalDoc"), "CV", data.Cv));
         }
         //data.Estado = "RE";
         data.Cliente = new ClienteModel {
             Id = model.IdCliente
         };
         data.Experiencias        = data.Experiencias.Where(x => x.Accion != 0).ToList();
         data.Estudios            = data.Estudios.Where(x => x.Accion != 0).ToList();
         data.UsuarioModificacion = UsuarioLogin().Usuario;
         using (WSEmpleado.IEmpleadoServiceChannel wsCliente = ObtenerServicioEmpleado())
             wsCliente.Actualizar(data.AsDTO());
         Mostrar_Mensaje_Ok("Empleado actualizado correctamente");
         return(RedirectToAction("Index"));
     }
     catch (Exception ex)
     {
         ModelState.AddModelError(string.Empty, ex.Message);
         model.Sexos          = ListarSexos();
         model.Clientes       = ListarClientes();
         model.EstadosCiviles = ListarEstadosCiviles();
         model.Distritos      = ListarDistritos("000001");
         model.Puestos        = ListarPuestos();
         model.Skill          = ListarSkillTecnico(model.IdPuesto);
         return(View(model));
     }
 }
 public ActionResult Exportar(string estado, string cliente, string puesto, string filtro_por)
 {
     try
     {
         if (estado == "-")
         {
             estado = null;
         }
         if (filtro_por == "-")
         {
             filtro_por = null;
         }
         using (WSEmpleado.IEmpleadoServiceChannel wsCliente = ObtenerServicioEmpleado())
         {
             List <EmpleadoModel> retval = wsCliente.Listar(new EmpleadoDTO
             {
                 Cliente = new ClienteDTO {
                     Id = int.Parse(cliente)
                 },
                 Estado      = estado,
                 IdPuesto    = int.Parse(puesto),
                 Observacion = filtro_por == "" ? null : filtro_por
             }).AsModel();
             List <BoundField> column = new List <BoundField>();
             column.Add(new BoundField {
                 DataField = "Dni", HeaderText = "DNI"
             });
             column.Add(new BoundField {
                 DataField = "Usuario", HeaderText = "Usuario"
             });
             column.Add(new BoundField {
                 DataField = "NombresCompleto", HeaderText = "Nombres"
             });
             column.Add(new BoundField {
                 DataField = "Pretencion", HeaderText = "Sueldo"
             });
             column.Add(new BoundField {
                 DataField = "Puesto", HeaderText = "Puesto"
             });
             column.Add(new BoundField {
                 DataField = "Cliente", HeaderText = "Cliente"
             });
             column.Add(new BoundField {
                 DataField = "TelefonoPersonal", HeaderText = "Telefono"
             });
             column.Add(new BoundField {
                 DataField = "FechaIniContrato", HeaderText = "Inicio Contrato"
             });
             column.Add(new BoundField {
                 DataField = "FechaFinContrato", HeaderText = "Fin Contrato"
             });
             column.Add(new BoundField {
                 DataField = "TotalVacaciones", HeaderText = "Vacaciones Pendientes"
             });
             var data = ExportarExcel(retval, column, "Empleado");
             Response.Output.Write(data.ToString());
             Response.Flush();
             Response.End();
         }
         return(RedirectToAction("Index"));
     }
     catch (Exception ex)
     {
         return(RetornarExcepcion(ex));
     }
 }