예제 #1
0
        public ActionResult Index()
        {
            ViewBag.FabricaAtivo        = "active";
            ViewBag.FabricaMaquinaAtivo = "active";
            ViewBag.FabricaShow         = "show";
            List <EmpresaModel>          lista_empresas        = new List <EmpresaModel>();
            List <Maquina>               lista_maquinas        = new List <Maquina>();
            List <Medidor_MaquinaModels> lista_maquinas_models = new List <Medidor_MaquinaModels>();
            List <Coletor>               lista_coletor         = new List <Coletor>();

            //
            if (Codigo_Empresa > 0)
            {
                lista_maquinas = db.Maquina.Where(a => a.Id_Empresa == Codigo_Empresa).ToList();
                //
                if (Tipo_Empresa == 1)
                {
                    ViewBag.ShowCrudIncluir = "inline";
                    ViewBag.ShowCrudEditar  = "inline";
                    ViewBag.ShowCrudExcluir = "inline";

                    Empresa empresa = db.Empresa.Where(x => x.Id == Codigo_Empresa).FirstOrDefault();
                    //
                    EmpresaModel empresa_model = new EmpresaModel();
                    empresa_model.Id   = empresa.Id;
                    empresa_model.Nome = empresa.Nome;
                    lista_empresas.Add(empresa_model);
                    //
                    string empresas = empresa.Empresas;
                    if (!string.IsNullOrEmpty(empresas))
                    {
                        string[] empresas_array     = empresas.Split(',');
                        int[]    ids                = Array.ConvertAll(empresas_array, s => int.Parse(s));
                        var      lista_sub_empresas = db.Empresa.Where(r => ids.Contains(r.Id));
                        if (lista_sub_empresas.Any())
                        {
                            List <Maquina> lista_sub_maquinas = new List <Maquina>();
                            foreach (Empresa sub_empresa in lista_sub_empresas)
                            {
                                empresa_model      = new EmpresaModel();
                                empresa_model.Id   = sub_empresa.Id;
                                empresa_model.Nome = sub_empresa.Nome;
                                lista_empresas.Add(empresa_model);

                                lista_sub_maquinas = db.Maquina.Where(x => x.Id_Empresa == sub_empresa.Id).ToList();
                                lista_maquinas.AddRange(lista_sub_maquinas);
                            }
                        }
                    }
                }
                else
                {
                    ViewBag.ShowCrudIncluir = "none";
                    ViewBag.ShowCrudEditar  = "none";
                    ViewBag.ShowCrudExcluir = "none";
                }
                //
                foreach (Maquina item in lista_maquinas)
                {
                    Medidor_MaquinaModels novo = new Medidor_MaquinaModels();
                    novo.ID               = item.ID;
                    novo.Id_Empresa       = item.Id_Empresa;
                    novo.Descricao        = item.Descricao;
                    novo.DescricaoEmpresa = item.Empresa.Nome;
                    //
                    Coletor oColetor = db.Coletor.Where(a => a.Maquina.Id_Empresa == item.Empresa.Id && a.Id_Maquina == item.ID).FirstOrDefault();
                    //
                    if (oColetor != null)
                    {
                        novo.DescricaoMedidor = oColetor.Descricao;
                        novo.Id_Coletor       = oColetor.Id;
                    }
                    //
                    lista_maquinas_models.Add(novo);
                }
                //
                lista_coletor = db.Coletor.Where(a => a.Id_Empresa == Codigo_Empresa && a.Id_Maquina == null).ToList();
                //
                Coletor coletor_vazio = new Coletor();
                coletor_vazio.Id        = 0;
                coletor_vazio.Descricao = "N/A";
                lista_coletor.Add(coletor_vazio);
                lista_coletor         = lista_coletor.OrderBy(a => a.Id).ToList();
                lista_maquinas_models = lista_maquinas_models.OrderBy(x => x.ID).ToList();
                //
                ViewBag.ListaEmpresas = lista_empresas;
                ViewBag.ListaMaquinas = lista_maquinas_models;
                ViewBag.ListaColetor  = lista_coletor;
            }
            //
            return(View());
        }
예제 #2
0
        //
        public JsonResult CarregaDados()
        {
            string sret = string.Empty;
            List <Medidor_MaquinaModels> lista_retorno  = new List <Medidor_MaquinaModels>();
            List <EmpresaModel>          lista_empresas = new List <EmpresaModel>();
            List <Maquina> lista_maquinas = db.Maquina.Where(a => a.Id_Empresa == Codigo_Empresa).ToList();

            //
            try
            {
                if (Tipo_Empresa == 1)
                {
                    Empresa empresa = db.Empresa.Where(x => x.Id == Codigo_Empresa).FirstOrDefault();
                    //
                    EmpresaModel empresa_model = new EmpresaModel();
                    empresa_model.Id   = empresa.Id;
                    empresa_model.Nome = empresa.Nome;
                    lista_empresas.Add(empresa_model);
                    //
                    string empresas = empresa.Empresas;
                    if (!string.IsNullOrEmpty(empresas))
                    {
                        string[] empresas_array     = empresas.Split(',');
                        int[]    ids                = Array.ConvertAll(empresas_array, s => int.Parse(s));
                        var      lista_sub_empresas = db.Empresa.Where(r => ids.Contains(r.Id));
                        if (lista_sub_empresas.Any())
                        {
                            List <Maquina> lista_sub_maquinas = new List <Maquina>();
                            foreach (Empresa sub_empresa in lista_sub_empresas)
                            {
                                empresa_model      = new EmpresaModel();
                                empresa_model.Id   = sub_empresa.Id;
                                empresa_model.Nome = sub_empresa.Nome;
                                lista_empresas.Add(empresa_model);

                                lista_sub_maquinas = db.Maquina.Where(x => x.Id_Empresa == sub_empresa.Id).ToList();
                                lista_maquinas.AddRange(lista_sub_maquinas);
                            }
                        }
                    }
                }
                //
                foreach (Maquina item in lista_maquinas)
                {
                    Medidor_MaquinaModels novo = new Medidor_MaquinaModels();
                    novo.ID               = item.ID;
                    novo.Id_Empresa       = item.Id_Empresa;
                    novo.Descricao        = item.Descricao;
                    novo.DescricaoEmpresa = item.Empresa.Nome;
                    //
                    Coletor oColetor = db.Coletor.Where(a => a.Maquina.Id_Empresa == item.Empresa.Id && a.Id_Maquina == item.ID).FirstOrDefault();
                    //
                    if (oColetor != null)
                    {
                        novo.DescricaoMedidor = oColetor.Descricao;
                        novo.Id_Coletor       = oColetor.Id;
                    }
                    //
                    lista_retorno.Add(novo);
                }
                //
                sret = "ok";
            }
            catch (Exception exc)
            {
                sret = exc.Message;
            }
            //
            lista_retorno = lista_retorno.OrderBy(x => x.ID).ToList();
            //
            return(Json(new { data = sret, lista_retorno, results = 0, success = true }, JsonRequestBehavior.AllowGet));
        }