示例#1
0
        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());
            }
        }
示例#2
0
        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));
        }
示例#5
0
        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";
            }
        }
示例#6
0
        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());
            }
        }
示例#7
0
 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";
     }
 }
示例#8
0
        //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);
        }
示例#9
0
        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";
            }
        }
示例#10
0
 public void InsertarSolicitud(SolicitudVacaciones solicitud)
 {
     _db.Insert(solicitud);
 }
示例#11
0
 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
                });
            }
        }
示例#14
0
        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;
            }
        }
示例#15
0
        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";
            }
        }