public ActionResult TASMateriaNuevo(TASMateriaSet setTASMateria)
        {
            long   NumError     = 0;
            string Materia      = string.Empty;
            string MensajeError = string.Empty;

            TASMateriaInterfaceClient TASMateria = new TASMateriaInterfaceClient();

            if (setTASMateria.ltTASMateria != null)
            {
                TASMateriaEntity etTASMateria = setTASMateria.ltTASMateria.First();
                if (etTASMateria.Materia == null || etTASMateria.Materia == "")
                {
                    NumError      = 1;
                    MensajeError += "Debe ingresar un Materia. ";
                }

                if (etTASMateria.Modulo == null || etTASMateria.Modulo == "")
                {
                    NumError      = 1;
                    MensajeError += "Debe ingresar un Modulo. ";
                }

                if (NumError == 0)
                {
                    TASMateriaSet    setTASMateriaNuevo = TASMateria.WebNuevo((string)Session["Sesion"], (string)Session["SesionSubCompania"]);
                    TASMateriaEntity etTASMateriaNuevo  = setTASMateriaNuevo.ltTASMateria.First();
                    etTASMateriaNuevo.SubCompania = (string)Session["SesionSubCompania"];
                    etTASMateriaNuevo.Materia     = etTASMateria.Materia;
                    etTASMateriaNuevo.Modulo      = etTASMateria.Modulo;
                    etTASMateriaNuevo.Descripcion = etTASMateria.Descripcion == null ? "" : etTASMateria.Descripcion;
                    etTASMateriaNuevo.Observacion = etTASMateria.Observacion == null ? "" : etTASMateria.Observacion;

                    etTASMateriaNuevo.UEstado = TASMateriaService.Estado.Added;
                    Materia  = etTASMateria.Materia;
                    NumError = TASMateria.WebGuardar(setTASMateriaNuevo, true, (string)Session["Sesion"], (string)Session["SesionSubCompania"]);
                }
            }
            else
            {
                NumError     = 1;
                MensajeError = "Ocurrio un error al intentar guardar. Intente nuevamente.";
            }

            if (NumError == 0)
            {
                return(RedirectToAction("TASMateriaEditar", new { SubCompania = (string)Session["SesionSubCompania"], Materia = Materia }));
            }
            else
            {
                TASModuloInterfaceClient TASModulo = new TASModuloInterfaceClient();
                var ltTASModulo = TASModulo.WebTASModuloSeleccionarXSubCompania((string)Session["SesionSubCompania"], (string)Session["Sesion"], (string)Session["SesionSubCompania"]);
                ViewBag.ltTASModulo  = ltTASModulo.Select(s => s.Modulo);
                ViewBag.MensajeError = MensajeError;
                return(View(setTASMateria));
            }
        }