public void TestInitialize()
        {
            Cliente     cliente1 = new Cliente();
            Inteligente d1       = new Inteligente("TV LG", 100m);
            Estandar    d2       = new Estandar("TV", 200m);

            cliente1.Inteligentes.Add(d1);
            cliente1.Estandars.Add(d2);
            cliente1.TransformadorId = 1;

            Cliente     cliente2 = new Cliente();
            Inteligente d3       = new Inteligente("TV LG 55", 200m);
            Estandar    d4       = new Estandar("TV", 200m);
            Estandar    d5       = new Estandar("TV", 200m);

            cliente2.Inteligentes.Add(d3);
            cliente2.Estandars.Add(d4);
            cliente2.Estandars.Add(d5);
            cliente2.TransformadorId = 10;

            this.Clientes = new List <Cliente>
            {
                cliente1,
                cliente2
            };

            this.transformador          = new Transformador();
            this.transformador.Clientes = this.Clientes;

            //TransformadoresHelper th =new TransformadoresHelper();
            //List<Transformador> transformadores =(List<Transformador>) th.Transformadores;
        }
        public void LaFamaDeUnEscenarioEstandarEs110()
        {
            var estandar    = new Estandar();
            var unEscenario = new Escenario("Escenario Viejo", estandar);

            Assert.Equal(110, unEscenario.Fama());
        }
예제 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            Estandar estandar = db.Tb_Estandar.Find(id);

            db.Tb_Estandar.Remove(estandar);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public void UnEscenarioStandarEvoluciona()
        {
            var estandar    = new Estandar();
            var unEscenario = new Escenario("Escenario Viejo", estandar);

            unEscenario.Evolucionar();

            Assert.IsType <DeLujo>(unEscenario.Categoria());
        }
예제 #5
0
 public ActionResult Edit([Bind(Include = "Esta_Id,Esta_Nom,Esta_Porcentaje,Crit_Id,Esta_Registro")] Estandar estandar)
 {
     if (ModelState.IsValid)
     {
         db.Entry(estandar).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Crit_Id = new SelectList(db.Tb_Criterio, "Crit_Id", "Crit_Nom", estandar.Crit_Id);
     return(View(estandar));
 }
예제 #6
0
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Estandar estandar = db.Tb_Estandar.Find(id);

            if (estandar == null)
            {
                return(HttpNotFound());
            }
            return(View(estandar));
        }
예제 #7
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Estandar estandar = db.Tb_Estandar.Find(id);

            if (estandar == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Crit_Id = new SelectList(db.Tb_Criterio, "Crit_Id", "Crit_Nom", estandar.Crit_Id);
            return(View(estandar));
        }
예제 #8
0
        public ActionResult EditarEstandar(Estandar disp)
        {
            if (!SessionStateOK())
            {
                return(View("Index"));
            }
            if ((bool)Session["Admin"])
            {
                return(PermisoDenegado());
            }

            Cliente uncliente = (Cliente)Session["Usuario"];

            uncliente.UsoDiario(uncliente.BuscarDispositivo(disp.IdDispositivo, disp.IdCliente, disp.Numero), disp.usoDiario);

            return(View("GestionarDispositivos", model: uncliente));
        }
예제 #9
0
        public ActionConfirmation SaveOrUpdate(Estandar estandar)
        {
            if (!estandar.IsValid())
            {
                return(ActionConfirmation.CreateFailure("estandar no es válida"));
            }

            try
            {
                _estandarRepository.SaveOrUpdate(estandar);
                _estandarRepository.DbContext.CommitChanges();

                return(ActionConfirmation.CreateSuccess("saved ok"));
            }
            catch (Exception exception)
            {
                _eventLogService.AddException(exception.Message,
                                              exception.StackTrace, EventCategory.GuardarObjeto.ToString(), exception, estandar.ActualizadoPor, EventSource.Sistema);

                return(ActionConfirmation.CreateFailure(exception.ToString()));
            }
        }
