Example #1
0
        public ActionResult Delete(int id, [FromBody] SubCategoria SubCategoria)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id == SubCategoria.CodSubCategoria)
            {
                SubCategoriaServicio.Eliminar(SubCategoria);
            }
            else
            {
                return(NotFound());
            }
            return(new  CreatedAtRouteResult("GetSubCategoria", id = SubCategoria.CodSubCategoria, SubCategoria));
        }
Example #2
0
        public DataTable Carregar(SubCategoria dto)
        {
            AcessoDados dal = new AcessoDados();

            try
            {
                DataTable dt = new DataTable();
                dal.LimparParametros();
                dal.AdicionarParametro("@Operacao", dto.Operacao);

                return(dt = dal.ExecutarConsulta(CommandType.StoredProcedure, "Sp_SubCategoria"));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Example #3
0
        public static SubCategoriaViewModel CategoriaToCategoriaViewModel(SubCategoria subCategoria)
        {
            SubCategoriaViewModel subCategoriaViewModel = null;

            if (subCategoria != null)
            {
                subCategoriaViewModel = new SubCategoriaViewModel();

                subCategoriaViewModel.SubCategoriaId = subCategoria.SubCategoriaId;
                subCategoriaViewModel.Descricao      = subCategoria.Descricao;
                subCategoriaViewModel.Slug           = subCategoria.Slug;

                subCategoriaViewModel.IdCategoria = subCategoria.Categoria.CategoriaId;
            }

            return(subCategoriaViewModel);
        }
        public void Agregar(SubCategoria nuevo)
        {
            AccesoDatos datos = new AccesoDatos();

            try
            {
                datos.setearSP("spAgregarSubCategoria");

                datos.agregarParametro("@Nombre", nuevo.Nombre);

                datos.ejecutarAccion();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 private void tbtnActualizar_Click(object sender, EventArgs e)
 {
     if (txtId.Text != "")
     {
         SubCategoria objSub = new SubCategoria();
         objSub.Idsub       = Convert.ToInt32(txtId.Text);
         objSub.Nombre      = txtNombre.Text;
         objSub.Descripcion = txtDescripcion.Text;
         objSub.Idcategoria = Convert.ToInt32(txtIdCategoria.Text);
         objSub.editarSubCategoria();
         MessageBox.Show("Sub Categoria editada con exito");
     }
     else
     {
         MessageBox.Show("Debe ingresar una ID a editar");
     }
 }
Example #6
0
        // GET: SubCategoria/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SubCategoria subCategoria = await db.SubCategorias.FindAsync(id);

            if (subCategoria == null)
            {
                return(HttpNotFound());
            }
            ViewBag.CategoriaId = new SelectList(db.Categorias, "Id", "Descricao", subCategoria.CategoriaId);
            var subCategoriaBM = Mapper.Map <SubCategoriaBM>(subCategoria);

            return(View(subCategoriaBM));
        }
        public int Guardar(SubCategoria model)
        {
            try
            {
                using (var context = new CuentasArEntities())
                {
                    context.SubCategoria.Add(model);
                    context.SaveChanges();
                }

                return(model.idCategoria);
            }
            catch (Exception ex)
            {
                throw new Exception("No se puede guardar el registro.", ex);
            }
        }
        public ActionResult Delete(string id, FormCollection collection)
        {
            try
            {
                using (DbModels dbModel = new DbModels())
                {
                    SubCategoria subCategoria = dbModel.SubCategoria.Where(x => x.Cod_SubCategoria == id).FirstOrDefault();
                    dbModel.SubCategoria.Remove(subCategoria);
                    dbModel.SaveChanges();
                }

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Example #9
0
        public async Task <ActionResult> Edit(SubCategoriaBM subCategoriaBM)
        {
            if (ModelState.IsValid)
            {
                SubCategoria subCategoria = Mapper.Map <SubCategoria>(subCategoriaBM);

                Notification notification = await _atualizarSubCategoria.Executar(subCategoria);

                if (notification.HasErrors == false)
                {
                    return(RedirectToAction("Index", "Categoria", null));
                }

                ModelState.AddModelError("", String.Join(", ", notification.Errors));
            }
            ViewBag.CategoriaId = new SelectList(db.Categorias, "Id", "Descricao", subCategoriaBM.CategoriaId);
            return(View(subCategoriaBM));
        }
        public ActionResult Create(SubCategoria subCategoria)
        {
            try
            {
                using (DbModels dbModels = new DbModels())
                {
                    dbModels.SubCategoria.Add(subCategoria);
                    dbModels.SaveChanges();
                }
                // TODO: Add insert logic here

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
        public ActionResult Edit(string id, SubCategoria subCategoria)
        {
            try
            {
                using (DbModels dbModel = new DbModels())
                {
                    dbModel.Entry(subCategoria).State = EntityState.Modified;
                    dbModel.SaveChanges();
                }
                // TODO: Add update logic here

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Example #12
0
        public List <SubCategoria> Listar()
        {
            List <SubCategoria> List = new List <SubCategoria>();
            DataTable           data = new DataTable();

            data = Conexion.ExecuteProcedureD("USP_S_ListarSubCategoria").Tables[0];
            foreach (DataRow row in data.Rows)
            {
                SubCategoria be = new SubCategoria
                {
                    ID        = Convert.ToInt32(row[0]),
                    Categoria = Convert.ToInt32(row[1]),
                    Nombre    = row[2].ToString()
                };
                List.Add(be);
            }
            return(List);
        }
Example #13
0
        private void Listar()
        {
            SubCategoria    dto = new SubCategoria();
            BllSubCategoria bll = new BllSubCategoria();

            dto.Operacao = "Listar";

            try
            {
                DataTable dt = bll.Listar(dto);

                dgv.DataSource = dt;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Example #14
0
 // PUT api/<controller>/5
 public bool Put(SubCategoria subcategoria)
 {
     try
     {
         ServiciosLogica logica = new ServiciosLogica();
         return(logica.EditarSubCategoria(subcategoria));
     }
     catch (Exception ex)
     {
         string mensaje   = ex.Message;
         var    respuesta = new HttpResponseMessage(HttpStatusCode.NotFound)
         {
             Content      = new StringContent(string.Format(mensaje)),
             ReasonPhrase = "Error al Editar SubCategoria: " + ex.Message.Replace("\n", "").Replace("\r", "")
         };
         throw new HttpResponseException(respuesta);
     }
 }
Example #15
0
        //Faz update de uma sub categoria
        public bool UpdateSubCategoria(SubCategoria subCategoria)
        {
            int result = 0;

            try
            {
                using (var conn = new SQLiteConnection(dbFile))
                {
                    result = conn.Update(subCategoria);
                }
                return(true);
            }
            catch (Exception ex)
            {
                StatusMessage = ($"Falha ao atualizar a subcategoria: {subCategoria.NomeSubCategoria}. Erro: {ex.Message}.");
                Debug.WriteLine(StatusMessage);
                return(false);
            }
        }
 public ActionResult Cadastrar(SubCategoria subcategoria)
 {
     if (ModelState.IsValid)
     {
         var subcadastraCategoria = HelperSOA.CallApi(Api, WebRequestMethods.Http.Post, JsonConvert.SerializeObject(subcategoria), string.Empty);
         if (subcadastraCategoria.StatusCode == HttpStatusCode.Created)
         {
             return(RedirectToAction("Index"));
         }
         else
         {
             return(View("Index"));
         }
     }
     else
     {
         return(View());
     }
 }
        public int Modificar(SubCategoria model)
        {
            try
            {
                using (var context = new CuentasArEntities())
                {
                    context.SubCategoria.Attach(model);
                    context.Entry(model).Property(x => x.idCategoria).IsModified = true;
                    context.Entry(model).Property(x => x.Descripcion).IsModified = true;

                    context.SaveChanges();
                }

                return(model.idSubCategoria);
            }
            catch (Exception ex)
            {
                throw new Exception("No se puede modificar el registro.", ex);
            }
        }
Example #18
0
 private void SelectSubCategoria(SubCategoria selectedSubCategoria)
 {
     if (selectedSubCategoria != null)
     {
         if (selectedSubCategoria.TipoSubCategoria == TipoSubCategoria.RamoComercial)
         {
             NavigationParameters query = new NavigationParameters();
             query.Add("subCategoria", selectedSubCategoria.Id.ToString());
             this.RegionManager.RequestNavigate(RegionNames.REGION_WORK_AREA,
                                                new Uri("BusquedaCategoriaView" + query.ToString(), UriKind.Relative));
         }
         else
         {
             NavigationParameters query = new NavigationParameters();
             query.Add("ID", selectedSubCategoria.Id.ToString());
             this.RegionManager.RequestNavigate(RegionNames.REGION_WORK_AREA,
                                                new Uri("DatosClienteView" + query.ToString(), UriKind.Relative));
         }
     }
 }
        public ActionResult Edicion(SubCategoria model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    new SubCategoriaBusiness().Modificar(model);

                    string url = Url.Action("ListaParcial", "SubCategoria");
                    return(Json(new { success = true, url }));
                }

                CargarCombos();
                return(PartialView("_Edicion", model));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void RemoverSubCategoria(SubCategoria subCategoria)
        {
            try
            {
                IniciarTransacao();

                if (subCategoria.Campos != null && subCategoria.Campos.Any())
                {
                    subCategoria.Campos.ToList().ForEach(_repositorioCampos.Remover);
                }

                _repositorioSubCategoria.Remover(subCategoria.Id);

                PersistirTransacao();
            }
            catch (Exception ex)
            {
                throw new Exception(String.Format("Erro ao RemoverSubCategoria: {0}", ex.Message));
            }
        }
Example #21
0
        public HttpResponseMessage Inserir(HttpRequestMessage request, SubCategoriaViewModel SubCategoriaViewModel)
        {
            return(CreateHttpResponse(request, () =>
            {
                HttpResponseMessage response = null;

                if (!ModelState.IsValid)
                {
                    response = request.CreateResponse(HttpStatusCode.BadRequest,
                                                      ModelState.Keys.SelectMany(k => ModelState[k].Errors)
                                                      .Select(m => m.ErrorMessage).ToArray());
                }
                else
                {
                    Usuario usuario = _usuarioRep.GetSingle(int.Parse(HttpContext.Current.User.Identity.GetUserId()));

                    SubCategoria novaSubCategoria = new SubCategoria()
                    {
                        UsuarioCriacao = usuario,
                        DtCriacao = DateTime.Now,
                        Ativo = SubCategoriaViewModel.Ativo,
                        DescSubCategoria = SubCategoriaViewModel.DescSubCategoria,
                        CategoriaId = SubCategoriaViewModel.CategoriaId
                    };

                    _subCategoriaRep.Add(novaSubCategoria);

                    _unitOfWork.Commit();

                    //Cria Diretório quando se cadastra um nova subcategoria
                    CriarDiretorioImagens(SubCategoriaViewModel, novaSubCategoria);


                    // Update view model
                    SubCategoriaViewModel = Mapper.Map <SubCategoria, SubCategoriaViewModel>(novaSubCategoria);
                    response = request.CreateResponse(HttpStatusCode.Created, SubCategoriaViewModel);
                }

                return response;
            }));
        }
Example #22
0
        public string Cadastrar(SubCategoria dto)
        {
            AcessoDados dal = new AcessoDados();

            string retorno;

            try
            {
                dal.LimparParametros();
                dal.AdicionarParametro("@Operacao", dto.Operacao);
                dal.AdicionarParametro("@SubCategoriaId", dto.SubCategoriaId);
                dal.AdicionarParametro("@NomeSubCateg", dto.NomeSubCateg);
                dal.AdicionarParametro("@Estado", dto.Estado);

                return(retorno = dal.ExecutarOperacao(CommandType.StoredProcedure, "Sp_SubCategoria").ToString());
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public ActionResult Excluir(int id, SubCategoria subCat)
        {
            try
            {
                using (var session = NHibernateHelper.OpenSession())
                {
                    using (var transaction = session.BeginTransaction())
                    {
                        var subCategoriaDeletar = session.Get <SubCategoria>(id);

                        session.Delete(subCategoriaDeletar);
                        transaction.Commit();
                    }
                    return(RedirectToAction("Index"));
                }
            }
            catch
            {
                return(View());
            }
        }
Example #24
0
        public List <SubCategoria> ListarxCategoria(int categoria)
        {
            List <SubCategoria> List = new List <SubCategoria>();

            SQLParameter[] parameters = new SQLParameter[1];
            parameters[0] = new SQLParameter("@Categoria", categoria, SqlDbType.Int);
            DataTable data = new DataTable();

            data = Conexion.ExecuteProcedureD("USP_S_ListarSubCategoriaxCategoria", parameters).Tables[0];
            foreach (DataRow row in data.Rows)
            {
                SubCategoria be = new SubCategoria
                {
                    ID        = Convert.ToInt32(row[0]),
                    Categoria = Convert.ToInt32(row[1]),
                    Nombre    = row[2].ToString()
                };
                List.Add(be);
            }
            return(List);
        }
Example #25
0
        public HttpResponseMessage Atualizar(HttpRequestMessage request, SubCategoriaViewModel subcategoriaViewModel)
        {
            return(CreateHttpResponse(request, () =>
            {
                HttpResponseMessage response = null;

                if (!ModelState.IsValid)
                {
                    response = request.CreateResponse(HttpStatusCode.BadRequest,
                                                      ModelState.Keys.SelectMany(k => ModelState[k].Errors)
                                                      .Select(m => m.ErrorMessage).ToArray());
                }
                else
                {
                    SubCategoria novaSubCategoria = _subCategoriaRep.GetSingle(subcategoriaViewModel.Id);

                    //Cria Diretório quando se cadastra um nova subcategoria
                    CriarDiretorioImagens(subcategoriaViewModel, novaSubCategoria);

                    if (novaSubCategoria.CategoriaId != subcategoriaViewModel.CategoriaId && novaSubCategoria.Produtos.Count > 0)
                    {
                        response = request.CreateResponse(HttpStatusCode.PreconditionFailed, "Não é possível alterar a Categoria desta sub-categoria, pois já existem imagens associadas a ela.");
                    }
                    else
                    {
                        Usuario usuario = _usuarioRep.GetSingle(int.Parse(HttpContext.Current.User.Identity.GetUserId()));

                        novaSubCategoria.AtualizarSubCategoria(subcategoriaViewModel, usuario);

                        _unitOfWork.Commit();

                        // Update view model
                        subcategoriaViewModel = Mapper.Map <SubCategoria, SubCategoriaViewModel>(novaSubCategoria);
                        response = request.CreateResponse(HttpStatusCode.OK, subcategoriaViewModel);
                    }
                }

                return response;
            }));
        }
Example #26
0
        public JsonResult GuardarModificarCategoria(Categoria oCategoria, string[] Subcategorias, HttpPostedFileBase imagen)
        {
            try
            {
                Categoria oCatImagen = new Categoria();
                //usuario oUsuario = (usuario)Session["Usuario"];
                //if (oUsuario == null || oUsuario.idTipoUsuario != 2)
                //{
                //    throw new Exception();
                //}
                oCategoria.nombre = oCategoria.nombre.ToUpper();
                SubCategoria oSubcategoria;
                foreach (string stCategoria in Subcategorias)
                {
                    string[] stCat = stCategoria.Split(';');
                    oSubcategoria                = new SubCategoria();
                    oSubcategoria.idCategoria    = oCategoria.idCategoria;
                    oSubcategoria.idSubCategoria = Convert.ToInt32(stCat[0]);
                    oSubcategoria.nombre         = stCat[1].ToUpper();
                    oCategoria.SubCategoria.Add(oSubcategoria);
                }
                srvCategories sCategoria = new srvCategories();
                //Guardar imagen de categoria
                string stNombreArchivo = imagen.FileName.Substring(imagen.FileName.LastIndexOf("\\") + 1).ToString();
                string stRuta          = "~/Images/Categories/";
                oCatImagen = sCategoria.ObtenerCategoria(oCategoria.idCategoria);
                if (oCategoria.nombreImagen != oCatImagen.nombreImagen || stNombreArchivo == "404_not_found.jpg" || oCategoria.idCategoria == 0)
                {
                    imagen.SaveAs(Server.MapPath(stRuta + stNombreArchivo));
                    oCategoria.nombreImagen = stNombreArchivo;
                }
                oCategoria = sCategoria.GuardarModificarCategoria(oCategoria);

                return(Json(oCategoria.idCategoria + ";" + oCategoria.nombre));
            }
            catch (Exception)
            {
                return(Json(""));
            }
        }
Example #27
0
        //Método Carregar Combo SubCategoria
        private void Carregar()
        {
            SubCategoria    dto = new SubCategoria();
            BllSubCategoria bll = new BllSubCategoria();

            try
            {
                dto.Operacao = "ListarCombo";
                DataTable dt      = bll.Carregar(dto);
                DataRow   topItem = dt.NewRow();
                topItem[0] = 0;
                topItem[1] = "- Selecionar SubCategoria -";
                dt.Rows.InsertAt(topItem, 0);
                cbSubCateg.DataSource    = dt;
                cbSubCateg.DisplayMember = "NomeSubCateg";
                cbSubCateg.ValueMember   = "SubCategoriaId";
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Example #28
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            SubCategoria subCategoria = await db.SubCategorias.FindAsync(id);

            if (subCategoria == null)
            {
                return(HttpNotFound());
            }

            Notification notification = await _removerSubCategoria.Executar(id);

            if (notification.HasErrors == false)
            {
                return(RedirectToAction("Index", "Categoria", null));
            }
            else
            {
                ViewBag.ErrorMessage = String.Join(", ", notification.Errors);
                var subCategoriaBM = Mapper.Map <SubCategoriaBM>(subCategoria);
                return(View(subCategoriaBM));
            }
        }
Example #29
0
        public void CarregaSubCategorias()
        {
            try
            {
                Entidades.ImovelColletion EntColl = new Entidades.ImovelColletion();
                BLL.Imovel BLL = new BLL.Imovel();
                EntColl = BLL.CarregaSubCategorias();

                SubCategoria.DataTextField  = "Nome";
                SubCategoria.DataValueField = "id_SubCategoria";

                SubCategoria.DataSource = EntColl;
                SubCategoria.DataBind();

                SubCategoria.Items.Insert(0, "Selecione");
                SubCategoria.SelectedIndex = 0;
            }
            catch (Exception Ex)
            {
                throw Ex;
            }
        }
        public async Task <SubCategoria> EditSubCategory(SubCategoria subCategoria)
        {
            try
            {
                var model = await _context.SubCategorias.AsNoTracking().FirstOrDefaultAsync(x => x.IdSubCategoria == subCategoria.IdSubCategoria);

                if (model != null)
                {
                    _context.SubCategorias.Add(subCategoria).State = EntityState.Modified;
                    await _context.SaveChangesAsync();

                    return(subCategoria);
                }
                return(null);
            }
            catch (Exception e)
            {
                log.ErrorFormat("Error al  Actualizar Usuario UpdateUser()  {0} : {1} ", e.Source, e.Message);

                throw;
            }
        }
        public Incidente()
        {
            _atenciones = new BindingList<Atencion>();
            _solicitudCambio = new SolicitudCambio();
            _tipoIncidente = new TipoIncidente();
            _elemento = new Elemento();
            _impacto = new Impacto();
            _plataforma = new Plataforma();
            _prioridad = new Prioridad();
            _solicitudCambio = new SolicitudCambio();

            _categoria = new Categoria();
            _subCategoria = new SubCategoria();

            _usuarioDeriva = new Usuario();
            _usuarioAsigna = new Usuario();
            _asesor = new Usuario();

            _area = new Area();
            _sede = new Sede();

            _usuarioContacto = new Usuario();
        }
        public void Dispose()
        {
            _solicitudCambio = null;
            _tipoIncidente = null;
            _elemento = null;
            _impacto = null;
            _plataforma = null;
            _prioridad = null;
            _solicitudCambio = null;

            _categoria = null;
            _subCategoria = null;

            _usuarioDeriva = null;
            _usuarioAsigna = null;
            _asesor = null;

            _area = null;
            _sede = null;

            _usuarioContacto = null;

            _atenciones = null;
        }
        public ActionResult Index(ReqCatalogo reqCatalogo)
        {
            Catalogo catalogo = new Catalogo();
            SqlDataReader reader = null;
            SqlConnection myConnection = new SqlConnection();
            try
            {
                myConnection.ConnectionString = ConfigurationManager.ConnectionStrings["BaseComercial"].ConnectionString;
                myConnection.Open();
                List<Categoria> categorias= new List<Categoria>();
                List<Articulo> articulos = new List<Articulo>();
                List<Modificador> modificadores = new List<Modificador>();
                try//EL SIGUEINTE BLOQUE ES PARA EXTRAER LAS CATEGORIAS
                {
                    SqlCommand command = new SqlCommand("SELECT * FROM AGRUPACION_CAT WHERE AGRU_PADRE = 0;", myConnection);
                    reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        Categoria categoria = new Categoria();

                        List<Modificador> listaModificadores = new List<Modificador>();
                        categoria.agru_des = reader["agru_des"].ToString();
                        categoria.agru_desc = reader["agru_desc"].ToString();
                        categoria.agru_id = Convert.ToInt32(reader["agru_id"].ToString());
                        categoria.agru_padre = Convert.ToInt32(reader["agru_padre"].ToString());
                        categoria.agru_tipo = Convert.ToInt32(reader["agru_tipo"].ToString());
                        if(categoria.agru_tipo == 1){
                            categoria.hasSubCat = true;
                            //SqlCommand commandFindSub = new SqlCommand("SELECT * FROM AGRUPACION_CAT WHERE AGRU_TIPO = 1 AND AGRU_PADRE = "+categoria.agru_padre, myConnection);
                            SqlCommand commandFindSub = new SqlCommand("SELECT * FROM AGRUPACION_CAT WHERE AGRU_PADRE = " + categoria.agru_id, myConnection);
                            SqlDataReader readerSub = commandFindSub.ExecuteReader();
                            List<SubCategoria> listasubCateg = new List<SubCategoria>();
                            while(readerSub.Read()){
                                SubCategoria subCat = new SubCategoria();
                                subCat.agru_des = readerSub["agru_des"].ToString();
                                subCat.agru_desc = readerSub["agru_desc"].ToString();
                                subCat.agru_id = Convert.ToInt32(readerSub["agru_id"].ToString());
                                subCat.agru_padre = Convert.ToInt32(readerSub["agru_padre"].ToString());
                                subCat.agru_tipo = Convert.ToInt32(readerSub["agru_tipo"].ToString());
                                SqlCommand commandFindSubArt = new SqlCommand("SELECT A.AGRU_ID, A.ART_DES, A.ART_DESC, A.ART_EAN, A.TIPP_ID, B.ART_PRECIO FROM ARTICULO A, ARTICULO_PRECIO B WHERE  A.AGRU_ID = "+subCat.agru_id +" AND B.ART_EAN = A.ART_EAN AND B.SUCC_ID ="+reqCatalogo.succ_id, myConnection);
                                SqlDataReader readerSubArt = commandFindSubArt.ExecuteReader();
                                List<Articulo> listArticulos = new List<Articulo>();
                                while(readerSubArt.Read()){
                                    Articulo articulo = new Articulo();
                                    articulo.agru_id = Convert.ToInt32(readerSubArt["agru_id"].ToString());
                                    articulo.art_des = readerSubArt["art_des"].ToString();
                                    articulo.art_desc = readerSubArt["art_desc"].ToString();
                                    articulo.art_ean = Convert.ToDecimal(readerSubArt["art_ean"].ToString());
                                    articulo.art_precio = Convert.ToDecimal(readerSubArt["art_precio"].ToString());
                                    articulo.tipp_id = Convert.ToInt32(readerSubArt["tipp_id"].ToString());
                                    listArticulos.Add(articulo);
                                }//fin while busqueda Articulos por Casa SubCategoria
                                subCat.articulos = listArticulos;
                                SqlCommand commandFindModificadores = new SqlCommand("SELECT * FROM AGRUPACION_MODIF WHERE AGRU_ID = "+subCat.agru_id, myConnection);
                                SqlDataReader readerModif = commandFindModificadores.ExecuteReader();
                                while(readerModif.Read()){
                                    Modificador modificador = new Modificador();
                                    modificador.agru_consec = Convert.ToInt32(readerModif["agru_consec"].ToString());
                                    modificador.agru_des = readerModif["agru_consec"].ToString();
                                    modificador.agru_desc = readerModif["agru_consec"].ToString();
                                    modificador.agru_id = Convert.ToInt32(readerModif["agru_consec"].ToString());
                                    listaModificadores.Add(modificador);
                                }
                                subCat.modificadores = listaModificadores;
                                listasubCateg.Add(subCat);
                            }//Fin Busqueda SubCategorias
                            categoria.subCat = listasubCateg;
                        }else if(categoria.agru_tipo == 2){
                            categoria.hasSubCat = false;
                            SqlCommand commandFindArt = new SqlCommand("SELECT A.AGRU_ID, A.ART_DES, A.ART_DESC, A.ART_EAN, A.TIPP_ID, B.ART_PRECIO FROM ARTICULO A, ARTICULO_PRECIO B WHERE  A.AGRU_ID = " + categoria.agru_id + " AND B.ART_EAN = A.ART_EAN AND B.SUCC_ID =" + reqCatalogo.succ_id, myConnection);
                            SqlDataReader readerArt = commandFindArt.ExecuteReader();
                            List<Articulo> listArticulos = new List<Articulo>();
                            while (readerArt.Read())
                            {
                                Articulo articulo = new Articulo();
                                articulo.agru_id = Convert.ToInt32(readerArt["agru_id"].ToString());
                                articulo.art_des = readerArt["art_des"].ToString();
                                articulo.art_desc = readerArt["art_desc"].ToString();
                                articulo.art_ean = Convert.ToDecimal(readerArt["art_ean"].ToString());
                                articulo.art_precio = Convert.ToDecimal(readerArt["art_precio"].ToString());
                                articulo.tipp_id = Convert.ToInt32(readerArt["tipp_id"].ToString());
                                listArticulos.Add(articulo);
                            }//fin while busqueda Articulos por Casa SubCategoria
                            categoria.articulos = listArticulos;
                            SqlCommand commandFindModificadores = new SqlCommand("SELECT * FROM AGRUPACION_MODIF WHERE AGRU_ID = "+categoria.agru_id , myConnection);
                            SqlDataReader readerModif = commandFindModificadores.ExecuteReader();
                            while (readerModif.Read())
                            {
                                Modificador modificador = new Modificador();
                                modificador.agru_consec = Convert.ToInt32(readerModif["agru_consec"].ToString());
                                modificador.agru_des = readerModif["agru_consec"].ToString();
                                modificador.agru_desc = readerModif["agru_consec"].ToString();
                                modificador.agru_id = Convert.ToInt32(readerModif["agru_consec"].ToString());
                                listaModificadores.Add(modificador);
                            }//FIN while musca modificador
                            categoria.modificadores = listaModificadores;
                        }
                        categorias.Add(categoria);
                    }
                    catalogo.catalogo = categorias;
                }
                catch (SqlException exCat)
                {
                    catalogo.success = false;
                    catalogo.message = "ERROR 122" + exCat.Message;
                    return Json(catalogo);
                }
                /*
                //EL SIGUIENTE BLOQUE BUSCA LOS ARTICULOS Y SUS PRECIOS DE ACUERDO A LA SUCURSAL CORRESPONDIENTE
                try {
                    SqlCommand command = new SqlCommand("SELECT *   ", myConnection);// ? <- Query con join
                    reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        Articulo articulo = new Articulo();
                        articulo.agru_id = Convert.ToInt32(reader["agru_id"].ToString());
                        articulo.art_des = reader["art_des"].ToString();
                        articulo.art_desc = reader["art_desc"].ToString();
                        articulo.art_ean = Convert.ToDecimal(reader["art_ean"].ToString());
                        articulo.art_precio = Convert.ToDecimal(reader["art_precio"].ToString());
                        articulos.Add(articulo); //A la lista agrega el articulo recuperado durante este bucle del while
                    }//Fin while DataReader buscando Articulo
                    catalogo.articulos = articulos;//Agrega al objeto pre-json el list de los articulos recuperados
                }catch(SqlException exArt){
                    catalogo.success = false;
                    catalogo.message = "ERROR " + exArt.Message;
                    return Json(catalogo);
                }//Fin try-catch buscando Artículo
                //EL SIGUIENTE BLOQUE RECUPERA LOS MODIFICADORES REGISTRADOS EN LA BD
                try {
                    SqlCommand command = new SqlCommand("SELECT *  FROM AGRUPACION_MODIF", myConnection);// ? <- Query con join
                    reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        Modificador modificador = new Modificador();
                        modificador.agru_consec = Convert.ToInt32(reader["art_des"].ToString());
                        modificador.agru_des = reader["art_des"].ToString();
                        modificador.agru_desc = reader["art_des"].ToString();
                        modificador.agru_id = Convert.ToInt32(reader["art_des"].ToString());
                        modificadores.Add(modificador); //A la lista agrega el modificador recuperado durante este bucle del while
                    }//fin while DataReader buscando Modificadores
                    catalogo.modificadores = modificadores;//Agregar al objeto pre-json el Listo de Modificadores
                }catch (SqlException exModif) {
                    catalogo.success = false;
                    catalogo.message = "ERROR " + exModif.Message;
                    return Json(catalogo);
                }//fin try-catch buscando Modificadores
                 */
            }catch(Exception e){
                catalogo.success = false;//En caso de caer en exception el estado del boleano se envia en falso y en message el detalle del error
                catalogo.message = "ERROR 168 " + e.Message;
                return Json(catalogo);
            }finally{
                myConnection.Close();//Cerrando dentro del finally la conexión realizada a la base de datos
            }//fin Bloque completo de Try
            catalogo.success = true;//Completando el objeto json con estado true y mensaje OK
            catalogo.message = "OK";
            return Json(catalogo);
        }
        public ActionResult getCatalogo(ReqCatalogo reqCatalogo)
        {
            log.Info("Solicitando el Catalogo");
            Catalogo catalogo = new Catalogo();
            SqlDataReader reader = null;
            SqlConnection myConnection = new SqlConnection();
            try
            {
                myConnection.ConnectionString = ConfigurationManager.ConnectionStrings["BaseComercial"].ConnectionString;
                myConnection.Open();
                List<Categoria> categorias = new List<Categoria>();
                List<Articulo> articulos = new List<Articulo>();
                List<Modificador> modificadores = new List<Modificador>();
                try//EL SIGUEINTE BLOQUE ES PARA EXTRAER LAS CATEGORIAS
                {
                    //SqlCommand command = new SqlCommand("SELECT A.* FROM AGRUPACION_CAT A, RESTAURANT_AGRUP B WHERE B.REST_ID = " + reqCatalogo.rest_id + " AND A.AGRU_PADRE = 0 AND A.AGRU_ID=B.AGRU_ID", myConnection);
                    SqlCommand command = new SqlCommand("SELECT A.* FROM AGRUPACION_CAT A WHERE A.AGRU_PADRE = 0", myConnection);
                    reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        Categoria categoria = new Categoria();
                        List<Modificador> listaModificadores = new List<Modificador>();
                        categoria.agru_des = reader["agru_des"].ToString();
                        categoria.agru_desc = reader["agru_desc"].ToString();
                        categoria.agru_id = Convert.ToInt32(reader["agru_id"].ToString());
                        categoria.agru_padre = Convert.ToInt32(reader["agru_padre"].ToString());
                        categoria.agru_tipo = Convert.ToInt32(reader["agru_tipo"].ToString());
                        if (categoria.agru_tipo == 1)
                        {
                            categoria.hasSubCat = true;
                            //SqlCommand commandFindSub = new SqlCommand("SELECT * FROM AGRUPACION_CAT WHERE AGRU_TIPO = 1 AND AGRU_PADRE = "+categoria.agru_padre, myConnection);
                            //SqlCommand commandFindSub = new SqlCommand("SELECT * FROM AGRUPACION_CAT WHERE AGRU_PADRE = " + categoria.agru_id, myConnection);
                            //SqlCommand commandFindSub = new SqlCommand("SELECT A.* FROM AGRUPACION_CAT A, RESTAURANT_AGRUP B WHERE B.REST_ID = " + reqCatalogo.rest_id + " AND A.AGRU_PADRE = "+ categoria.agru_id+" AND A.AGRU_ID=B.AGRU_ID" , myConnection);
                            SqlCommand commandFindSub = new SqlCommand("SELECT A.* FROM AGRUPACION_CAT A WHERE A.AGRU_PADRE = " + categoria.agru_id , myConnection);

                            SqlDataReader readerSub = commandFindSub.ExecuteReader();
                            List<SubCategoria> listasubCateg = new List<SubCategoria>();
                            while (readerSub.Read())
                            {
                                SubCategoria subCat = new SubCategoria();
                                subCat.agru_des = readerSub["agru_des"].ToString();
                                subCat.agru_desc = readerSub["agru_desc"].ToString();
                                subCat.agru_id = Convert.ToInt32(readerSub["agru_id"].ToString());
                                subCat.agru_padre = Convert.ToInt32(readerSub["agru_padre"].ToString());
                                subCat.agru_tipo = Convert.ToInt32(readerSub["agru_tipo"].ToString());
                                SqlCommand commandFindSubArt = new SqlCommand("SELECT A.AGRU_ID, A.ART_DES, A.ART_DESC, A.ART_EAN, A.TIPP_ID, B.ART_PRECIO FROM ARTICULO A, ARTICULO_PRECIO B WHERE  A.AGRU_ID = " + subCat.agru_id + " AND B.ART_EAN = A.ART_EAN AND B.SUCC_ID =" + reqCatalogo.succ_id, myConnection);
                                SqlDataReader readerSubArt = commandFindSubArt.ExecuteReader();
                                List<Articulo> listArticulos = new List<Articulo>();
                                while (readerSubArt.Read())
                                {
                                    Articulo articulo = new Articulo();
                                    articulo.agru_id = Convert.ToInt32(readerSubArt["agru_id"].ToString());
                                    articulo.art_des = readerSubArt["art_des"].ToString();
                                    articulo.art_desc = readerSubArt["art_desc"].ToString();
                                    articulo.art_ean = Convert.ToDecimal(readerSubArt["art_ean"].ToString());
                                    articulo.art_precio = Convert.ToDecimal(readerSubArt["art_precio"].ToString());
                                    articulo.tipp_id = Convert.ToInt32(readerSubArt["tipp_id"].ToString());
                                    listArticulos.Add(articulo);
                                }//fin while busqueda Articulos por Casa SubCategoria
                                subCat.articulos = listArticulos;
                                SqlCommand commandFindModificadores = new SqlCommand("SELECT * FROM AGRUPACION_MODIF WHERE AGRU_ID = " + subCat.agru_id, myConnection);
                                SqlDataReader readerModif = commandFindModificadores.ExecuteReader();
                                while (readerModif.Read())
                                {
                                    Modificador modificador = new Modificador();
                                    modificador.agru_consec = Convert.ToInt32(readerModif["agru_consec"].ToString());
                                    modificador.agru_des = readerModif["agru_des"].ToString();
                                    modificador.agru_desc = readerModif["agru_desc"].ToString();
                                    modificador.agru_id = Convert.ToInt32(readerModif["agru_id"].ToString());
                                    listaModificadores.Add(modificador);
                                }
                                subCat.modificadores = listaModificadores;
                                //categoria.modificadores = listaModificadores;
                                listasubCateg.Add(subCat);
                            }//Fin Busqueda SubCategorias
                            categoria.subCat = listasubCateg;
                        }
                        else if (categoria.agru_tipo == 2)
                        {
                            categoria.hasSubCat = false;
                            SqlCommand commandFindArt = new SqlCommand("SELECT A.AGRU_ID, A.ART_DES, A.ART_DESC, A.ART_EAN, A.TIPP_ID, B.ART_PRECIO FROM ARTICULO A, ARTICULO_PRECIO B WHERE  A.AGRU_ID = " + categoria.agru_id + " AND B.ART_EAN = A.ART_EAN AND B.SUCC_ID =" + reqCatalogo.succ_id, myConnection);
                            SqlDataReader readerArt = commandFindArt.ExecuteReader();
                            List<Articulo> listArticulos = new List<Articulo>();
                            while (readerArt.Read())
                            {
                                Articulo articulo = new Articulo();
                                articulo.agru_id = Convert.ToInt32(readerArt["agru_id"].ToString());
                                articulo.art_des = readerArt["art_des"].ToString();
                                articulo.art_desc = readerArt["art_desc"].ToString();
                                articulo.art_ean = Convert.ToDecimal(readerArt["art_ean"].ToString());
                                articulo.art_precio = Convert.ToDecimal(readerArt["art_precio"].ToString());
                                articulo.tipp_id = Convert.ToInt32(readerArt["tipp_id"].ToString());
                                listArticulos.Add(articulo);
                            }//fin while busqueda Articulos por Casa SubCategoria
                            categoria.articulos = listArticulos;
                            SqlCommand commandFindModificadores = new SqlCommand("SELECT * FROM AGRUPACION_MODIF WHERE AGRU_ID = " + categoria.agru_id, myConnection);
                            SqlDataReader readerModif = commandFindModificadores.ExecuteReader();
                            while (readerModif.Read())
                            {
                                Modificador modificador = new Modificador();
                                modificador.agru_consec = Convert.ToInt32(readerModif["agru_consec"].ToString());
                                modificador.agru_des = readerModif["agru_des"].ToString();
                                modificador.agru_desc = readerModif["agru_desc"].ToString();
                                modificador.agru_id = Convert.ToInt32(readerModif["agru_id"].ToString());
                                listaModificadores.Add(modificador);
                            }//FIN while musca modificador
                            categoria.modificadores = listaModificadores;
                        }//end else
                        categorias.Add(categoria);
                    }//end while
                    catalogo.catalogo = categorias;
                }
                catch (SqlException exCat)
                {
                    log.Error("Error Solicitando el catalogo en SQLException" + exCat.Message);
                    catalogo.success = false;
                    catalogo.message = "ERROR 122" + exCat.Message;
                    return Json(catalogo);
                }
            }
            catch (Exception e)
            {
                log.Error("Error Solicitando el catalogo en " + e.Message);
                catalogo.success = false;//En caso de caer en exception el estado del boleano se envia en falso y en message el detalle del error
                catalogo.message = "ERROR 168 " + e.Message;
                return Json(catalogo);
            }
            finally
            {
                myConnection.Close();//Cerrando dentro del finally la conexión realizada a la base de datos
            }//fin Bloque completo de Try
            catalogo.success = true;//Completando el objeto json con estado true y mensaje OK
            catalogo.message = "OK";
            return Json(catalogo);
        }