示例#1
0
        public int PostClase(ClaseModel clase)
        {
            var   body  = Request.Body;
            Token token = new Token();

            return(claseService.PostAsignada(clase));
        }
示例#2
0
        public int PostClase(ClaseModel clase)
        {
            var   body  = Request.Body;
            Token token = new Token();

            clase.Clase.IdEscuela = token.IdEscuela;
            return(claseService.PostClase(clase).Id);
        }
示例#3
0
        public int PostAsignada(ClaseModel asignada)
        {
            Clase c = db.Clase.Find(asignada.Clase.Id);

            c.FechaInicio = asignada.Clase.FechaInicio;
            c.FechaFin    = asignada.Clase.FechaFin;
            c.IdEstacion  = asignada.Clase.IdEstacion;
            db.SaveChanges();
            var claseMontior = db.ClaseMonitor.Where(x =>
                                                     x.IdClase == asignada.Clase.Id
                                                     ).ToList();

            db.ClaseMonitor.RemoveRange(claseMontior);
            db.ClaseMonitor.AddRange(asignada.Monitores);
            db.SaveChanges();
            return(asignada.Clase.Id);
        }
示例#4
0
 public Clase PostClase(ClaseModel clase)
 {
     if (clase.Operacion == "Crear")
     {
         // clase.Clase = db.Clase.Add(clase.Clase);
         db.SaveChanges();
         clase.Monitores.ForEach(m =>
         {
             db.ClaseMonitor.Add(new ClaseMonitor
             {
                 IdClase   = clase.Clase.Id,
                 IdMonitor = m.IdMonitor
             });
         });
         db.SaveChanges();
         return(clase.Clase);
     }
     if (clase.Operacion == "Editar")
     {
         var   id = 0;
         Clase c  = db.Clase.Where(x => x.Id == clase.Clase.Id).FirstOrDefault();
         id   = c.Id;
         c    = clase.Clase;
         c.Id = id;
         db.SaveChanges();
         var claseMontior = db.ClaseMonitor.Where(x =>
                                                  x.IdClase == clase.Clase.Id
                                                  ).ToList();
         db.ClaseMonitor.RemoveRange(claseMontior);
         db.SaveChanges();
         clase.Monitores.ForEach(m =>
         {
             db.ClaseMonitor.Add(new ClaseMonitor
             {
                 IdClase   = clase.Clase.Id,
                 IdMonitor = m.IdMonitor
             });
         });
         db.SaveChanges();
         return(clase.Clase);
     }
     return(null);
 }
示例#5
0
        private static ClaseModel getInformacionControlador(Type tipoControlador)
        {
            ClaseModel elementoClase = new ClaseModel();

            elementoClase.NombreClase = tipoControlador.Name.Replace("Controller", "");

            MetadataAttribute metadataCustomizadaClase = tipoControlador.GetCustomAttribute <MetadataAttribute>();

            if (metadataCustomizadaClase != null)
            {
                elementoClase.Descripcion = metadataCustomizadaClase.Descripcion;
            }

            foreach (MethodInfo m in tipoControlador.GetMethods())
            {
                if ((m.ReturnType == typeof(String) || m.ReturnType.ToString().Trim().ToLower().Contains("list")) && !m.Name.ToLower().Trim().Contains("string"))
                {
                    MetodoModel elementoMetodo = new MetodoModel();
                    elementoMetodo.NombreMetodo = m.Name;

                    MetadataAttribute metadataCustomizadaMetodo = m.GetCustomAttribute <MetadataAttribute>();
                    if (metadataCustomizadaMetodo != null)
                    {
                        elementoMetodo.Descripcion = metadataCustomizadaMetodo.Descripcion;
                    }

                    ParameterInfo[] infoParametros = m.GetParameters();

                    foreach (ParameterInfo itemInfoParametros in infoParametros)
                    {
                        MetadataAttribute metadataCustomizadaParametro = itemInfoParametros.GetCustomAttribute <MetadataAttribute>();
                        elementoMetodo.Parametros.Add(new ParametroMetodoModel(itemInfoParametros.Name, itemInfoParametros.ParameterType.ToString(), "", ((metadataCustomizadaParametro != null) ? metadataCustomizadaParametro.Descripcion : ""), ((metadataCustomizadaParametro != null) ? metadataCustomizadaParametro.Observaciones : ""), ((metadataCustomizadaParametro != null) ? metadataCustomizadaParametro.Obligatorio : false), ((metadataCustomizadaParametro != null) ? metadataCustomizadaParametro.ValorDefecto : "")));
                    }

                    elementoClase.Metodos.Add(elementoMetodo);
                }
            }

            return(elementoClase);
        }
示例#6
0
        public static string buildWebApiUrl(ClaseModel clase)
        {
            StringBuilder url = new StringBuilder(System.Configuration.ConfigurationManager.AppSettings["urlBaseApp"] + "/" + System.Configuration.ConfigurationManager.AppSettings["complementoUrlWebApi"].ToString());

            url.Append(clase.NombreClase.Replace("Controller", ""));
            url.Append("/");
            url.Append(clase.Metodos[0].NombreMetodo);
            url.Append("?");

            foreach (ParametroMetodoModel parametroModel in clase.Metodos[0].Parametros)
            {
                url.Append(parametroModel.Nombre);
                url.Append("=");
                url.Append(parametroModel.Valor);
                url.Append("&");
            }

            // Como el último caracter de la cadena resultará ser "&", lo retiramos.
            url.Remove(url.Length - 1, 1);

            return(url.ToString());
        }
示例#7
0
        public List <ClaseModel> GetClaseEscuelaFecha(int idEscuela, string fecha)
        {
            var aux        = fecha.Split('/');
            var fec        = new DateTime(int.Parse(aux[2]), int.Parse(aux[1]), int.Parse(aux[0]));
            var clasesList = db.Clase.Where(x => x.IdEscuela == idEscuela && x.FechaInicio.Value.Day == fec.Day && x.FechaInicio.Value.Year == fec.Year && x.FechaInicio.Value.Month == fec.Month).ToList();
            var clases     = new List <ClaseModel> {
            };

            clasesList.ForEach(clase =>
            {
                var c            = new ClaseModel {
                };
                c.Clase          = clase;
                c.Monitores      = new List <ClaseMonitor>();
                c.Alumnos        = new List <Alumno>();
                var claseMonitor = db.ClaseMonitor.Where(x => x.IdClase == clase.Id).ToList();
                claseMonitor.ForEach(cm =>
                {
                    c.Monitores.Add(cm);
                });
                clases.Add(c);
            });
            return(clases);
        }
示例#8
0
        public int PostClase(ClaseModel clase)
        {
            Token token = (Token)Request.Properties["token"];

            return(claseService.PostAsignada(clase));
        }