예제 #10
0
        /// <summary>
        /// Metodo que realiza el conteo de las metricas por archivo
        /// </summary>
        /// <param name="a">Objeto tipo archivo</param>
        /// <param name="arch">Objeto </param>
        /// <param name="EstandarActivo"></param>
        private static void CuentaLineasCodigo(Archivo a, FileInfo arch, Estandar EstandarActivo)
        {
            using (StreamReader reader = File.OpenText(arch.FullName))
            {
                bool esVacia      = false;
                bool esComentario = false;

                //Voy leyendo línea a línea y comprobamos si es una línea de código
                string linea = reader.ReadLine();
                while (linea != null)
                {
                    //Antes de nada comprueb si estoy en un bloque de comentario o no
                    if (enBloqueComentado)
                    {
                        esComentario = true;
                        //Ver si la línea actual cierra el comentario o no
                        if (EstandarActivo.TiposComentariosBloqueCierres[tipoComentarioBloqueActual].IsMatch(linea))
                        {
                            //Ya no estamos en un bloque a partir de ahora
                            enBloqueComentado          = false;
                            tipoComentarioBloqueActual = -1;

                            /*
                             * Con esta lógica, un caso en el que se contabilizarían mal líneas de código comentadas es cuando se cierra un comentario de bloque y se abre otro en la misma línea.
                             * Lo considero un caso extremo que se dará muy poco (casi nunca) y asumo como un posible error de recuento mínimo en el total para no complicar el código.
                             */
                        }
                    }
                    else    //Línea de código normal, no dentro de un bloque comentado
                    {
                        //Veo si es una línea vacía (o solo con espacios/tabuladores)
                        esVacia = string.IsNullOrWhiteSpace(linea);

                        //Compruebo si es un comentario de los de una sola línea, los compruebo con las expresiones regulares
                        esComentario = false;
                        foreach (Regex r in EstandarActivo.TiposComentarioLineales)
                        {
                            if (r.IsMatch(linea))
                            {
                                esComentario = true;
                            }
                        }

                        if (new Regex(EstandarActivo.Metodos, RegexOptions.IgnoreCase).IsMatch(linea))
                        {
                            a.ContadorMetodos++;
                        }

                        //Verifico comentarios en varias líneas
                        //Primero veo si hay una apertura de comentario
                        for (int i = 0; i < EstandarActivo.TiposComentariosBloqueAperturas.Count; i++)
                        {
                            Regex r = EstandarActivo.TiposComentariosBloqueAperturas[i];

                            if (r.IsMatch(linea))  //Si es un comentario de bloque
                            {
                                //Debo comprobar antes de nada que no se cierre en la misma línea
                                if (!EstandarActivo.TiposComentariosBloqueCierres[i].IsMatch(linea))
                                {
                                    //Si el bloque actual no se cierra en esta misma línea,
                                    //marco a partir de ahora todas las nuevas líneas como un bloque comentado
                                    //hasta que aparezca el bloque de cierre
                                    tipoComentarioBloqueActual = i; //para localizar la etiqueta de cierre del bloque
                                    enBloqueComentado          = true;
                                }
                                esComentario = true; //La línea actual es un comentario
                                break;               //Salgo del bucle

                                /*
                                 * NOTA: este código, tal y como está, no identificaría líneas de código que estén justo después del cierre de un comentario de código multi-línea.
                                 * Entiendo que este es un caso muy extremo que se dará muy poco frecuentemente (porque no tiene tampoco mucho sentido), y lo asumo como un posible error mínimo de recuento de líneas de código.
                                 */
                            }
                        }
                    }
                    if (esComentario)
                    {
                        a.ContadorComentarios++;
                    }
                    else if (esVacia)
                    {
                        a.ContadorLineasBlancas++;
                    }
                    else
                    {
                        a.ContadorLineas++;
                    }
                    //Siguiente línea
                    linea = reader.ReadLine();
                }
            }
        }
