Ejemplo n.º 1
0
        public ActionResult Login(tbl_usuario_Info model, string returnUrl)
        {
            try
            {
                decimal IdEmpleado = 0;
                if (string.IsNullOrWhiteSpace(model.IdUsuario) || string.IsNullOrWhiteSpace(model.us_contrasenia))
                {
                    return(View(model));
                }

                if (odata.login(model))
                {
                    FormsAuthentication.SetAuthCookie(model.IdUsuario, true);
                    Session["admin"] = "1";
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    if (odata_empleado.Login(model.IdUsuario, model.us_contrasenia, ref IdEmpleado))
                    {
                        tbl_periodo_evaluacion_Info info_periodo_actual = new tbl_periodo_evaluacion_Info();
                        tbl_periodo_evaluacion_Data data_periodo_actual = new tbl_periodo_evaluacion_Data();
                        info_periodo_actual = data_periodo_actual.get_info(data_periodo_actual.GetUltimoPeriodo());

                        if (info_periodo_actual == null)
                        {
                            return(RedirectToAction("Mensaje", "Resolucion_formulario", new { mensaje = "No existe periodo de evaluación activo" }));
                        }

                        if (info_periodo_actual.estado_cierre)
                        {
                            return(RedirectToAction("Calificacion_x_empleado", "Resolucion_calificacion", new { IdEmpleado = IdEmpleado, IdPeriodo = info_periodo_actual.IdPeriodo }));
                        }

                        enc_resolucion_formulario_Data data_resolucion = new enc_resolucion_formulario_Data();
                        if (data_resolucion.empleado_realizo_encuesta(IdEmpleado, info_periodo_actual.IdPeriodo))
                        {
                            return(RedirectToAction("Mensaje", "Resolucion_formulario", new { mensaje = "Encuesta realizada exitósamente, espere los resultados" }));
                        }

                        Session["IdEmpleado"] = IdEmpleado;
                        Session["admin"]      = "0";
                        FormsAuthentication.SetAuthCookie(model.IdUsuario, true);

                        return(RedirectToAction("Index", "Resolucion_formulario"));
                    }
                    else
                    {
                        return(RedirectToAction("Mensaje", "Resolucion_formulario", new { mensaje = "Usted no se encuentra registrado en el sistema de evaluación de personal, comuníquese con sistemas" }));
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }