/// <summary> /// Lista todos los lideres x zona /// </summary> /// <param name="Zona"></param> /// <returns></returns> public List <LiderInfo> ListxZona(string Zona) { db.SetParameterValue(commandLider, "i_operation", 'S'); db.SetParameterValue(commandLider, "i_option", 'B'); db.SetParameterValue(commandLider, "i_zona", Zona); List <LiderInfo> col = new List <LiderInfo>(); IDataReader dr = null; LiderInfo m = null; try { dr = db.ExecuteReader(commandLider); while (dr.Read()) { m = Factory.GetLider(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); }
public ClienteInfo ValidarTipoEnvioPedido(ClienteInfo ObjClienteInfoReq) { ClienteInfo ObjClienteInfoResponse = new ClienteInfo(); //si es 1, es envio a la casa de la empresaria. if (ObjClienteInfoReq.TipoEnvio == 1) { Cliente ObjCliente = new Cliente("conexion"); ClienteInfo ObjClienteInfo = new ClienteInfo(); CiudadInfo ObjCiudadInfo = new CiudadInfo(); Ciudad ObjCiudad = new Ciudad("conexion"); ObjClienteInfo = ObjCliente.ListxNITSimpleEdit(ObjClienteInfoReq.Nit); if (ObjClienteInfo != null) { string CodCiudadCliente = ""; decimal PorcentajeIvaFlete = 0; decimal ValorFleteSinIva = 0; //Se obtiene el codigo de la ciudad para el flete. ObjClienteInfo = ObjCliente.ListClienteSVDNxNit(ObjClienteInfoReq.Nit); if (ObjClienteInfo != null) { CodCiudadCliente = ObjClienteInfo.CodCiudad; } //se obtiene la info de la ciudad del cliente. ObjCiudadInfo = ObjCiudad.ListCiudadxId(CodCiudadCliente); PorcentajeIvaFlete = ObjCiudadInfo.IVA; ValorFleteSinIva = ObjCiudadInfo.ValorFlete; ObjClienteInfoResponse.PorcentajeIvaFlete = PorcentajeIvaFlete; ObjClienteInfoResponse.ValorFleteSinIva = ValorFleteSinIva; ObjClienteInfoResponse.ValorFlete = (ValorFleteSinIva + (PorcentajeIvaFlete * (ValorFleteSinIva / 100))); ObjClienteInfoResponse.CodCiudadDespacho = ""; } } else if (ObjClienteInfoReq.TipoEnvio == 2) { /*********************SE BUSCA EL VALOR DEL FLETE POR GERENTE/DIRECTOR*************************************************/ ParametrosInfo ObjParametrosInfo = new ParametrosInfo(); Parametros ObjParametros = new Parametros("conexion"); ObjParametrosInfo = ObjParametros.ListxId((int)ParametrosEnum.ValorIVACOP); decimal PorcentajeIvaFlete = Convert.ToDecimal(ObjParametrosInfo.Valor.ToString()); decimal ValorFleteSinIva = 0; ZonaInfo objZonaInfo = new ZonaInfo(); Zona objZona = new Zona("conexion"); objZonaInfo = objZona.ListxIdZona(ObjClienteInfoReq.Zona.ToString()); if (objZonaInfo != null) { ValorFleteSinIva = objZonaInfo.ValorFlete; ObjClienteInfoResponse.PorcentajeIvaFlete = PorcentajeIvaFlete; ObjClienteInfoResponse.ValorFleteSinIva = ValorFleteSinIva; ObjClienteInfoResponse.ValorFlete = (ValorFleteSinIva + (PorcentajeIvaFlete * (ValorFleteSinIva / 100))); ObjClienteInfoResponse.CodCiudadDespacho = objZonaInfo.CodLocalidad; } } else if (ObjClienteInfoReq.TipoEnvio == 3) { /*********************SE BUSCA EL VALOR DE FLETE POR LIDER**************************************************/ FleteLiderInfo FleteLiderInfo = new FleteLiderInfo(); FleteLider ObjFletes = new FleteLider("conexion"); FleteLiderInfo = ObjFletes.List(ObjClienteInfoReq.EmpresariaLider); decimal PorcentajeIvaFlete = Convert.ToDecimal(FleteLiderInfo.Iva.ToString()); decimal ValorFleteSinIva = 0; if (ObjFletes != null) { ValorFleteSinIva = FleteLiderInfo.Valor; ObjClienteInfoResponse.PorcentajeIvaFlete = PorcentajeIvaFlete; ObjClienteInfoResponse.ValorFleteSinIva = ValorFleteSinIva; ObjClienteInfoResponse.ValorFlete = (ValorFleteSinIva + (PorcentajeIvaFlete * (ValorFleteSinIva / 100))); } Lider ObjLider1 = new Lider("conexion"); LiderInfo ObjLiderInfo1 = new LiderInfo(); //Se obtiene el codigo de la ciudad para el flete. ObjLiderInfo1 = ObjLider1.ListxIdLider(ObjClienteInfoReq.EmpresariaLider); if (ObjLiderInfo1 != null) { ObjClienteInfoResponse.CodCiudadDespacho = ObjLiderInfo1.Codciudad; } } else if (ObjClienteInfoReq.TipoEnvio == 4) { /*********************SE BUSCA EL VALOR DEL FLETE POR PUNTO DE VENTA*************************************************/ //TODO: PREGUNTAR QUE VALOR DE FLETE VA AQUI ParametrosInfo ObjParametrosInfo = new ParametrosInfo(); Parametros ObjParametros = new Parametros("conexion"); ObjParametrosInfo = ObjParametros.ListxId((int)ParametrosEnum.ValorIVACOP); decimal PorcentajeIvaFlete = 0; //Siempre es 0 por que se recoge en punto de venta. decimal ValorFleteSinIva = 0; ZonaInfo objZonaInfo = new ZonaInfo(); Zona objZona = new Zona("conexion"); objZonaInfo = objZona.ListxIdZona(ObjClienteInfoReq.Zona.ToString()); if (objZonaInfo != null) { ValorFleteSinIva = 0; //Siempre es 0 por que se recoge en punto de venta. ObjClienteInfoResponse.PorcentajeIvaFlete = PorcentajeIvaFlete; ObjClienteInfoResponse.ValorFleteSinIva = ValorFleteSinIva; ObjClienteInfoResponse.ValorFlete = (ValorFleteSinIva + (PorcentajeIvaFlete * (ValorFleteSinIva / 100))); ObjClienteInfoResponse.CodCiudadDespacho = objZonaInfo.CodLocalidad; } } else { //TODO: PREGUNTAR QUE VALOR DE FLETE VA POR DEFECTO POR SI ALGO PASA } return(ObjClienteInfoResponse); }