예제 #11
0
 public void TestInitialize()
 {
     this.cliente = new Cliente();
     this.d1      = new Inteligente("TV LG", 100m);
     this.d3      = new Estandar("TV", 200m);
 }
예제 #12
0
        public ActionResult New(EstandarFormModel formModel, string parentId = "")
        {
            if (ModelState.IsValid && IsStandardValid(formModel))
            {
                var estandar = new Estandar
                {
                    Codigo          = formModel.Codigo,
                    Nombre          = formModel.Nombre,
                    Descripcion     = !string.IsNullOrEmpty(formModel.Descripcion) ? formModel.Descripcion : string.Empty,
                    NotasEspeciales = !string.IsNullOrEmpty(formModel.NotasEspeciales) ? formModel.NotasEspeciales : string.Empty,
                    CreadoEn        = DateTime.Now,
                    TipoEstandar    = formModel.TipoEstandar,
                    GrupoEstandar   = _estandarService.GetGrupo(formModel.GrupoEstandar),
                    ActualizadoEn   = DateTime.Now,
                    CreadoPor       = User.Identity.Name,
                    ActualizadoPor  = User.Identity.Name,
                    Estado          = _statusService.Get(formModel.Estado),
                    Nivel           = _estandarService.GetNivel(formModel.Nivel),
                    Categoria       = _estandarService.GetCategoria(formModel.Categoria),
                    Clasificacion   = _estandarService.GetClasificacion(formModel.Clasificacion)
                };

                var sistemas = new List <Sistema>();

                if (formModel.Sistema != null && formModel.Sistema.Length > 0)
                {
                    foreach (var sistemaId in formModel.Sistema)
                    {
                        var sistema = _estandarService.GetSistema(Guid.Parse(sistemaId));
                        if (sistema != null)
                        {
                            sistemas.Add(sistema);
                        }
                    }
                }

                var tipoLocales = new List <TipoLocal>();
                if (formModel.TipoLocal != null && formModel.TipoLocal.Length > 0)
                {
                    foreach (var tipoLocalId in formModel.TipoLocal)
                    {
                        var tipoLocal = _localService.GetTipo(Guid.Parse(tipoLocalId));
                        if (tipoLocal != null)
                        {
                            tipoLocales.Add(tipoLocal);
                        }
                    }
                }


                var confirmation = _estandarService.SaveOrUpdate(estandar);
                if (confirmation.WasSuccessful)
                {
                    estandar.Sistemas    = sistemas;
                    estandar.TipoLocales = tipoLocales;

                    _estandarService.SaveOrUpdate(estandar);

                    if (!string.IsNullOrEmpty(parentId))
                    {
                        var parentGuid = Guid.Parse(parentId);
                        var parent     = _estandarService.Get(parentGuid);
                        if (parent != null)
                        {
                            estandar.EstandarPadre = parent;
                            _estandarService.SaveOrUpdate(estandar);
                        }
                    }

                    this.AddPageMessage("Estandar creado con éxito", PageMessageType.Success, true);

                    if (!string.IsNullOrEmpty(parentId))
                    {
                        var parentGuid = Guid.Parse(parentId);
                        var parent     = _estandarService.Get(parentGuid);
                        if (parent != null)
                        {
                            return(RedirectToAction("show", "estandares", new { id = parent.Id }));
                        }
                        else
                        {
                            return(RedirectToAction("index", "estandares"));
                        }
                    }
                    else
                    {
                        return(RedirectToAction("index", "estandares"));
                    }
                }
                else
                {
                    this.AddPageMessage(confirmation.Message, PageMessageType.Error, false);
                }
            }

            PopulateFormModelData(formModel, null);
            return(View(formModel));
        }
