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)); }
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); } }
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"); } }
// 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()); } }
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()); } }
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); }
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); } }
// 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); } }
//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); } }
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)); } }
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; })); }
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()); } }
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); }
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; })); }
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("")); } }
//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); } }
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)); } }
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); }