public async Task <IActionResult> Edit(string id, SolicitudVacaciones solicitudVacaciones) { Response response = new Response(); try { if (!string.IsNullOrEmpty(id)) { solicitudVacaciones.FechaSolicitud = DateTime.Now; response = await apiServicio.EditarAsync(id, solicitudVacaciones, new Uri(WebApp.BaseAddress), "api/SolicitudVacaciones"); if (response.IsSuccess) { return(RedirectToAction("Index")); } ViewData["Error"] = response.Message; //ViewData["IdBrigadaSSO"] = new Microsoft.AspNetCore.Mvc.Rendering.SelectList(await apiServicio.Listar<BrigadaSSO>(new Uri(WebApp.BaseAddress), "api/BrigadasSSO/ListarBrigadasSSO"), "IdBrigadaSSO", "Nombre"); return(View(solicitudVacaciones)); } return(BadRequest()); } catch (Exception ex) { return(BadRequest()); } }
public async Task <IActionResult> AprobarSolicitudVacaciones(string id, SolicitudVacaciones solicitudVacaciones) { //var dias = (solicitudVacaciones.FechaHasta.Date - solicitudVacaciones.FechaDesde.Date).Days; Response response = new Response(); try { solicitudVacaciones.FechaRespuesta = DateTime.Now; response = await apiServicio.EditarAsync(solicitudVacaciones.IdEmpleado.ToString(), solicitudVacaciones, new Uri(WebApp.BaseAddress), "api/SolicitudVacaciones"); if (response.IsSuccess) { return(this.Redireccionar( "SolicitudVacaciones", "DetalleSolicitudVacaciones", new { id = solicitudVacaciones.IdEmpleado }, $"{Mensaje.Success}|{response.Message}" )); } return(BadRequest()); } catch (Exception ex) { return(BadRequest()); } }
public async Task <IActionResult> Edit(int id, [Bind("Id,NombreSolicitante,ApellidoSolicitante,NumeroEmpleado,FechaInicio,FechaFin")] SolicitudVacaciones solicitudVacaciones) { if (id != solicitudVacaciones.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(solicitudVacaciones); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SolicitudVacacionesExists(solicitudVacaciones.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(solicitudVacaciones)); }
public async Task <IActionResult> Create([Bind("Id,NombreSolicitante,ApellidoSolicitante,NumeroEmpleado,FechaInicio,FechaFin")] SolicitudVacaciones solicitudVacaciones) { if (ModelState.IsValid) { _context.Add(solicitudVacaciones); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(solicitudVacaciones)); }
protected void btnactualizar_Click(object sender, EventArgs e) { try { List <SolicitudVacaciones> lista = Singleton.opsolicitud.Listarsolicitudes(); var vaca = lista.FirstOrDefault(x => x.IdSolicitud == Convert.ToInt32(DDLidsoli.Text)); if (ValidacionDias(txtfechafinal.Text, txtfechaincio.Text)) { var vacaciones = new SolicitudVacaciones() { IdSolicitud = Convert.ToInt32(DDLidsoli.Text), FechaFinal = Convert.ToDateTime(txtfechafinal.Text), FechaInicio = Convert.ToDateTime(txtfechaincio.Text), Cedula = vaca.Cedula, TotalDias = dias, Condicion = vaca.Condicion, }; Singleton.opsolicitud.ActualizarSolicitud(vacaciones); mensaje.Visible = false; mensajeError.Visible = false; mensajeinfo.Visible = false; mensajawarning.Visible = true; //TimeSpan diferencia = Convert.ToDateTime(txtfechafinal.Text) - Convert.ToDateTime(txtfechadeincio.Text); //var dias = diferencia.TotalDays; //txttotaldias.Text = dias.ToString(); textomensajewarning.InnerHtml = "Solicitud actualizada"; DDLidsoli.DataSource = Singleton.opsolicitud.Listarsolicitudes().Select(x => x.IdSolicitud).ToList(); DDLidsoli.DataBind(); txtfechafinal.Text = string.Empty; txtfechaincio.Text = string.Empty; } else { mensajeError.Visible = true; mensajeinfo.Visible = false; mensajawarning.Visible = false; mensaje.Visible = false; textoMensajeError.InnerHtml = "Cantidad de dias incorrecta"; } } catch (Exception) { mensajawarning.Visible = false; mensajeError.Visible = true; mensajeinfo.Visible = false; mensaje.Visible = false; textoMensajeError.InnerHtml = "Hubo un error"; } }
public async Task <IActionResult> AprobacionSolicitudVacacion(int id) { try { if (id.ToString() != null) { var respuesta = await apiServicio.SeleccionarAsync <Response>(id.ToString(), new Uri(WebApp.BaseAddress), "api/SolicitudVacaciones"); var a = JsonConvert.DeserializeObject <SolicitudVacaciones>(respuesta.Resultado.ToString()); var solicitudVacaciones = new SolicitudVacaciones { IdEmpleado = a.IdEmpleado, }; if (respuesta.IsSuccess) { var empleadoEnviar = new Empleado { IdEmpleado = a.IdEmpleado, }; var empleado = await apiServicio.ObtenerElementoAsync1 <EmpleadoSolicitudViewModel>(empleadoEnviar, new Uri(WebApp.BaseAddress), "api/Empleados/ObtenerDatosEmpleadoSeleccionado"); ViewData["FechaDesde"] = a.FechaDesde; ViewData["FechaHasta"] = a.FechaHasta; ViewData["PlanAnual"] = a.PlanAnual; ViewData["FechaSolicitud"] = a.FechaSolicitud; ViewData["NombresApellidos"] = empleado.NombreApellido; ViewData["Identificacion"] = empleado.Identificacion; await CargarCombos(); return(View(a)); } } return(BadRequest()); } catch (Exception) { return(BadRequest()); } }
protected void btninsertar_Click(object sender, EventArgs e) { try { //DateTime FechaSalida = Convert.ToDateTime(txtidsolicitud.Text); //DateTime FechaRetorno = Convert.ToDateTime(txtfechafinal.Text); //int TotalDias = Convert.ToInt32(FechaRetorno - FechaSalida); if (ValidacionDias(txtfechafinal.Text, txtfechadeincio.Text)) { var vacaciones = new SolicitudVacaciones() { FechaFinal = Convert.ToDateTime(txtfechafinal.Text), FechaInicio = Convert.ToDateTime(txtfechadeincio.Text), Cedula = Login.EmpleadoGlobal.Cedula, TotalDias = dias, Condicion = null, }; Singleton.opsolicitud.InsertarSolicitud(vacaciones); mensaje.Visible = true; //TimeSpan diferencia = Convert.ToDateTime(txtfechafinal.Text) - Convert.ToDateTime(txtfechadeincio.Text); //var dias = diferencia.TotalDays; //txttotaldias.Text = dias.ToString(); textoMensaje.InnerHtml = "Solicitud generada"; } else { mensajeError.Visible = true; mensajeinfo.Visible = false; mensajawarning.Visible = false; mensaje.Visible = false; textoMensajeError.InnerHtml = "Cantidad de dias incorrecta"; txtfechafinal.Focus(); } } catch (Exception) { mensajeError.Visible = true; mensajawarning.Visible = false; mensajeinfo.Visible = false; mensaje.Visible = false; textoMensajeError.InnerHtml = "Ha ocurrido un error"; } }
//public IEnumerable<SolicitudVacaciones> ObtenerSolicitudes(UserViewModel usuario, bool misSolicitudes) //{ // switch (usuario.Role.Name) // { // case "Funcionario": // if(misSolicitudes) // return ObtenerSolicitudesParaFuncionario(usuario.Id); // else // return ObtenerSolicitudesPorUnidadTecnica(usuario.UnidadTecnica.UnidadTecnicaId); // case "Jefatura": // if(misSolicitudes) // return ObtenerSolicitudesParaFuncionario(usuario.Id); // else // return ObtenerSolicitudesPorUnidadTecnica(usuario.UnidadTecnica.UnidadTecnicaId); // case "Director": // if(misSolicitudes) // return ObtenerSolicitudesParaFuncionario(usuario.Id); // else // return ObtenerSolicitudesPorUnidadTecnica(usuario.UnidadTecnica.UnidadTecnicaId); // case "Recursos Humanos": // if (misSolicitudes) // return ObtenerSolicitudesParaFuncionario(usuario.Id); // else // return ObtenerSolicitudesPorUnidadTecnica(usuario.UnidadTecnica.UnidadTecnicaId); // } // return new List<SolicitudVacaciones>(); //} //private IEnumerable<SolicitudVacaciones> ObtenerSolicitudesPorUnidadTecnica(int unidadTecnicaId) //{ // return context.SolicitudesVacaciones // .Where(x => x.Usuario.UnidadTecnicaId == unidadTecnicaId) // .ToList(); //} //private IEnumerable<SolicitudVacaciones> ObtenerSolicitudesParaFuncionario(string id) //{ // return context.SolicitudesVacaciones // .Where(x => x.Usuario.Id == id) // .ToList(); //} public async Task <int> CrearSolicitudVacaciones(SolicitudViewModel solicitud, Guid guid) { var solicitante = userService.ObtenerUsuarioPorId(solicitud.Id); var fechaSolicitud = DateTime.Now; var aprobadorId = ObtenerAprobadorId(solicitud.Id); var solicitudVacaciones = new SolicitudVacaciones() { SolicitudVacacionesId = guid, UsuarioId = solicitud.Id, CantidadDiasSolicitados = solicitud.CantidadDiasSolicitados, EstadoId = 1, Comentario = solicitud.Comentario, FechaSolicitud = fechaSolicitud, UltimaActualizacion = fechaSolicitud, AprobadorId = aprobadorId, DiasPorSolicitud = ObtenerDiasPorSolicitud(solicitud, fechaSolicitud) }; context.SolicitudesVacaciones.Add(solicitudVacaciones); var affectedRows = context.SaveChanges(); if (affectedRows > 0) { // A continuacion se envia la notificacion por correo al jefe correspondiente segun el usuario var urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext); var callbackUrl = urlHelper.Action("Revisar", "Solicitud", new { id = guid }, protocol: HttpContext.Current.Request.Url.Scheme); if (aprobadorId == solicitud.Id) { return(ProcesarSolicitud(guid, solicitante)); } await userManager.SendEmailAsync(ObtenerAprobadorId(solicitud.Id), "Solicitud de Vacaciones para " + solicitud.Nombre + " " + solicitud.PrimerApellido + " " + solicitud.SegundoApellido, solicitud.Comentario + " <br /> Para aprobar o rechazar la solicitud de vacaciones haga click en el siguiente link: <a href=\"" + callbackUrl + "\">Aquí</a>"); } return(affectedRows); }
protected void btnvaca_Click(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(txtfechadeincio.Text) || string.IsNullOrEmpty(txtfechafinal.Text)) { mensaje.Visible = false; mensajeError.Visible = true; mensajeinfo.Visible = false; textoMensajeError.InnerHtml = "Debes ingresar un rango de fechas"; txtfechafinal.Text = string.Empty; txtfechadeincio.Text = string.Empty; } else if (ValidacionDias(txtfechafinal.Text, txtfechadeincio.Text)) { if (Login.EmpleadoGlobal.DiasVacaciones >= dias) { if (ValidarRangoFechas(txtfechadeincio.Text, txtfechafinal.Text)) { mensajeinfo.Visible = false; mensajeError.Visible = true; mensaje.Visible = false; textoMensajeError.InnerHtml = "Ya existe una solitud previa para el rango de fechas seleccionado"; limpiarCamposFechas(); } else if (VacacionesIncapacitado(Convert.ToDateTime(txtfechafinal.Text), Convert.ToDateTime(txtfechadeincio.Text))) { mensajeinfo.Visible = false; mensajeError.Visible = true; mensaje.Visible = false; textoMensajeError.InnerHtml = "El usuario actual se encuentra incapacitado, la solicitud no puede completarse"; limpiarCamposFechas(); } else { fechas = Singleton.OpFeriados.ListarFeriados().Select(x => x.Fecha).ToList(); DiasRestantes(Convert.ToDateTime(txtfechadeincio.Text), Convert.ToDateTime(txtfechafinal.Text), true, fechas); //IncapacidadEnVacaciones(Convert.ToDateTime(txtfechadeincio.Text), Convert.ToDateTime(txtfechafinal.Text)); // desmadre var vacaciones = new SolicitudVacaciones() { FechaFinal = Convert.ToDateTime(txtfechafinal.Text), FechaInicio = Convert.ToDateTime(txtfechadeincio.Text), Cedula = Login.EmpleadoGlobal.Cedula, TotalDias = count, Condicion = null, NombreEmpleado = Login.EmpleadoGlobal.Nombre }; Singleton.opsolicitud.InsertarSolicitud(vacaciones); IdSolicitudVacaciones = Singleton.opsolicitud.Listarsolicitudes().Where(x => x.Cedula == Login.EmpleadoGlobal.Cedula).Select(x => x.IdSolicitud).LastOrDefault(); Singleton.opAudiEmple.InsertarAuditoriasEmpleado(Login.EmpleadoGlobal.Nombre, Login.EmpleadoGlobal.Cedula, false, false, false, false, true, false, false, false, false, false, false); mensaje.Visible = true; mensajeError.Visible = false; mensajeinfo.Visible = false; mensajawarning.Visible = false; textoMensaje.InnerHtml = "Solicitud generada"; limpiarCamposFechas(); ThreadStart delegado = new ThreadStart(EnvioCorreo); Thread hilo = new Thread(delegado); hilo.Start(); mensajeinfo.Visible = true; mensajeError.Visible = false; mensaje.Visible = false; textomensajeinfo.InnerHtml = "Tu solicitud ha sido enviada"; //} } } else { mensajeError.Visible = true; mensajeinfo.Visible = false; mensajawarning.Visible = false; mensaje.Visible = false; textoMensajeError.InnerHtml = "La cantidad de dias solicitados excede la cantidad de dias disponibles"; txtfechafinal.Focus(); limpiarCamposFechas(); } } else { mensajeError.Visible = true; mensajeinfo.Visible = false; mensajawarning.Visible = false; mensaje.Visible = false; textoMensajeError.InnerHtml = "Cantidad de dias incorrecta"; txtfechafinal.Focus(); limpiarCamposFechas(); } } catch (Exception) { mensajawarning.Visible = false; mensajeinfo.Visible = false; mensaje.Visible = false; mensajeError.Visible = true; textoMensajeError.InnerHtml = "Hubo un error"; } }
public void InsertarSolicitud(SolicitudVacaciones solicitud) { _db.Insert(solicitud); }
public void ActualizarSolicitud(SolicitudVacaciones solicitud) { _db.Update(solicitud); }
public async Task <Response> InsertarSolicitudVacaciones([FromBody] SolicitudVacacionesViewModel SolicitudVacacionesViewModel) { try { if (!ModelState.IsValid) { return(new Response { IsSuccess = false, Message = Mensaje.ModeloInvalido }); } DateTime fechaHasta; DateTime fechaDesde; if (SolicitudVacacionesViewModel.PlanAnual == false) { fechaDesde = SolicitudVacacionesViewModel.FechaDesde; fechaHasta = SolicitudVacacionesViewModel.FechaHasta; } else { var plan = await db.SolicitudPlanificacionVacaciones .Where(w => w.IdSolicitudPlanificacionVacaciones == SolicitudVacacionesViewModel.IdSolicitudPlanificacionVacaciones) .FirstOrDefaultAsync(); fechaDesde = plan.FechaDesde; fechaHasta = plan.FechaHasta; } var modelo = new SolicitudVacaciones { FechaDesde = fechaDesde, FechaHasta = fechaHasta, FechaSolicitud = DateTime.Now, IdEmpleado = SolicitudVacacionesViewModel.DatosBasicosEmpleadoViewModel.IdEmpleado, Estado = SolicitudVacacionesViewModel.Estado, Observaciones = "", PlanAnual = SolicitudVacacionesViewModel.PlanAnual, RequiereReemplazo = false, RazonNoPlanificado = SolicitudVacacionesViewModel.RazonNoPlanificado }; db.SolicitudVacaciones.Add(modelo); await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Message = Mensaje.GuardadoSatisfactorio }); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = Mensaje.Error, }); } }
public async Task <Response> PutSolicitudVacaciones([FromRoute] int id, [FromBody] SolicitudVacaciones SolicitudVacaciones) { try { if (!ModelState.IsValid) { return(new Response { IsSuccess = false, Message = Mensaje.ModeloInvalido, }); } var SolicitudVacacionesActualizar = await db.SolicitudVacaciones.Where(x => x.IdSolicitudVacaciones == SolicitudVacaciones.IdSolicitudVacaciones).FirstOrDefaultAsync(); if (SolicitudVacacionesActualizar != null) { try { using (var transaction = await db.Database.BeginTransactionAsync()) { var estadoAnterior = SolicitudVacacionesActualizar.Estado; SolicitudVacacionesActualizar.Observaciones = SolicitudVacaciones.Observaciones; SolicitudVacacionesActualizar.Estado = SolicitudVacaciones.Estado; SolicitudVacacionesActualizar.FechaRespuesta = SolicitudVacaciones.FechaRespuesta; SolicitudVacacionesActualizar.RequiereReemplazo = SolicitudVacaciones.RequiereReemplazo; if (SolicitudVacacionesActualizar.RequiereReemplazo == true) { SolicitudVacacionesActualizar.IdEmpleadoReemplazo = SolicitudVacaciones.IdEmpleadoReemplazo; } else { SolicitudVacacionesActualizar.IdEmpleadoReemplazo = 0; } db.SolicitudVacaciones.Update(SolicitudVacacionesActualizar); await db.SaveChangesAsync(); // Actualización del registro de vacaciones var ctrl = new SolicitudPlanificacionVacacionesController(db); await ctrl.CalcularYRegistrarVacacionesPorEmpleado(SolicitudVacaciones.IdEmpleado); transaction.Commit(); return(new Response { IsSuccess = true, Message = Mensaje.Satisfactorio, }); } } catch (Exception ex) { return(new Response { IsSuccess = false, Message = Mensaje.Error, }); } } return(new Response { IsSuccess = false, Message = Mensaje.ExisteRegistro }); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = Mensaje.Excepcion }); } }
protected void btnvaca_Click(object sender, EventArgs e) { try { if (ValidacionDias(txtfechafinal.Text, txtfechadeincio.Text)) { if (Login.EmpleadoGlobal.DiasVacaciones >= dias) { var vacaciones = new SolicitudVacaciones() { FechaFinal = Convert.ToDateTime(txtfechafinal.Text), FechaInicio = Convert.ToDateTime(txtfechadeincio.Text), Cedula = Login.EmpleadoGlobal.Cedula, TotalDias = dias, Condicion = null, }; Singleton.opsolicitud.InsertarSolicitud(vacaciones); Singleton.opAudiEmple.InsertarAuditoriasEmpleado(Login.EmpleadoGlobal.Nombre, Login.EmpleadoGlobal.Cedula, false, false, false, false, true, false, false, false, false, false, false); mensaje.Visible = true; mensajeError.Visible = false; mensajeinfo.Visible = false; mensajawarning.Visible = false; //TimeSpan diferencia = Convert.ToDateTime(txtfechafinal.Text) - Convert.ToDateTime(txtfechadeincio.Text); //var dias = diferencia.TotalDays; //txttotaldias.Text = dias.ToString(); textoMensaje.InnerHtml = "Solicitud generada"; //string mail = Singleton.opNotificacion.CorreoJefe(Login.EmpleadoGlobal.Cedula).Select(x => x.EmailJefeDpto).ToString(); string mail = Singleton.opdepartamento.BuscarDepartamentos(Login.EmpleadoGlobal.IdDepartamento).EmailJefeDpto.ToString(); Email.Notificacion("*****@*****.**", "fidelitasw2", mail, "Nueva solicitud de vacaciones", "se ha recibido una nueva solicitud de vacaciones de parte del empleado\nNombre:" + Login.EmpleadoGlobal.Nombre + "\nUsuario:" + Login.EmpleadoGlobal.Correo); //using (SmtpClient cliente = new SmtpClient("smtp.live.com", 25)) //{ // cliente.EnableSsl = true; // cliente.Credentials = new NetworkCredential("*****@*****.**", "fidelitasw2"); // MailMessage msj = new MailMessage("*****@*****.**", mail, "Nueva solicitud de vacaciones", "Se ha recibido una nueva solicitud de vacaciones de parte del empleado\nNombre: " + Login.EmpleadoGlobal.Nombre+"\nUsuario:"+Login.EmpleadoGlobal.Correo); // cliente.Send(msj); // mensajeinfo.Visible = true; // mensajeError.Visible = false; // mensaje.Visible = false; // textomensajeinfo.InnerHtml = "Correo enviado"; //} } else { mensajeError.Visible = true; mensajeinfo.Visible = false; mensajawarning.Visible = false; mensaje.Visible = false; textomensajeError.InnerHtml = "La cantidad de dias solicitados excede la cantidad de dias disponibles"; txtfechafinal.Focus(); } } else { mensajeError.Visible = true; mensajeinfo.Visible = false; mensajawarning.Visible = false; mensaje.Visible = false; textomensajeError.InnerHtml = "Cantidad de dias incorrecta"; txtfechafinal.Focus(); } } catch (Exception) { throw; } }
protected void btnactualizar_Click(object sender, EventArgs e) { try { string Condicion = DDLestado.Text; if (Condicion == "Aprobado") { var cedula = Singleton.opsolicitud.BuscarSolicitud(Convert.ToInt32(DDLidsolicitud.Text)).Cedula; var correo = Singleton.OpEmpleados.BuscarEmpleados(cedula).Correo; var nombre = Singleton.OpEmpleados.BuscarEmpleados(cedula).Nombre; var CantidadDias = Singleton.OpEmpleados.BuscarEmpleados(cedula).DiasVacaciones; SolicitudVacaciones soli2 = new SolicitudVacaciones(); int id = Convert.ToInt32(DDLidsolicitud.Text); soli2 = Singleton.opsolicitud.BuscarSolicitud(id); SolicitudVacaciones soli = new SolicitudVacaciones() { IdSolicitud = soli2.IdSolicitud, Cedula = txtcedula.Text, FechaInicio = soli2.FechaInicio, FechaFinal = soli2.FechaFinal, TotalDias = soli2.TotalDias, Condicion = true, NombreEmpleado = soli2.NombreEmpleado }; Singleton.opsolicitud.ActualizarSolicitud(soli); Empleado EmpleadoGlobal2 = new Empleado(); EmpleadoGlobal2 = Singleton.OpEmpleados.BuscarEmpleados(txtcedula.Text); Empleado emple = new Empleado() { Cedula = EmpleadoGlobal2.Cedula, Nombre = EmpleadoGlobal2.Nombre, Direccion = EmpleadoGlobal2.Direccion, Telefono = EmpleadoGlobal2.Telefono, Correo = EmpleadoGlobal2.Correo, EstadoCivil = EmpleadoGlobal2.EstadoCivil, FechaNacimiento = Convert.ToDateTime(EmpleadoGlobal2.FechaNacimiento), IdDepartamento = Convert.ToInt32(EmpleadoGlobal2.IdDepartamento), IdRol = Convert.ToInt32(EmpleadoGlobal2.IdRol), Estado = EmpleadoGlobal2.Estado, Bloqueado = EmpleadoGlobal2.Bloqueado, Imagen = EmpleadoGlobal2.Imagen, // Genero = DDLgenero.SelectedItem.ToString(), Genero = EmpleadoGlobal2.Genero, Password = EmpleadoGlobal2.Password, IntentosFallidos = Convert.ToInt32(EmpleadoGlobal2.IntentosFallidos), DiasVacaciones = EmpleadoGlobal2.DiasVacaciones - soli2.TotalDias, DiasAntesCaducidad = EmpleadoGlobal2.DiasAntesCaducidad, FechaCaducidadContraseña = EmpleadoGlobal2.FechaCaducidadContraseña, SesionIniciada = EmpleadoGlobal2.SesionIniciada, FechaIngreso = EmpleadoGlobal2.FechaIngreso, ContraseñaCaducada = EmpleadoGlobal2.ContraseñaCaducada }; Singleton.OpEmpleados.ActualizarEmpleados(emple); Login.CalculoDiasVacaciones(); //using (SmtpClient cliente = new SmtpClient("smtp.live.com", 25)) //{ // cliente.EnableSsl = true; // cliente.Credentials = new NetworkCredential("*****@*****.**", "fidelitasw2"); // MailMessage msj = new MailMessage("*****@*****.**", correo, "Estado de solicitud de vacaciones", "Se ha aprobado su solicitud de vacaciones de para el empleado\nNombre: " + nombre + "\nUsuario:" + correo); // cliente.Send(msj); //} mensaje.Visible = true; mensajawarning.Visible = false; mensajeError.Visible = false; mensajeinfo.Visible = false; ThreadStart delegado = new ThreadStart(EnvioCorreo); Thread hilo = new Thread(delegado); textoMensaje.InnerHtml = "Solicitud aprobada"; hilo.Start(); Singleton.opAudiJefe.InsertarAuditoriasJefe(Login.EmpleadoGlobal.Nombre, Login.EmpleadoGlobal.Cedula, false, false, false, false, true, false, false, false, false, false); //codigo bueno //textoMensaje.InnerHtml = "Solicitud aprobada"; //Email.Notificacion("*****@*****.**", "soporte123.", correo, "Estado de solicitud de vacaciones", "se ha aprobado su solicitud de vacaciones para el empleado \nNombre:" + nombre + "\nUsuario:" + correo); //termina bueno } else { string cedula = Singleton.opsolicitud.BuscarSolicitud(Convert.ToInt32(DDLidsolicitud.Text)).Cedula.ToString(); string correo = Singleton.OpEmpleados.BuscarEmpleados(cedula).Correo; string nombre = Singleton.OpEmpleados.BuscarEmpleados(cedula).Nombre; SolicitudVacaciones soli2 = new SolicitudVacaciones(); int id = Convert.ToInt32(DDLidsolicitud.Text); soli2 = Singleton.opsolicitud.BuscarSolicitud(id); SolicitudVacaciones soli = new SolicitudVacaciones() { IdSolicitud = soli2.IdSolicitud, Cedula = txtcedula.Text, FechaInicio = soli2.FechaInicio, FechaFinal = soli2.FechaFinal, TotalDias = soli2.TotalDias, Condicion = false, NombreEmpleado = soli2.NombreEmpleado }; Singleton.opsolicitud.ActualizarSolicitud(soli); mensaje.Visible = false; mensajawarning.Visible = false; mensajeError.Visible = true; mensajeinfo.Visible = false; textoMensajeError.InnerHtml = "Solicitud denegada"; Email.Notificacion("*****@*****.**", "soporte123.", correo, "Estado de solicitud de vacaciones", "se ha denegado su solicitud de vacaciones para el empleado \nNombre: " + nombre + "\nUsuario: " + correo); Singleton.opAudiJefe.InsertarAuditoriasJefe(Login.EmpleadoGlobal.Nombre, Login.EmpleadoGlobal.Cedula, false, false, false, false, true, false, false, false, false, false); } } catch (Exception) { mensajeinfo.Visible = false; mensaje.Visible = false; mensajawarning.Visible = false; mensajeError.Visible = true; textoMensajeError.InnerHtml = "Hubo un error"; } }