예제 #13
0
        private void PopulateFormModelData(EstandarFormModel formModel, Estandar estandar)
        {
            if (estandar != null)
            {
                formModel.Id              = estandar.Id;
                formModel.Codigo          = estandar.Codigo;
                formModel.Descripcion     = estandar.Descripcion;
                formModel.NotasEspeciales = estandar.NotasEspeciales;
                formModel.Nombre          = estandar.Nombre;
                formModel.GrupoEstandar   = estandar.GrupoEstandar.Id;
                formModel.TipoEstandar    = estandar.TipoEstandar;
                formModel.Categoria       = estandar.Categoria.Id;
                formModel.Nivel           = estandar.Nivel.Id;
                formModel.Estado          = estandar.Estado.Id;
                formModel.Clasificacion   = estandar.Clasificacion.Id;
            }

            var grupoItems = new List <SelectListItem>();
            var grupoTypes = _estandarService.GetGruposList();

            foreach (var grupoEstandar in grupoTypes)
            {
                var selectItem = new SelectListItem
                {
                    Text  = grupoEstandar.Nombre,
                    Value = grupoEstandar.Id.ToString()
                };

                if (grupoEstandar.Id == formModel.GrupoEstandar)
                {
                    selectItem.Selected = true;
                }

                grupoItems.Add(selectItem);
            }

            formModel.GrupoEstandares = grupoItems;

            var tipoItems = Enum.GetValues(typeof(TipoEstandar)).Cast <int>()
                            .Select(e => new SelectListItem()
            {
                Text  = Enum.GetName(typeof(TipoEstandar), e),
                Value = e.ToString()
            }).ToList();

            foreach (var selectListItem in tipoItems)
            {
                if (selectListItem.Value == formModel.TipoEstandar.ToString())
                {
                    selectListItem.Selected = true;
                }
            }

            formModel.TipoEstandares = tipoItems;

            var estadoItems = new List <SelectListItem>();
            var estadoTypes = _statusService.GetItems(GrupoStatus.Global);

            foreach (var estadoType in estadoTypes)
            {
                var selectItem = new SelectListItem
                {
                    Text  = estadoType.Nombre,
                    Value = estadoType.Id.ToString()
                };

                if (estadoType.Id == formModel.Estado)
                {
                    selectItem.Selected = true;
                }

                estadoItems.Add(selectItem);
            }

            formModel.Estados = estadoItems;

            var nivelItems = new List <SelectListItem>();
            var nivelTypes = _estandarService.GetNivelList();

            foreach (var nivel in nivelTypes)
            {
                var selectItem = new SelectListItem
                {
                    Text  = nivel.Nombre,
                    Value = nivel.Id.ToString()
                };

                if (nivel.Id == formModel.Nivel)
                {
                    selectItem.Selected = true;
                }

                nivelItems.Add(selectItem);
            }

            formModel.Niveles = nivelItems;

            var categoriaItems = new List <SelectListItem>();
            var categoriaTypes = _estandarService.GetCategoriaList();

            foreach (var categoria in categoriaTypes)
            {
                var selectItem = new SelectListItem
                {
                    Text  = categoria.Nombre,
                    Value = categoria.Id.ToString()
                };

                if (categoria.Id == formModel.Categoria)
                {
                    selectItem.Selected = true;
                }

                categoriaItems.Add(selectItem);
            }

            formModel.Categorias = categoriaItems;

            var clasificacionesItems = new List <SelectListItem>();
            var clasificacionesTypes = _estandarService.GetClasificacionList();

            foreach (var clasificacion in clasificacionesTypes)
            {
                var selectItem = new SelectListItem
                {
                    Text  = clasificacion.Nombre,
                    Value = clasificacion.Id.ToString()
                };

                if (clasificacion.Id == formModel.Clasificacion)
                {
                    selectItem.Selected = true;
                }

                clasificacionesItems.Add(selectItem);
            }

            formModel.Clasificaciones = clasificacionesItems;

            var sistemas   = _estandarService.GetSistemaList();
            var checkItems = new List <CheckBoxModel>();

            foreach (var sistema in sistemas)
            {
                var checkItem = new CheckBoxModel
                {
                    Value = sistema.Id,
                    Text  = sistema.Nombre
                };
                if (estandar != null)
                {
                    checkItem.IsChecked = estandar.Sistemas.Contains(sistema);
                }
                checkItems.Add(checkItem);
            }

            formModel.Sistemas = new CheckBoxList {
                CheckBoxItems = checkItems
            };

            var tipoLocales     = _localService.GetTiposList();
            var checkLocalItems = new List <CheckBoxModel>();

            foreach (var tipoLocal in tipoLocales)
            {
                var checkItem = new CheckBoxModel
                {
                    Value = tipoLocal.Id,
                    Text  = tipoLocal.Detalle
                };
                if (estandar != null)
                {
                    checkItem.IsChecked = estandar.TipoLocales.Contains(tipoLocal);
                }
                checkLocalItems.Add(checkItem);
            }

            formModel.TipoLocales = new CheckBoxList {
                CheckBoxItems = checkLocalItems
            };
        }
