public JsonResult SetViewCatalogos(int GrupoEdicion, string ValoresSeleccionados)
        {
            List <ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaCatalogoCompania> Catalogo = new List <ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaCatalogoCompania>();

            ADESCOMBUSINESS.Areas.Configuracion.Methods.ConfiguracionSistemaBusiness ConfiguracionSistema = new ADESCOMBUSINESS.Areas.Configuracion.Methods.ConfiguracionSistemaBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);
            List <int> Valores = new List <int>();

            if (string.IsNullOrEmpty(ValoresSeleccionados))
            {
                return(Json("Debe Seleccionar Minimo una Opcion"));
            }

            char[]   CaracterDelimitador = { ',' };
            string[] Values = ValoresSeleccionados.Split(CaracterDelimitador);

            foreach (string value in Values)
            {
                Valores.Add(Convert.ToInt32(value));
            }

            try
            {
                ConfiguracionSistema.SetCatalogosByGrupoEdicion(GrupoEdicion, Valores);
            }
            catch (Exception ex)
            {
                return(Json(ex.Message));
            }


            return(Json("Ok"));
        }
        public ActionResult GetViewCatalogos(int GrupoEdicion)
        {
            List <ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaCatalogoCompania> Catalogos = new List <ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaCatalogoCompania>();

            ADESCOMBUSINESS.Areas.Configuracion.Methods.ConfiguracionSistemaBusiness ConfiguracionSistemaProxy = new ADESCOMBUSINESS.Areas.Configuracion.Methods.ConfiguracionSistemaBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);
            Catalogos = ConfiguracionSistemaProxy.GetCatalogosByGrupoEdicion(GrupoEdicion);
            return(View(Catalogos));
        }
        public ActionResult Index()
        {
            List <ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaModulo> GrupoRetorna = new List <ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaModulo>();

            ADESCOMBUSINESS.Areas.Configuracion.Methods.ConfiguracionSistemaBusiness ConfiguracionSistema = new ADESCOMBUSINESS.Areas.Configuracion.Methods.ConfiguracionSistemaBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);
            GrupoRetorna = ConfiguracionSistema.GetGrupos();
            return(View(GrupoRetorna));
        }
        public ActionResult GetViewCampos(int GrupoEdicion)
        {
            List <ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania> Parametros = new List <ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania>();

            ADESCOMBUSINESS.Areas.Configuracion.Methods.ConfiguracionSistemaBusiness ConfiguracionSistemaProxy = new ADESCOMBUSINESS.Areas.Configuracion.Methods.ConfiguracionSistemaBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);
            Parametros            = ConfiguracionSistemaProxy.GetParamByGrupoEdicion(GrupoEdicion);
            @ViewBag.GrupoEdicion = GrupoEdicion;

            if (GrupoEdicion == 2)
            {
                ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaNotifCompuesto ConfigNotif = new ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaNotifCompuesto();

                //Optimización
                List <ADESCOMBUSINESS.Areas.Configuracion.Models.SIS_TipoNotificacion> Elementos = new List <ADESCOMBUSINESS.Areas.Configuracion.Models.SIS_TipoNotificacion>();
                Elementos = ADESCOMBUSINESS.Areas.Configuracion.Methods.SIS_TipoNotificacionBusiness.GetAll((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);

                ConfigNotif.EmailNotifications    = GetTemplates(Elementos.Where(x => x.TNO_AplicaEmail == true).ToList(), Convert.ToInt32(ADESCOMBUSINESS.GlobalBusiness.ObtConfigParam((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], "EmailNotifications")));
                ConfigNotif.BuzonAppNotifications = GetTemplates(Elementos.Where(x => x.TNO_AplicaBuzonApp == true).ToList(), Convert.ToInt32(ADESCOMBUSINESS.GlobalBusiness.ObtConfigParam((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], "AppNotifications")));
                ConfigNotif.PushNotifications     = GetTemplates(Elementos.Where(x => x.TNO_AplicaPushNotif == true).ToList(), Convert.ToInt32(ADESCOMBUSINESS.GlobalBusiness.ObtConfigParam((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], "PushNotifications")));
                //GHO No es necesario, no se van a manajar por compania, se manajara un set en general
                //ConfigNotif.Parametros = Parametros;

                return(View("GetViewNotificaciones", ConfigNotif));
            }
            else
            {
                int cta = Convert.ToInt32(ADESCOMBUSINESS.GlobalBusiness.ObtConfigParam((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], "CuentaCuotas"));
                //ViewBag.Cuenta_ID = new SelectList(ADESCOMBUSINESS.Areas.Contabilidad.Methods.CON_CuentasBusiness.GetCuentasEmpresa((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], cta), cta);
                ViewBag.Cuenta_ID = new SelectList(GetCuentas(0), "Cuenta_ID", "CTA_Alias", cta);

                String codigo = ConfiguracionSistemaProxy.GetCodigoActivacion();
                ViewBag.CodigoActivacion = codigo;

                return(View("GetViewCampos", Parametros));
            }
        }
        public ActionResult SetViewCampos(FormCollection Form)
        {
            int    Cuenta_ID        = 0;
            String CodigoActivacion = String.Empty;
            String Error            = String.Empty;
            int    GrupoEdicion     = Convert.ToInt32(Form["GrupoEdicion"]);

            @ViewBag.GrupoEdicion = GrupoEdicion;

            List <ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania> Parametros       = new List <ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania>();
            List <ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania> ParametrosUpdate = new List <ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania>();

            ADESCOMBUSINESS.Areas.Configuracion.Methods.ConfiguracionSistemaBusiness ConfiguracionSistema = new ADESCOMBUSINESS.Areas.Configuracion.Methods.ConfiguracionSistemaBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);
            Parametros = ConfiguracionSistema.GetParamByGrupoEdicion(GrupoEdicion);

            if (String.IsNullOrEmpty(Form["Cuenta_ID"]) || Form["Cuenta_ID"] == "0")
            {
                Error = "La cuenta receptora de pagos es requerida";
                ModelState.AddModelError("Cuenta_ID", Error);
            }

            if (String.IsNullOrEmpty(Form["CodigoActivacion"]))
            {
                Error = "El código de activación de residentes es requerido";
                ModelState.AddModelError("CodigoActivacion", Error);
            }

            try { Cuenta_ID = Convert.ToInt32(Form["Cuenta_ID"]); }
            catch { Error = "La cuenta receptora de pagos es requerida"; ModelState.AddModelError("Cuenta_ID", Error); }

            CodigoActivacion = Form["CodigoActivacion"];

            foreach (ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania parametro in Parametros)
            {
                if (parametro.CPA_UsuarioModif == true)
                {
                    switch (parametro.TipoDato_ID)
                    {
                    case 2:     //Entero
                        parametro.CPA_Valor = Convert.ToInt32(Form[parametro.TCP_Nombre]);
                        break;

                    case 3:     //Decimal
                        parametro.CPA_Valor = Convert.ToDecimal(Form[parametro.TCP_Nombre]);
                        break;

                    case 4:     //Fecha
                        parametro.CPA_Valor = Convert.ToDateTime(Form[parametro.TCP_Nombre]);
                        break;

                    case 5:     //SI/NO
                        parametro.CPA_Valor = Convert.ToBoolean(Form[parametro.TCP_Nombre]);
                        break;

                        /* default:
                         *   parametro.CPA_Valor = Form[parametro.TCP_Nombre].ToString();
                         *   break;*/
                    }

                    //Ignora los catálogos
                    if (parametro.TipoDato_ID <= 5)
                    {
                        ParametrosUpdate.Add(parametro);
                    }
                }
            }

            //Cuenta receptora de pagos
            ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania paramCuenta = new ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania();
            paramCuenta.TCP_Nombre       = "CuentaCuotas";
            paramCuenta.CPA_Valor        = Cuenta_ID;
            paramCuenta.CPA_UsuarioModif = true;
            ParametrosUpdate.Add(paramCuenta);

            if (ModelState.IsValid)
            {
                ParametrosUpdate = ConfiguracionSistema.SetParamByGrupoEdicion(ParametrosUpdate);
                ConfiguracionSistema.SetCodigoActivacion(CodigoActivacion);

                foreach (ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania parametro in ParametrosUpdate)
                {
                    if (parametro.Error)
                    {
                        ModelState.AddModelError(parametro.TCP_Nombre, parametro.ModelError);
                        Error = parametro.ModelError;
                    }
                }
                if (ModelState.IsValid)
                {
                    ViewBag.Error = "OK";
                }
                else
                {
                    ViewBag.Error = Error;
                }
            }
            else
            {
                ViewBag.Error = Error;
            }

            int cta = Convert.ToInt32(ADESCOMBUSINESS.GlobalBusiness.ObtConfigParam((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], "CuentaCuotas"));

            ViewBag.Cuenta_ID = new SelectList(ADESCOMBUSINESS.Areas.Contabilidad.Methods.CON_CuentasBusiness.GetCuentasEmpresa((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], cta), cta);

            return(View("GetViewCampos", Parametros));
        }
        public ActionResult SetViewNotificaciones(FormCollection Form)
        {
            int GrupoEdicion = Convert.ToInt32(Form["GrupoEdicion"]);

            @ViewBag.GrupoEdicion = GrupoEdicion;

            //List<ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania> Parametros = new List<ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania>();
            List <ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania> ParametrosUpdate = new List <ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania>();

            ADESCOMBUSINESS.Areas.Configuracion.Methods.ConfiguracionSistemaBusiness ConfiguracionSistema = new ADESCOMBUSINESS.Areas.Configuracion.Methods.ConfiguracionSistemaBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);
            //Parametros = ConfiguracionSistema.GetParamByGrupoEdicion(GrupoEdicion);

            /*foreach (ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania parametro in Parametros)
             * {
             *  switch (parametro.TipoDato_ID)
             *  {
             *      case 2: //Entero
             *          parametro.CPA_Valor = Convert.ToInt32(Form[parametro.TCP_Nombre]);
             *          break;
             *      case 3: //Decimal
             *          parametro.CPA_Valor = Convert.ToDecimal(Form[parametro.TCP_Nombre]);
             *          break;
             *      case 4: //Fecha
             *          parametro.CPA_Valor = Convert.ToDateTime(Form[parametro.TCP_Nombre]);
             *          break;
             *      case 5: //SI/NO
             *          parametro.CPA_Valor = Convert.ToBoolean(Form[parametro.TCP_Nombre]);
             *          break;
             *      default:
             *          parametro.CPA_Valor = Form[parametro.TCP_Nombre].ToString();
             *          break;
             *  }
             *
             *  ParametrosUpdate.Add(parametro);
             * }*/

            //Notificaciones vía Email seleccionados
            ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania param = new ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania();
            param.TCP_Nombre       = "EmailNotifications";
            param.CPA_Valor        = Form["sumEmailsSelected"];
            param.CPA_UsuarioModif = true;
            ParametrosUpdate.Add(param);

            //Notificaciones vía Buzón App seleccionadas
            param                  = new ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania();
            param.TCP_Nombre       = "AppNotifications";
            param.CPA_Valor        = Form["sumAppSelected"];
            param.CPA_UsuarioModif = true;
            ParametrosUpdate.Add(param);

            //Notificaciones vía Pushseleccionadas
            param                  = new ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania();
            param.TCP_Nombre       = "PushNotifications";
            param.CPA_Valor        = Form["sumPushSelected"];
            param.CPA_UsuarioModif = true;
            ParametrosUpdate.Add(param);

            ParametrosUpdate = ConfiguracionSistema.SetParamByGrupoEdicion(ParametrosUpdate);

            foreach (ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaParamCompania parametro in ParametrosUpdate)
            {
                if (parametro.Error)
                {
                    ModelState.AddModelError(parametro.TCP_Nombre, parametro.ModelError);
                }
            }
            if (ModelState.IsValid)
            {
                ViewBag.Error = "OK";
            }

            ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaNotifCompuesto ConfigNotif = new ADESCOMBUSINESS.Areas.Configuracion.Models.ConfiguracionSistemaNotifCompuesto();

            //Optimización
            List <ADESCOMBUSINESS.Areas.Configuracion.Models.SIS_TipoNotificacion> Elementos = new List <ADESCOMBUSINESS.Areas.Configuracion.Models.SIS_TipoNotificacion>();

            Elementos = ADESCOMBUSINESS.Areas.Configuracion.Methods.SIS_TipoNotificacionBusiness.GetAll((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]);

            ConfigNotif.EmailNotifications    = GetTemplates(Elementos, Convert.ToInt32(ADESCOMBUSINESS.GlobalBusiness.ObtConfigParam((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], "EmailNotifications")));
            ConfigNotif.BuzonAppNotifications = GetTemplates(Elementos, Convert.ToInt32(ADESCOMBUSINESS.GlobalBusiness.ObtConfigParam((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], "AppNotifications")));
            ConfigNotif.PushNotifications     = GetTemplates(Elementos, Convert.ToInt32(ADESCOMBUSINESS.GlobalBusiness.ObtConfigParam((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], "PushNotifications")));

            //GHO No es necesario, no se van a manajar por compania, se manajara un set en general
            //ConfigNotif.Parametros = Parametros;

            return(View("GetViewNotificaciones", ConfigNotif));
        }