/// <summary> /// Guarda cargue catalogo /// </summary> /// <param name="item"></param> public int Insert(CatalogoPluInfo item, String usuario) { try { return(module.Insert(item, usuario)); } catch (Exception ex) { System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name)); return(0); } }
public List <CatalogoPluInfo> ListCatalogosXplu(string catalogo, int plu) { db.SetParameterValue(commandCatalogoPlu, "i_operation", 'S'); db.SetParameterValue(commandCatalogoPlu, "i_option", 'I'); db.SetParameterValue(commandCatalogoPlu, "i_catalogo", catalogo); db.SetParameterValue(commandCatalogoPlu, "i_plu", plu); List <CatalogoPluInfo> col = new List <CatalogoPluInfo>(); IDataReader dr = null; CatalogoPluInfo m = null; try { dr = db.ExecuteReader(commandCatalogoPlu); while (dr.Read()) { m = Factory.GetCatalogoPLU(dr); col.Add(m); } } catch (Exception ex) { System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name)); bool rethrow = ExceptionPolicy.HandleException(ex, "DataAccess Policy"); if (rethrow) { throw; } } finally { if (dr != null) { dr.Close(); } } return(col); }
/// <summary> /// Trae catalogo real de un producto /// </summary> /// <returns></returns> public CatalogoPluInfo ReglaTraerCatalogoReal(string idcorto, string catalogo) { db.SetParameterValue(commandReglasPremios, "i_operation", 'S'); db.SetParameterValue(commandReglasPremios, "i_option", 'H'); db.SetParameterValue(commandReglasPremios, "i_plu", idcorto); db.SetParameterValue(commandReglasPremios, "i_campanaEntre", catalogo); IDataReader dr = null; CatalogoPluInfo m = null; try { dr = db.ExecuteReader(commandReglasPremios); while (dr.Read()) { m = Factory.GetCatalogoPLU(dr); } } catch (Exception ex) { System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name)); bool rethrow = ExceptionPolicy.HandleException(ex, "DataAccess Policy"); if (rethrow) { throw; } } finally { if (dr != null) { dr.Close(); } } return(m); }
/// <summary> /// obtener critero o unineg de siesa de un item. /// </summary> /// <param name="IdCodigoRapido"></param> /// <returns></returns> public CatalogoPluInfo itemcriterio(string IdCodigoRapido) { db.SetParameterValue(commandCatalogoPlu, "i_operation", 'S'); db.SetParameterValue(commandCatalogoPlu, "i_option", 'L'); db.SetParameterValue(commandCatalogoPlu, "i_id_corto", IdCodigoRapido); IDataReader dr = null; CatalogoPluInfo m = null; try { dr = db.ExecuteReader(commandCatalogoPlu); while (dr.Read()) { m = Factory.GetCatalogoPLUCRITERIO(dr); } } catch (Exception ex) { System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name)); bool rethrow = ExceptionPolicy.HandleException(ex, "DataAccess Policy"); if (rethrow) { throw; } } finally { if (dr != null) { dr.Close(); } } return(m); }
/// <summary> /// Guarda cargue catalogo /// </summary> /// <param name="item"></param> public int Insert(CatalogoPluInfo item, String usuario) { int id = 1; IDataReader dr = null; try { db.SetParameterValue(commandCatalogoPlu, "i_operation", 'I'); db.SetParameterValue(commandCatalogoPlu, "i_option", 'A'); db.SetParameterValue(commandCatalogoPlu, "i_catalogo", item.Catalogo); db.SetParameterValue(commandCatalogoPlu, "i_catalogoreal", item.CatalogoReal); db.SetParameterValue(commandCatalogoPlu, "i_id_corto", item.IdCodigoCorto); db.SetParameterValue(commandCatalogoPlu, "i_plu", item.PLU); db.SetParameterValue(commandCatalogoPlu, "i_referencia", item.Referencia); dr = db.ExecuteReader(commandCatalogoPlu); //----------------------------------------------------------------------------------------------------------------------------- //Guardar auditoria try { Auditoria objAuditoria = new Auditoria("conexion"); AuditoriaInfo objAuditoriaInfo = new AuditoriaInfo(); objAuditoriaInfo.FechaSistema = DateTime.Now; objAuditoriaInfo.Usuario = usuario; objAuditoriaInfo.Proceso = "Se realizó creación de cargue catalogo. Accion realizaada por el Usuario: " + usuario; objAuditoria.Insert(objAuditoriaInfo); } catch (Exception ex) { System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error Auditoria: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name)); } //----------------------------------------------------------------------------------------------------------------------------- } catch (Exception ex) { id = 0; System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name)); bool rethrow = ExceptionPolicy.HandleException(ex, "DataAccess Policy"); if (rethrow) { throw; } } finally { if (dr != null) { dr.Close(); } } return(id); }
public PLUInfo ListarxCodigoRapido(PLUInfo ObjPLUInfo) { PLUInfo lista = new PLUInfo(); bool ExcentoIVA = false; //MRG: Arreglar esta bandera para que se ponga en true si hay IVA x ciudad x zona x articulo x cliente. string CodCiudadCliente = ObjPLUInfo.SessionEmpresaria.CodCiudadCliente.Trim(); decimal PrecioCat = 0; decimal IVAPrecioCat = 0; int CantidadSeleccionada = 0; decimal PrecioTotal = 0; decimal PrecioUnitario = 0; int Cantidad = 1; decimal PrecioCatalogo = 0; decimal ValorIVA = 0; PLUInfo objPLU = new PLUInfo(); PLU module = new PLU("conexion"); PLUInfo objPLUPrecioCat = new PLUInfo(); CatalogoPluInfo objCatalogoPluInfo = new CatalogoPluInfo(); CatalogoPlu objCatalogoPlu = new CatalogoPlu("conexion"); objCatalogoPluInfo = objCatalogoPlu.ListxCodigoRapidoSinCatalogo(ObjPLUInfo.CodigoRapido.ToUpper()); if (objCatalogoPluInfo != null) { objPLU = module.ListxArticulosxPLUxTipoPrecio(objCatalogoPluInfo.PLU, ((int)TipoPrecioEnum.PrecioEmpresaria).ToString()); if (objPLU != null) { objPLU.CatalogoReal = objCatalogoPluInfo.CatalogoReal; objPLU.CodigoRapido = ObjPLUInfo.CodigoRapido.ToUpper(); string strProducto = objPLU.NombreProducto.Trim().ToUpper(); string[] strProductoList = strProducto.Split(','); objPLU.NombreProducto = strProductoList[0].Trim().ToUpper(); objPLU.NombreColor = strProductoList[1].Trim().ToUpper(); objPLU.NombreTalla = strProductoList[2].Trim().ToUpper(); objPLU.IdZona = ObjPLUInfo.SessionEmpresaria.IdZona.Trim().ToUpper(); objPLU.PLU = objCatalogoPluInfo.PLU; objPLU.Referencia = objCatalogoPluInfo.Referencia.Trim().ToUpper(); objPLU.Campana = ObjPLUInfo.SessionEmpresaria.Campana.Trim().ToUpper(); objPLU.PrecioPuntos = objPLU.PrecioPuntos; objPLU.PuntosGanados = objPLU.PuntosGanados; if (!ExcentoIVA) { //()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()() ArtExcentosxCiudad objArtExcentosxCiudad = new ArtExcentosxCiudad("conexion"); ArtExcentosxCiudadInfo objArtExcentosxCiudadInfo = new ArtExcentosxCiudadInfo(); //()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()() //()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()() //Se valida si el articulo se encuentra excento de iva en la ciudad del cliente. objArtExcentosxCiudadInfo = objArtExcentosxCiudad.ListxCiudadxPlu(ObjPLUInfo.SessionEmpresaria.CodCiudadCliente.Trim(), objPLU.PLU); //Si se encuentra exento el iva debe ser 0. if (objArtExcentosxCiudadInfo != null) { PrecioCat = objPLU.PrecioSinIVA; IVAPrecioCat = 0; PrecioUnitario = objPLU.PrecioSinIVA; //PrecioCatalogo = objPLU.PrecioSinIVA; ValorIVA = 0; } else { PrecioCat = objPLU.PrecioSinIVA; IVAPrecioCat = objPLU.IVA; PrecioUnitario = objPLU.PrecioConIVA; //PrecioCatalogo = objPLU.PrecioConIVA; ValorIVA = objPLU.IVA; } } else { PrecioCat = objPLU.PrecioSinIVA; IVAPrecioCat = 0; PrecioUnitario = objPLU.PrecioSinIVA; //PrecioCatalogo = objPLU.PrecioSinIVA; ValorIVA = 0; } PrecioTotal = PrecioUnitario * Cantidad; CantidadSeleccionada = Cantidad; objPLU.Cantidad = Cantidad; //--------------------------------------------------------------------------------------- //Descuento y Consulta la disponibilidad de cada articulo. DescuentoGlod glod = new DescuentoGlod("conexion"); DescuentoInfo info3 = new DescuentoInfo(); decimal descuento = 0M; string bodegasel = ""; Inventario inventario = new Inventario("conexion"); InventarioInfo info = new InventarioInfo(); string grupodscto = ""; if (ObjPLUInfo.SessionEmpresaria.GrupoDescuento != null) { grupodscto = ObjPLUInfo.SessionEmpresaria.GrupoDescuento; } KardexInfo info5 = new Kardex("conexion").ListxArticuloxPLU(Convert.ToInt32(objCatalogoPluInfo.PLU)); descuento = this.CalcularDescuentoPrivilegioProdEstrella(info5.UnidadNegocio.Trim(), info5.GrupoProducto.Trim(), ObjPLUInfo.SessionEmpresaria.Campana, objCatalogoPluInfo.CatalogoReal.Trim().ToUpper(), info5.ProdEstrella, PrecioUnitario, grupodscto); bodegasel = ""; if (ObjPLUInfo.SessionEmpresaria.Bodegas != null) { bodegasel = ObjPLUInfo.SessionEmpresaria.Bodegas.Bodega; } info = inventario.ListSaldosBodegaxPLUxEmpresaria(bodegasel, Convert.ToInt32(objCatalogoPluInfo.PLU)); decimal punitario = PrecioUnitario; //Ver codigo de arriba xq aqui ya viene sumado o no el IVA excluido. decimal precioempivadesc = 0M; decimal precioempsiniva = 0; decimal ivaprecioempresaria = 0; if (ReferenceEquals(info, null)) { descuento = 0M; objPLU.Disponible = false; precioempsiniva = 0; ivaprecioempresaria = 0; precioempsiniva = PrecioCat; precioempivadesc = PrecioTotal; } else if (info.Saldo > 0M) { //PrecioEmpresaria= objPLU.PrecioTotalConIVA* objPLU.PorcentajeDescuento precioempivadesc = punitario - (punitario * (descuento / 100M)); objPLU.Disponible = true; precioempsiniva = PrecioCat - (PrecioCat * (descuento / 100)); //ivaprecioempresaria = (((1 + (objPLU.PorcentajeIVA / 100)) * precioempsiniva) - precioempsiniva); ivaprecioempresaria = precioempsiniva * ((objPLU.PorcentajeIVA / 100)); } else { descuento = 0M; precioempsiniva = 0; ivaprecioempresaria = 0; objPLU.Disponible = false; precioempsiniva = PrecioCat; precioempivadesc = PrecioTotal; } objPLU.PorcentajeDescuento = descuento; objPLU.PrecioEmpresaria = precioempivadesc; //------------------------------------------------------------- //MRG: Se envian los precios del producto PLU con la configuracion de ExcentoIVA IVA. objPLU.PrecioTotalConIVA = PrecioTotal; //MRG: Este es el valor que se carga en el front en la sesion DetallePedidoService con IVA o sin IVA. objPLU.PrecioCatalogoSinIVA = objPLU.PrecioSinIVA; objPLU.PrecioEmpresariaSinIVA = precioempsiniva; objPLU.IVAPrecioCatalogo = ValorIVA; objPLU.IVAPrecioEmpresaria = ivaprecioempresaria; objPLU.PorcentajeIVA = objPLU.PorcentajeIVA; objPLU.ExcentoIVA = ExcentoIVA; //------------------------------------------------------------- objPLU.SessionEmpresaria = new SessionEmpresariaInfo(); objPLU.SessionEmpresaria = ObjPLUInfo.SessionEmpresaria; //........................................................................................ //Path de imagenes objPLU.SessionEmpresaria.CarpetaImagenes = ObjPLUInfo.SessionEmpresaria.CarpetaImagenes.Trim(); /*llenar variable de sesion con el % Descuento asingado en la busqeuda de la cedula * validar path de imagenes para que cargue lo que es y dejar ese path desde bd, sino trae imagenes x default * organizar calculos de detalle articulo con lo obtenido desde aqui * mostrar bien disponible en verde o rojo*/ } } else { objPLU.PLU = -1; objPLU.Error = new Error(); objPLU.Error.Id = -1; objPLU.Error.Descripcion = "No se encontraron resultados. Por favor verifique. Codigo Rapido: " + ObjPLUInfo.CodigoRapido.ToUpper(); objPLU.CodigoRapido = ObjPLUInfo.CodigoRapido.ToUpper(); } return(objPLU); }