예제 #14
0
        public void TestInitialize()
        {
            Cliente     cliente1 = new Cliente();
            Inteligente d1       = new Inteligente("TV LG", 100m);
            Estandar    d2       = new Estandar("TV", 200m);

            cliente1.Inteligentes.Add(d1);
            cliente1.Estandars.Add(d2);
            cliente1.Latitud         = 5.41;
            cliente1.Longitud        = 5.45;
            cliente1.TransformadorId = 1;

            Cliente     cliente2 = new Cliente();
            Inteligente d3       = new Inteligente("TV LG 55", 200m);
            Estandar    d4       = new Estandar("TV", 200m);
            Estandar    d5       = new Estandar("TV", 200m);

            cliente2.Inteligentes.Add(d3);
            cliente2.Estandars.Add(d4);
            cliente2.Estandars.Add(d5);
            cliente2.Latitud         = 5.39;
            cliente2.Longitud        = 5.43;
            cliente2.TransformadorId = 1;

            this.clientes1 = new List <Cliente> {
                cliente1, cliente2
            };


            //si se carga los transformadores con json comentar estoo
            Transformador trasformador1 = new Transformador();

            trasformador1.Id       = 1;
            trasformador1.Latitud  = 5.4;
            trasformador1.Longitud = 5.44;
            trasformador1.Clientes = clientes1;


            Cliente     cliente3 = new Cliente();
            Inteligente d6       = new Inteligente("TV LG", 100m);
            Estandar    d7       = new Estandar("TV", 200m);

            cliente3.Inteligentes.Add(d6);
            cliente3.Estandars.Add(d7);
            cliente3.Latitud         = -0.3;
            cliente3.Longitud        = -0.1;
            cliente3.TransformadorId = 10;

            Cliente     cliente4 = new Cliente();
            Inteligente d8       = new Inteligente("TV LG 55", 200m);
            Estandar    d9       = new Estandar("TV", 200m);
            Estandar    d10      = new Estandar("TV", 200m);

            cliente4.Inteligentes.Add(d8);
            cliente4.Estandars.Add(d9);
            cliente4.Estandars.Add(d10);
            cliente4.Latitud         = -0.1;
            cliente4.Longitud        = 0.1;
            cliente4.TransformadorId = 10;

            this.clientes2 = new List <Cliente> {
                cliente3, cliente4
            };

            //si se carga los transformadores con json comentar estoo
            Transformador trasformador2 = new Transformador();

            trasformador2.Id       = 10;
            trasformador2.Latitud  = -0.2;
            trasformador2.Longitud = 0;
            trasformador2.Clientes = clientes2;


            this.transformadores = new List <Transformador> {
                trasformador1, trasformador2
            };
            this.zona = new Zona();
            this.zona.Transformadores = transformadores;


            //TransformadoresHelper th = new TransformadoresHelper();
            //List<Transformador> transformadores = (List<Transformador>)th.Transformadores;
            //foreach (Transformador transformador in transformadores)
            //{
            //    if (transformador.Id==1)
            //    {
            //        transformador.Clientes = clientes1;
            //    }
            //    if (transformador.Id == 10)
            //    {
            //        transformador.Clientes = clientes2;
            //    }
            //}
        }