private void butAprobarTarifarios_Click(object sender, System.EventArgs e) { string mensaje = ""; foreach (DataGridItem item in dtgTarifarios.Items) { if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem) { if (((CheckBox)item.FindControl("chkTarifario")).Checked) { ITarifarioFlete oTarifario = TarifarioFleteFactory.GetTarifarioFlete(); oTarifario.TarifarioFleteID = Convert.ToInt32(dtgTarifarios.DataKeys[item.DataSetIndex]); string mje = oTarifario.ValidarTarifario(); if (mje != "") { string nombre = (((Label)item.FindControl("lblDescripcion")).Text); mensaje += "Tarifario " + nombre + ": " + mje + "<BR>"; } } } } if (mensaje != "") { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje); } this.BindGrid(0); }
void BindGrid(int currentPage) { //Llenar grilla SisPackController.AdministrarGrillas.Configurar(dtgTarifarios, "TarifarioFleteID", this.CantidadOpciones); ITarifarioFlete oTarifario = TarifarioFleteFactory.GetTarifarioFlete(); DsTarifariosFlete ds = oTarifario.GetTarifariosFleteDataSet(); if (ddlValorizacion.SelectedIndex > 0) { if (tipoTarifario == "Agencia") { dtgTarifarios.DataSource = (DsTarifariosFlete.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND TipoTarifarioID = " + (int)NegociosSisPackInterface.SisPack.TipoTarifario.Agencia + " AND ValorizacionTarifarioID = " + Convert.ToInt32(this.ddlValorizacion.SelectedValue) + " AND EstadoTarifarioID<> " + (int)NegociosSisPackInterface.SisPack.EstadoTarifario.Aprobado + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'", "TarifarioFleteDescrip"); } else { dtgTarifarios.DataSource = (DsTarifariosFlete.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND TipoTarifarioID = " + (int)NegociosSisPackInterface.SisPack.TipoTarifario.Cliente + " AND ValorizacionTarifarioID = " + Convert.ToInt32(this.ddlValorizacion.SelectedValue) + " AND EstadoTarifarioID<> " + (int)NegociosSisPackInterface.SisPack.EstadoTarifario.Aprobado + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'", "TarifarioFleteDescrip"); } } else { if (tipoTarifario == "Agencia") { dtgTarifarios.DataSource = (DsTarifariosFlete.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND TipoTarifarioID = " + (int)NegociosSisPackInterface.SisPack.TipoTarifario.Agencia + " AND EstadoTarifarioID<>5 " + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'", "TarifarioFleteDescrip"); } else { dtgTarifarios.DataSource = (DsTarifariosFlete.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND TipoTarifarioID = " + (int)NegociosSisPackInterface.SisPack.TipoTarifario.Cliente + " AND EstadoTarifarioID<>5 " + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'", "TarifarioFleteDescrip"); } } dtgTarifarios.CurrentPageIndex = currentPage; dtgTarifarios.DataBind(); }
/// <summary> /// Procedimiento para cargar los tarifarios de flete /// </summary> private void BindGridTarifarioFlete() { // Reviso si los datos estan cargados en memoria DsReporteTarifariosClientes dsTarifariosFletesCliente; if (Session["dsTarifariosFletesCliente"] == null) { // Los datos no estan cargados en memoria. Cargo los filtros string clientesSeleccionados = ObtenerClientesSeleccionados(); string unidadesVentasSeleccionadas = ObtenerUnidadesVentasSeleccionadas(); string TarifariosFletesSeleccionados = ObtenerTarifariosFleteSeleccionados(); int verDatosHistoricos = 0; if (chkVerDatosHistoricos.Checked) { verDatosHistoricos = 1; } System.DateTime fechaHasta = this.txtFechaHasta.Text.Equals("") ? Convert.ToDateTime("01/01/1900") : Convert.ToDateTime(this.txtFechaHasta.Text); int cantDias = this.txtCantDias.Text.Equals("") ? 0 : Convert.ToInt32(this.txtCantDias.Text); // Obtengo los datos ITarifarioFlete tarifarioFlete = TarifarioFleteFactory.GetTarifarioFlete(); dsTarifariosFletesCliente = tarifarioFlete.ObtenerTarifariosFleteCliente(clientesSeleccionados, unidadesVentasSeleccionadas, TarifariosFletesSeleccionados, verDatosHistoricos, fechaHasta, cantDias); // Guardo los datos en memoria Session["dsTarifariosFletesCliente"] = dsTarifariosFletesCliente; } else { // Los datos estan cargados en memoria dsTarifariosFletesCliente = (DsReporteTarifariosClientes)Session["dsTarifariosFletesCliente"]; } // Configuro la grilla SisPackController.AdministrarGrillas.Configurar(dtgTarifarioFlete, "ClienteId", 30); // Cargo los datos dtgTarifarioFlete.DataSource = dsTarifariosFletesCliente.TarifariosFlete; dtgTarifarioFlete.DataBind(); }
/// <summary> /// Procedimiento para cargar las listas /// </summary> private void LlenarListas() { // Cargo los clientes //LlenarCombos.Clientes(lstClientes, UnidadNegocioID); ICliente oCliente = ClienteFactory.GetCliente(); lstClientes.DataSource = oCliente.GetClientesConsultaDataSet().Datos.Select("", "RazonSocial"); lstClientes.DataValueField = "ClienteID"; lstClientes.DataTextField = "RazonSocial"; lstClientes.DataBind(); // Cargo las unidades de venta LlenarCombos.UnidadesVenta(lstUnidadVenta); // Cargo los tarifarios de fletes ITarifarioFlete tarifarioFlete = TarifarioFleteFactory.GetTarifarioFlete(); DsTarifariosFlete dsTarifariosFletes = tarifarioFlete.GetTarifariosFleteDataSet(); lstTarifariosDeFletes.DataSource = dsTarifariosFletes.Datos; lstTarifariosDeFletes.DataValueField = "TarifarioFleteID"; lstTarifariosDeFletes.DataTextField = "TarifarioFleteDescrip"; lstTarifariosDeFletes.DataBind(); // Cargo los tarifarios de retiro/entrega ITarifario tarifarioRetiroEntrega = TarifarioFactory.GetTarifario(""); DsTarifarioClienteRetiroEntrega dsTarifarioRetiroEntrega = (DsTarifarioClienteRetiroEntrega)tarifarioRetiroEntrega.GetTarifariosDataSet(); lstTarifariosRetiroEntrega.DataSource = dsTarifarioRetiroEntrega.Datos; lstTarifariosRetiroEntrega.DataValueField = "TarifarioClienteRetiroEntregaID"; lstTarifariosRetiroEntrega.DataTextField = "TarifarioClienteRetiroEntregaDescrip"; lstTarifariosRetiroEntrega.DataBind(); }
void BindGrid(int currentPage) { //Llenar grilla SisPackController.AdministrarGrillas.Configurar(dtgTarifarios, "TarifarioFleteID", this.CantidadOpciones); ITarifarioFlete oTarifario = TarifarioFleteFactory.GetTarifarioFlete(); DsTarifariosFlete ds = oTarifario.GetTarifariosFleteDataSet(); if (ddlValorizacion.SelectedIndex > 0) { if (tipoTarifario == "Agencia") { dtgTarifarios.DataSource = (DsTarifariosFlete.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND tipoTarifarioID = " + (int)NegociosSisPackInterface.SisPack.TipoTarifario.Agencia + " AND ValorizacionTarifarioID = " + Convert.ToInt32(this.ddlValorizacion.SelectedValue) + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'", "TarifarioFleteDescrip"); } else if (tipoTarifario == "Cliente") { dtgTarifarios.DataSource = (DsTarifariosFlete.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND tipoTarifarioID = " + (int)NegociosSisPackInterface.SisPack.TipoTarifario.Cliente + " AND ValorizacionTarifarioID = " + Convert.ToInt32(this.ddlValorizacion.SelectedValue) + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'", "TarifarioFleteDescrip"); } else { dtgTarifarios.DataSource = (DsTarifariosFlete.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND tipoTarifarioID = " + (int)NegociosSisPackInterface.SisPack.TipoTarifario.ClienteEstandarizado + " AND ValorizacionTarifarioID = " + Convert.ToInt32(this.ddlValorizacion.SelectedValue) + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'", "TarifarioFleteDescrip"); } } else { if (tipoTarifario == "Agencia") { dtgTarifarios.DataSource = (DsTarifariosFlete.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND tipoTarifarioID = " + (int)NegociosSisPackInterface.SisPack.TipoTarifario.Agencia + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'", "TarifarioFleteDescrip"); } else if (tipoTarifario == "Cliente") { dtgTarifarios.DataSource = (DsTarifariosFlete.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND tipoTarifarioID = " + (int)NegociosSisPackInterface.SisPack.TipoTarifario.Cliente + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'", "TarifarioFleteDescrip"); } else { dtgTarifarios.DataSource = (DsTarifariosFlete.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND tipoTarifarioID = " + (int)NegociosSisPackInterface.SisPack.TipoTarifario.ClienteEstandarizado + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'", "TarifarioFleteDescrip"); } } dtgTarifarios.CurrentPageIndex = currentPage; try { dtgTarifarios.DataBind(); } catch (Exception ex) { // Reviso si se produjo la excepción por que se cargo un número de página superior a la cantidad de páginas que hay if (ex.Message == "Invalid CurrentPageIndex value. It must be >= 0 and < the PageCount.") { // La excepción se produjo por que se cargo un número de página superior a la cantidad de páginas // vuelvo a cargar la grilla, pero mostrando la página 0 dtgTarifarios.CurrentPageIndex = 0; dtgTarifarios.DataBind(); } int a = 0; a++; } //{"Invalid CurrentPageIndex value. It must be >= 0 and < the PageCount." } }
void BindGrid(int currentPage) { //Llenar grilla if (tipoTari == NegociosSisPackInterface.SisPack.TipoTarifario.Ninguno) { SisPackController.AdministrarGrillas.Configurar(dtgTarifarios, "TarifarioClienteFleteID", this.CantidadOpciones); ITarifarioClienteFlete oTarifario = TarifarioClienteFleteFactory.GetTarifarioClienteFlete(); DsTarifariosClienteFlete ds = oTarifario.GetTarifariosClienteFleteDataSet(); if (ddlValorizacion.SelectedIndex > 0) { //dtgTarifarios.DataSource = (DsTarifariosClienteFlete.DatosRow[]) ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND ValorizacionTarifarioID = "+ Convert.ToInt32(this.ddlValorizacion.SelectedValue) + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'" ,"TarifarioFleteDescrip"); dtgTarifarios.DataSource = (DsTarifariosClienteFlete.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND EstadoTarifarioID=5 AND ValorizacionTarifarioID = " + Convert.ToInt32(this.ddlValorizacion.SelectedValue) + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'", "TarifarioFleteDescrip"); } else { //dtgTarifarios.DataSource = (DsTarifariosClienteFlete.DatosRow[]) ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'" ,"TarifarioFleteDescrip"); dtgTarifarios.DataSource = (DsTarifariosClienteFlete.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND EstadoTarifarioID=5 AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'", "TarifarioFleteDescrip"); } } //Si se trata de tarifarios de cliente con ZONAS else if (tipoTari == NegociosSisPackInterface.SisPack.TipoTarifario.Cliente) { SisPackController.AdministrarGrillas.Configurar(dtgTarifarios, "TarifarioFleteID", this.CantidadOpciones); ITarifarioFlete oTarifario = TarifarioFleteFactory.GetTarifarioFlete(); DsTarifariosFlete ds = oTarifario.GetTarifariosFleteDataSet(); if (ddlValorizacion.SelectedIndex > 0) { dtgTarifarios.DataSource = (DsTarifariosFlete.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND EstadoTarifarioID=5" + "AND tipoTarifarioID = " + (int)NegociosSisPackInterface.SisPack.TipoTarifario.Cliente + " AND ValorizacionTarifarioID = " + Convert.ToInt32(this.ddlValorizacion.SelectedValue) + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'", "TarifarioFleteDescrip"); } else { dtgTarifarios.DataSource = (DsTarifariosFlete.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND EstadoTarifarioID=5" + " AND tipoTarifarioID = " + (int)NegociosSisPackInterface.SisPack.TipoTarifario.Cliente + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'", "TarifarioFleteDescrip"); } } else { SisPackController.AdministrarGrillas.Configurar(dtgTarifarios, "TarifarioFleteID", this.CantidadOpciones); ITarifarioFlete oTarifario = TarifarioFleteFactory.GetTarifarioFlete(); DsTarifariosFlete ds = oTarifario.GetTarifariosFleteDataSet(); if (ddlValorizacion.SelectedIndex > 0) { dtgTarifarios.DataSource = (DsTarifariosFlete.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND EstadoTarifarioID=5" + "AND tipoTarifarioID = " + (int)NegociosSisPackInterface.SisPack.TipoTarifario.ClienteEstandarizado + " AND ValorizacionTarifarioID = " + Convert.ToInt32(this.ddlValorizacion.SelectedValue) + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'", "TarifarioFleteDescrip"); } else { dtgTarifarios.DataSource = (DsTarifariosFlete.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID + " AND EstadoTarifarioID=5" + " AND tipoTarifarioID = " + (int)NegociosSisPackInterface.SisPack.TipoTarifario.ClienteEstandarizado + " AND TarifarioFleteDescrip LIKE " + "'" + this.txtTarifarioDescrip.Text + "%'", "TarifarioFleteDescrip"); } } dtgTarifarios.CurrentPageIndex = currentPage; dtgTarifarios.DataBind(); }
private void BindGrid() { SisPackController.AdministrarGrillas.Configurar(this.dtgUnidadesVenta, "UnidadVentaID", this.CantidadOpciones); ITarifarioFlete tarifarioFlete = TarifarioFleteFactory.GetTarifarioFlete(); tarifarioFlete.TarifarioFleteID = Convert.ToInt32(this.txtTarifarioID.Text); DsUnidadesVenta ds = tarifarioFlete.GetUnidadesVentaByTarifarioID(); this.dtgUnidadesVenta.DataSource = ds; this.dtgUnidadesVenta.DataBind(); }
private void BindGrid() { DsClientes ds = null; SisPackController.AdministrarGrillas.Configurar(this.dtgClientes, "ClienteID", this.CantidadOpciones); if (this.txtTipoTarifario.Text == "Cliente") { ITarifarioFlete tarifarioFlete = TarifarioFleteFactory.GetTarifarioFlete(); tarifarioFlete.TarifarioFleteID = Convert.ToInt32(this.txtTarifarioID.Text); ds = tarifarioFlete.GetClientesByTarifarioID(); this.dtgClientes.DataSource = ds; this.dtgClientes.DataBind(); } else if (this.txtTipoTarifario.Text == "ClienteParticularesEspecificos") { ITarifarioClienteFlete tarifarioClienteFlete = TarifarioClienteFleteFactory.GetTarifarioClienteFlete(); tarifarioClienteFlete.TarifarioClienteFleteID = Convert.ToInt32(this.txtTarifarioID.Text); ds = tarifarioClienteFlete.GetClientesByTarifarioID(); this.dtgClientes.DataSource = ds; this.dtgClientes.DataBind(); } else if (this.txtTipoTarifario.Text == "ClienteRetiroEntrega") { ITarifario tarifarioClienteRetiroEntrega = TarifarioFactory.GetTarifario("CRE"); tarifarioClienteRetiroEntrega.TarifarioID = Convert.ToInt32(this.txtTarifarioID.Text); ds = (DsClientes)tarifarioClienteRetiroEntrega.GetClientesByTarifarioID(); this.dtgClientes.DataSource = ds; this.dtgClientes.DataBind(); } else if (txtTipoTarifario.Text == "VentaReDespacho") { ITarifario tarifarioReDespacho = TarifarioReDespachoFactory.GetTarifarioRedespacho("V"); tarifarioReDespacho.TarifarioID = Utiles.Validaciones.obtieneEntero(txtTarifarioID.Text); ds = (DsClientes)tarifarioReDespacho.GetClientesByTarifarioID(); dtgClientes.DataSource = ds.Datos; dtgClientes.DataBind(); } }
protected void Guardar(object sender, System.EventArgs e) { int TarifarioFleteID; for (int i = 0; i < dtgTarifarios.Items.Count; i++) { if (((System.Web.UI.WebControls.CheckBox)(dtgTarifarios.Items[i].FindControl("chkMarcado"))).Checked) { TarifarioFleteID = Convert.ToInt32(dtgTarifarios.DataKeys[(int)dtgTarifarios.Items[i].ItemIndex]); // Obtenemos el usuario que ejecuta la acción. IUsuarios usuarioConectado = UsuariosFactory.GetUsuario(); usuarioConectado.Login = this.UsuarioConectadoID; usuarioConectado.ConsultarByLogin(); ITarifarioFlete oTarifario = TarifarioFleteFactory.GetTarifarioFlete(); oTarifario.TarifarioFleteID = TarifarioFleteID; oTarifario.GuardarTarifarioFleteGeneral(usuarioConectado.UsuarioID); } } this.BindGrid(0); }
protected void dtgTarifarios_Delete(Object sender, DataGridCommandEventArgs e) { ITarifarioFlete oTarifa = TarifarioFleteFactory.GetTarifarioFlete(); // oTarifa.TarifarioFleteID = Convert.ToInt32(dtgTarifarios.DataKeys[(int)e.Item.ItemIndex]); oTarifa.TarifarioFleteID = Utiles.Validaciones.obtieneEntero(e.Item.Cells[5].Text); // Asignamos el usuario que está efectuando la acción. IUsuarios usuarioConectato = UsuariosFactory.GetUsuario(); usuarioConectato.Login = this.UsuarioConectadoID; usuarioConectato.ConsultarByLogin(); oTarifa.UsuarioID = usuarioConectato.UsuarioID; try { if (oTarifa.Eliminar()) { BindGrid(0); } } catch (Exception ex) { string mensaje = ex.Message; try { mensaje = this.TraducirTexto(ex.Message); if (mensaje == "" || mensaje == null) { mensaje = ex.Message; } } catch (Exception) { mensaje = ex.Message; } ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje); } }
private void Page_Load(object sender, System.EventArgs e) { Page.RegisterStartupScript("init", SisPackController.GenerarJavaScripts.SetearFocoControl(this.txtTarifarioDescrip.ClientID)); //"Cliente" tipoTarifario = this.Request.QueryString["TipoTarifario"]; // butGuardarImportes.Attributes.Add("onclick", "window.document.getElementById('" + accion + "').value = 'G'; return confirm('Se eliminarán los importes que hayan quedado en blanco. Desea continuar?')"); if (this.Request.QueryString["Modal"] != null) { modal = (this.Request.QueryString["Modal"] == "S"); } else { modal = false; } if (!modal) { this.LoadUCMenu(); } if (!IsPostBack) { /*if(this.Request.QueryString["SoloLectura"]!= null) * { * if(this.Request.QueryString["SoloLectura"]== "N") * soloLectura = false; * else if(this.Request.QueryString["SoloLectura"]=="S") * soloLectura = true; * }*/ //Session["tarifario"] = null; tariFlete = TarifarioFleteFactory.GetTarifarioFlete(); if (this.Request.QueryString["TarifarioFleteID"] != null) { tariFlete.TarifarioFleteID = Convert.ToInt32(Request.QueryString["TarifarioFleteID"]); tariFlete.Consultar(); } else { this.tblTarifarioRef.Attributes.Add("Style", "Display: none"); this.tblVariacion.Attributes.Add("Style", "Display: none"); this.tblDesvincularTarifario.Attributes.Add("Style", "Display: none"); } this.CargarCombos(); if (tariFlete.TarifarioFleteID > 0) { this.ConsultarTarifario(); } Session["tarifario"] = tariFlete; } this.SetearValidadores(); //PAO:24/03/2005 - lo agregue porque cuando te volves con el back del IE, se muere la variable //de sesión if (Session["tarifario"] != null) { tariFlete = (ITarifarioFlete)Session["tarifario"]; } else { tariFlete = TarifarioFleteFactory.GetTarifarioFlete(); } //tariFlete = TarifarioFleteFactory.GetTarifarioFlete(); //PAO:24/03/2005 // if (tariFlete.TieneTarifariosDerivados() || tariFlete.AsociadoUnidadVenta()) { //VER.Si tiene tarifarios derivados y NO hay un tarifario gral. //Quizas sí habilitar el check de tarifario general. soloLectura = true; } else { soloLectura = false; } if (tariFlete.TarifarioFleteRefID > 0) { butGuardarTarifario.Attributes.Add("onclick", "return confirm('Si ha modificado la variación, se recalcularán los importes. Desea continuar?')"); } RegistrarCambioTarifarioRef(); RegistrarMostrarVariacion(); ddlTarifarioReferencia.Attributes.Add("onchange", "CambiarComboValorizacion()"); chkVariacionTarifario.Attributes.Add("onclick", "MostrarVariacion()"); /*SFE Mostrar u ocultar el importe minimo del valor declarado segun el la valorizacion del Tarifario*/ RegistrarHabilitarImporteMinimo(); ddlValorizacion.Attributes.Add("onchange", "MostrarImporteMinimo();"); if (tariFlete.TarifarioFleteID != 0) { try { this.LoadUCZonasTopes(); } catch (Exception ex) { string mensaje = ex.Message; try { mensaje = this.TraducirTexto(ex.Message); if (mensaje == "" || mensaje == null) { mensaje = ex.Message; } } catch (Exception) { mensaje = ex.Message; } ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje); } } if (tariFlete.HayTarifarioGeneral() || tariFlete.TarifarioFleteRefID != 0) { chkTarifarioGeneral.Enabled = false; } this.MostrarTablas(); //Esto es necesario cuando se carga la pagina cuando....ver si solo cuando se hace Postback this.SetLecturaUC(); //this.butGuardarTarifario.Enabled=true; //Cambiar a que no sea siempre de solo lectura, sino que se setean los valores de //acuerdo a otros datos. //Si el tarifario tiene tarifarios derivados, no permitir realizar cambios //de otro modo sí: //Cambios: si no tiene tarif de referencia, habilitar modificr en importes y en todos //lados. Sino, dejar solo que se pueda modificar la parte del tarifario de referencia (no qué tarifario sino en cuanto) //y en el guardar, chequear que si es diferente la variación, recalcule los importes que ya posee (zonastopes) segun la modificacion /*if(soloLectura) * { * this.SetearSoloLectura(); * }*/ //Muestro o no el check de Tarifario General dependiendo del tipo de tarifario cliente o agencia tariFlete = (ITarifarioFlete)Session["tarifario"]; if (tariFlete.TipoTarifario == NegociosSisPackInterface.SisPack.TipoTarifario.Cliente || tipoTarifario == "Cliente" || tariFlete.TipoTarifario == NegociosSisPackInterface.SisPack.TipoTarifario.ClienteEstandarizado || tipoTarifario == "ClienteEstandarizado") { this.chkTarifarioGeneral.Visible = false; this.lblEsTarifarioGral.Visible = false; } AsignarNombrePagina(); }
private void CalcularImportes() { bool esValido = true; RequiredFieldValidator reqUnidadVenta = (RequiredFieldValidator)this.phValidUnidadVenta.FindControl("validUVenta"); reqUnidadVenta.Enabled = true; reqUnidadVenta.Validate(); if (!reqUnidadVenta.IsValid) { esValido = false; } RequiredFieldValidator reqME = (RequiredFieldValidator)this.phValidModalidadEntrega.FindControl("validME"); reqME.Enabled = true; reqME.Validate(); if (!reqME.IsValid) { esValido = false; } RequiredFieldValidator reqBultos = (RequiredFieldValidator)this.phValidBultos.FindControl("validBultos"); reqBultos.Enabled = true; reqBultos.Validate(); if (!reqBultos.IsValid) { esValido = false; } RequiredFieldValidator reqPeso = (RequiredFieldValidator)this.phValidPeso.FindControl("validPeso"); reqPeso.Enabled = true; reqPeso.Validate(); if (!reqPeso.IsValid) { esValido = false; } RequiredFieldValidator reqValorDeclarado = (RequiredFieldValidator)this.phValidUnidadVenta.FindControl("validDeclarado"); reqValorDeclarado.Enabled = true; reqValorDeclarado.Validate(); if (!reqValorDeclarado.IsValid) { esValido = false; } if (esValido) { double pesoAf = (this.txtPesoTotalAforado.Text == "") ? 0 : Convert.ToDouble(this.txtPesoTotalAforado.Text); double pesoReal = (this.txtPeso.Text == "") ? 0 : Convert.ToDouble(this.txtPeso.Text); //Crear instancia de la que resuelve los calculos de los importes //Cargar los datos necesarios para calcular el importe del flete admGuiaO.PesoKgReal = pesoReal; if (this.txtAlto.Text != "" && this.txtAncho.Text != "" && this.txtLargo.Text != "") { admGuiaO.VolumenTotal = Convert.ToDouble(this.txtAlto.Text) * Convert.ToDouble(this.txtAncho.Text) * Convert.ToDouble(this.txtLargo.Text); } double pesoAfM3 = 0; /*SFE: 22/03/2013. Valor de conversion a M3. Si se ingresa un valor en el campo de conversion, hay que calcular en base a esto*/ if (txtM3.Text.Length > 0 && txtM3.Text.Trim() != string.Empty && txtM3.Text != "0") { double valorConversionM3 = 0; //Si es cliente corporativo, buscar el parametro para el convenio y la unidad de venta. if (admGuiaO.ClienteCorpRemitente.ClienteID != 0 || (admGuiaO.ClienteCorpDestinatario.ClienteID != 0 && admGuiaO.AgenteGuiaPagoID == NegociosSisPackInterface.SisPack.TipoAgenteGuia.Destinatario)) { admGuiaO.UnidadVentaID = Utiles.Validaciones.obtieneEntero(Request.Form[ddlUnidadVenta.UniqueID]); valorConversionM3 = admGuiaO.ObtenerValorConversionM3ClienteCorp(); //Si no está definido, buscar el parámetro por Unidad de Venta. if (valorConversionM3 == 0) { // Busco la Unidad de Venta y consulto si tiene definido un valor de conversion m3 int uniVenta = Utiles.Validaciones.obtieneEntero(Request.Form[ddlUnidadVenta.UniqueID]); IUnidadVenta uVenta = UnidadVentaFactory.GetUnidadVenta(); uVenta.UnidadVentaID = uniVenta; uVenta.Consultar(); if (uVenta.ValorConversionM3 != 0) //tiene definido un valor de conversion de m3, usarlos { valorConversionM3 = uVenta.ValorConversionM3; } else // si no esta definido a nivel de Unidad de Venta tengo que utilizar el de parámetro general { IParametroUNegocio paramMin = ParametroUNegocioFactory.GetParametroUNegocio(); paramMin.UnidadNegocioID = this.UnidadNegocioID; paramMin.Parametro = NegociosSisPackInterface.SisPack.Parametro.ValorConversionM3; paramMin.Consultar(); valorConversionM3 = Convert.ToDouble(paramMin.ValorString); } } } //Si se encontró algun valor de conversion. if (valorConversionM3 > 0) { admGuiaO.MetrosCubicos = Utiles.Validaciones.obtieneDouble(txtM3.Text); pesoAfM3 = admGuiaO.MetrosCubicos * valorConversionM3; } } double pesoTotalAforado = (pesoAf > pesoReal) ? pesoAf : pesoReal; if (pesoAfM3 > 0) { if (pesoTotalAforado > pesoAfM3) { admGuiaO.PesoTotal = pesoTotalAforado; } else { admGuiaO.PesoTotal = pesoAfM3; } } else { admGuiaO.PesoTotal = (pesoAf > pesoReal) ? pesoAf : pesoReal; } admGuiaO.CantBultos = Convert.ToInt32(this.txtBultos.Text); admGuiaO.UnidadVentaID = Utiles.Validaciones.obtieneEntero(Request.Form[ddlUnidadVenta.UniqueID]); admGuiaO.ModalidadEntregaID = Utiles.Validaciones.obtieneEntero(Request.Form[ddlModalidadEntrega.UniqueID]); admGuiaO.LimiteKg = 3000; admGuiaO.PorcentajeBonificacionAutorizacion = 0; admGuiaO.ImporteACobrarAutorizacion = 0; admGuiaO.ValorDeclarado = Convert.ToDouble(this.txtValorDeclarado.Text); int modalidadEntregaID = Utiles.Validaciones.obtieneEntero(this.ddlModalidadEntrega.SelectedValue); //admGuiaO.UnidadNegocioID = this.UnidadNegocioID; IAgencia agencia = AgenciaFactory.GetAgencia(); agencia.AgenciaByLocalidadSimulador(Utiles.Validaciones.obtieneEntero(ddlLocalidadRemitente), Utiles.Validaciones.obtieneEntero(ddlCodigoPostalRemitente), 1, 0, Utiles.Validaciones.obtieneEntero(this.ddlUnidadVenta.SelectedValue), modalidadEntregaID, 0, true); if (agencia.AgenciaID != 0) { admGuiaO.AgenciaOrigenID = agencia.AgenciaID; } else { throw new Exception("No es posible realizar el envío desde el origen seleccionado."); } agencia.AgenciaByLocalidadSimulador(Utiles.Validaciones.obtieneEntero(ddlLocalidadDestinatario), Utiles.Validaciones.obtieneEntero(ddlCodigoPostalDestinatario), 0, 1, Utiles.Validaciones.obtieneEntero(this.ddlUnidadVenta.SelectedValue), modalidadEntregaID, 0, true); if (agencia.AgenciaID != 0) { admGuiaO.AgenciaDestinoID = agencia.AgenciaID; } else { throw new Exception("No es posible realizar el envío hacia el destino seleccionado."); } int agenciaDestino = admGuiaO.AgenciaDestinoID; if (agenciaDestino > 0) { admGuiaO.TipoDestinoID = (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia; admGuiaO.AgenciaDestinoID = agenciaDestino; } else if (agenciaDestino < 0) { admGuiaO.TipoDestinoID = (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.PuntoRecepcion; admGuiaO.AgenciaDestinoID = agenciaDestino * -1; } //Por si hay que calcular comision de contrareembolso admGuiaO.ImporteCRGuia = 0;//(this.txtImporteContraReembolso.Text== "")? 0 : Convert.ToDouble(this.txtImporteContraReembolso.Text); //admGuiaO.ImporteCRGuia = admGuiaO.ValorDeclarado; admGuiaO.PagaEntregaEnDomicilio = false;//this.chkPagaEnDomicilio.Checked; admGuiaO.PromocionServicioTransporteID = 0; admGuiaO.BonificacionAgencia = 0; //Utiles.Validaciones.obtieneEntero(this.txtBonificacionAgencia.Text); admGuiaO.UsuarioID = 1; //this.usuario.UsuarioID; //esto le indica a AdminstracionGuias, que la agencia que calcula los importes //es automatizada, por lo tanto debe tener en cuenta el área de influencia admGuiaO.NoAutomatizada = false; admGuiaO.UnidadNegocioID = 1; admGuiaO.ClienteCorp.ClienteID = ClienteFacturacion1.ClienteCorporativoID ?? 0; admGuiaO.ClienteCorpRemitente.ClienteID = ClienteFacturacion1.ClienteCorporativoID ?? 0; admGuiaO.ClienteCorpRemitente.Nombre = ""; admGuiaO.ClienteCorpRemitente.DomicilioComercial.Localidad.LocalidadID = Utiles.Validaciones.obtieneEntero(ddlLocalidadRemitente); admGuiaO.ClienteCorpRemitente.DomicilioGuia.Localidad.CodigoPostal = CodPostalRemitente; admGuiaO.ClienteCorpRemitente.DomicilioGuia.Localidad.LocalidadID = Utiles.Validaciones.obtieneEntero(ddlLocalidadRemitente); admGuiaO.ClienteCorpRemitente.DomicilioGuia.OCodigoPostal.CodigoPostalID = Utiles.Validaciones.obtieneEntero(ddlCodigoPostalRemitente); admGuiaO.ClienteCorpRemitente.DomicilioComercial.OCodigoPostal.CodigoPostalID = Utiles.Validaciones.obtieneEntero(ddlCodigoPostalRemitente); admGuiaO.ClienteCorpDestinatario.ClienteID = ClienteFacturacion1.ClienteCorporativoID ?? 0; admGuiaO.ClienteCorpDestinatario.DomicilioComercial.Localidad.LocalidadID = Utiles.Validaciones.obtieneEntero(ddlLocalidadDestinatario); admGuiaO.ClienteCorpDestinatario.DomicilioGuia.Localidad.CodigoPostal = CodPostalDestinatario; admGuiaO.ClienteCorpDestinatario.DomicilioGuia.Localidad.LocalidadID = Utiles.Validaciones.obtieneEntero(ddlLocalidadDestinatario); admGuiaO.ClienteCorpDestinatario.DomicilioGuia.OCodigoPostal.CodigoPostalID = Utiles.Validaciones.obtieneEntero(ddlCodigoPostalDestinatario); admGuiaO.ClienteCorpDestinatario.DomicilioComercial.OCodigoPostal.CodigoPostalID = Utiles.Validaciones.obtieneEntero(ddlCodigoPostalDestinatario); admGuiaO.ClienteCorpDestinatario.Nombre = ""; admGuiaO.RemiEsCorporativo = true; admGuiaO.DestEsCorporativo = true; admGuiaO.AgentePagoEsClienteCorporativo = true; admGuiaO.CalcularImportes(); if (admGuiaO.TipoGuia == "A" || admGuiaO.TipoGuia == "E") { this.lblImporteFlete.Text = Formatos.Importe(admGuiaO.ImporteFlete); this.lblImporteSeguro.Text = Formatos.Importe(admGuiaO.ImporteSeguro); this.lblImporteRetiro.Text = Formatos.Importe(admGuiaO.ImporteRetiro); //if(!this.chkPagaEnDomicilio.Checked) this.lblImporteEntrega.Text = Formatos.Importe(admGuiaO.ImporteEntrega); //else // this.lblImporteEntrega.Text = "0"; this.lblImporteComisCR.Text = Formatos.Importe(admGuiaO.ImporteComisCR); this.lblImporteNeto.Text = Formatos.Importe(admGuiaO.ImporteNetoTotal); this.lblImporteIVAInscripto.Text = Formatos.Importe(admGuiaO.ImporteIVAInscripto); //} } else { this.lblImporteFlete.Text = Formatos.Importe(admGuiaO.ImporteFlete + admGuiaO.ImporteFleteIVA); //+ admGuiaO.ImporteRedespachoIVA this.lblImporteSeguro.Text = Formatos.Importe(admGuiaO.ImporteSeguro + admGuiaO.ImporteSeguroIVA); this.lblImporteRetiro.Text = Formatos.Importe(admGuiaO.ImporteRetiro + admGuiaO.ImporteRetiroIVA); //if(!this.chkPagaEnDomicilio.Checked) this.lblImporteEntrega.Text = Formatos.Importe(admGuiaO.ImporteEntrega + admGuiaO.ImporteEntregaIVA); //else // this.lblImporteEntrega.Text = "0"; this.lblImporteComisCR.Text = Formatos.Importe(admGuiaO.ImporteComisCR + admGuiaO.ImporteComisCRIVA); this.lblImporteIVAInscripto.Text = ""; this.lblImporteNeto.Text = ""; //} } if (admGuiaO.TarifarioClienteFleteID > 0) { ITarifarioClienteFlete tari = TarifarioClienteFleteFactory.GetTarifarioClienteFlete(); tari.TarifarioClienteFleteID = admGuiaO.TarifarioClienteFleteID; tari.Consultar(); this.txtTarifarioFlete.Text = tari.TarifarioClienteFleteDescrip; } else if (admGuiaO.TarifarioFleteID > 0) { ITarifarioFlete tari = TarifarioFleteFactory.GetTarifarioFlete(); tari.TarifarioFleteID = admGuiaO.TarifarioFleteID; tari.Consultar(); this.txtTarifarioFlete.Text = tari.TarifarioFleteDescrip; } else if (admGuiaO.TarifarioVentaRedespachoID > 0) { ITarifario tari = TarifarioReDespachoFactory.GetTarifarioRedespacho("V"); tari.TarifarioID = admGuiaO.TarifarioVentaRedespachoID; tari.Consultar(); this.txtTarifarioFlete.Text = tari.TarifarioDescrip; } if (admGuiaO.TarifarioClienteRetiroID > 0) { ITarifario tariRetiro = TarifarioFactory.GetTarifario("CRE"); tariRetiro.TarifarioID = admGuiaO.TarifarioClienteRetiroID; tariRetiro.Consultar(); this.txtTarifarioRetiro.Text = tariRetiro.TarifarioDescrip; } else if (admGuiaO.TarifarioRetiroID > 0) { ITarifario tariRetiro = TarifarioFactory.GetTarifario("RE"); tariRetiro.TarifarioID = admGuiaO.TarifarioRetiroID; tariRetiro.Consultar(); this.txtTarifarioRetiro.Text = tariRetiro.TarifarioDescrip; } if (admGuiaO.TarifarioClienteEntregaID > 0) { ITarifario tariEntrega = TarifarioFactory.GetTarifario("CRE"); tariEntrega.TarifarioID = admGuiaO.TarifarioClienteEntregaID; tariEntrega.Consultar(); this.txtTarifarioEntrega.Text = tariEntrega.TarifarioDescrip; } else if (admGuiaO.TarifarioEntregaID > 0) { ITarifario tariRetiro = TarifarioFactory.GetTarifario("RE"); tariRetiro.TarifarioID = admGuiaO.TarifarioEntregaID; tariRetiro.Consultar(); this.txtTarifarioEntrega.Text = tariRetiro.TarifarioDescrip; } this.lblImporteRedondeo.Text = Formatos.Importe(admGuiaO.ImporteRedondeo); this.lblImporteTotalCobrar.Text = Formatos.Importe(admGuiaO.ImporteTotalCobrar); } }
/// <summary> /// Método que asigna un tarifario, los importes correspondientes para las /// zonas y topes que se le pasan como parámetro. /// El cálculo se realiza en base a la información que posee el tarifario, con respecto al /// tarifario de referncia y la variación a aplicar. /// </summary> /// <param name="tariFlete">Tarifario al que se asignan los importes</param> /// <param name="topesCol">Topes para los que se asignaran importes</param> /// <param name="zonasCol">Zonas para las que se asignaran importes</param> /// <param name="ok">Estado de la relación, si es OK pudo insertar todas las relaciones, /// si es ERR no pudo porque la base no lo tiene asociado</param> public static bool AsignarImportes(ITarifarioFlete tariFleteNuevo, ITarifariosFleteTopeCol topesCol, ITarifariosFleteZonaCol zonasCol, ArrayList ok, int usuarioID) { ITarifarioFlete tariRef = TarifarioFleteFactory.GetTarifarioFlete(); //PAO //Inicializo el parámetro ok.Add("OK"); //PAO //Solo me interesa consultar los importes del tarifario de referencia tariRef.ZonasTopesCol.TarifarioFleteID = tariFleteNuevo.TarifarioFleteRefID; tariRef.ZonasTopesCol.Consultar(); bool esPorcentaje; if (tariFleteNuevo.PorcentajeAjuste != 0) { esPorcentaje = true; } else { esPorcentaje = false; } for (int i = 0; i < topesCol.getCount(); i++) { ITarifarioFleteTope oTope = (ITarifarioFleteTope)topesCol.GetTarifarioFleteTope(i); for (int j = 0; j < zonasCol.getCount(); j++) { ITarifarioFleteZona oZona = (ITarifarioFleteZona)zonasCol.GetTarifarioFleteZona(j); //Recupero el importe al cual voy a aplicarle la variacion. ITarifarioFleteZonaTope oZonaTopeRef = TarifarioFleteZonaTopeFactory.GetTarifarioFleteZonaTope(); oZonaTopeRef = tariRef.ZonasTopesCol.ConsultarExisteByZonaTopeID(oTope.Tope.TopeID, oZona.Zona.ZonaID); if (oZonaTopeRef != null) { //Agregar un objeto de la coleccion, para setear el importe ITarifarioFleteZonaTope oZonaTopeNuevo = tariFleteNuevo.ZonasTopesCol.AddTarifarioFleteZonaTope(); //Asignar Ids oZonaTopeNuevo.TarifarioFleteZona.TarifarioFleteZonaID = oZona.TarifarioFleteZonaID; oZonaTopeNuevo.TarifarioFleteTope.TarifarioFleteTopeID = oTope.TarifarioFleteTopeID; //Hacer el calculo segun corresponda...Si se trata de un porcentaje o if (tariFleteNuevo.FactorAjuste != "") { if (esPorcentaje) { if (tariFleteNuevo.FactorAjuste == "+") { oZonaTopeNuevo.Importe = oZonaTopeRef.Importe + (oZonaTopeRef.Importe * (tariFleteNuevo.PorcentajeAjuste / 100)); //Nuevo Metodo de valorizacion de tarifarios Bulto-Kilogramo Bety if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oZonaTopeNuevo.ImporteBultoExc = oZonaTopeRef.ImporteBultoExc + (oZonaTopeRef.ImporteBultoExc * (tariFleteNuevo.PorcentajeAjuste / 100)); } } else { oZonaTopeNuevo.Importe = oZonaTopeRef.Importe - (oZonaTopeRef.Importe * (tariFleteNuevo.PorcentajeAjuste / 100)); if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oZonaTopeNuevo.ImporteBultoExc = oZonaTopeRef.ImporteBultoExc - (oZonaTopeRef.ImporteBultoExc * (tariFleteNuevo.PorcentajeAjuste / 100)); if (oZonaTopeNuevo.ImporteBultoExc < 0) { oZonaTopeNuevo.ImporteBultoExc = 0; } } if (oZonaTopeNuevo.Importe < 0) { oZonaTopeNuevo.Importe = 0; } } } else { if (tariFleteNuevo.FactorAjuste == "+") { oZonaTopeNuevo.Importe = oZonaTopeRef.Importe + tariFleteNuevo.ImporteAjuste; if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oZonaTopeNuevo.ImporteBultoExc = oZonaTopeRef.ImporteBultoExc + tariFleteNuevo.ImporteAjuste; } } else { oZonaTopeNuevo.Importe = oZonaTopeRef.Importe - tariFleteNuevo.ImporteAjuste; if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oZonaTopeNuevo.ImporteBultoExc = oZonaTopeRef.ImporteBultoExc - tariFleteNuevo.ImporteAjuste; if (oZonaTopeNuevo.ImporteBultoExc < 0) { oZonaTopeNuevo.ImporteBultoExc = 0; } } if (oZonaTopeNuevo.Importe < 0) { oZonaTopeNuevo.Importe = 0; } } } } else { oZonaTopeNuevo.Importe = oZonaTopeRef.Importe; if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oZonaTopeNuevo.ImporteBultoExc = oZonaTopeRef.ImporteBultoExc; } } } //PAO else { //Marco la variable ok con ERR, para mostrarle al usuario que no existe esa relación ok[0] = "ERR"; } //PAO } } try { tariFleteNuevo.ZonasTopesCol.TarifarioFleteID = tariFleteNuevo.TarifarioFleteID; if (tariFleteNuevo.ZonasTopesCol.Guardar(usuarioID)) { return(true); } else { return(false); } } catch (Exception) { return(false); } }
/// <summary> /// Método para recalcular importes: de zonas (Importe por Kg Excedente) e importes de zonas y topes /// </summary> /// <param name="tariFleteNuevo"></param> /// <returns>Devuelve un booleano indicando el éxito de la operación</returns> public static bool RecalcularImportes(ITarifarioFlete tariFleteNuevo, int usuarioID) { ITarifarioFlete tariRef = TarifarioFleteFactory.GetTarifarioFlete(); ITarifariosFleteZonaTopeCol zonasTopes = tariFleteNuevo.ZonasTopesCol; //Solo me interesa consultar los importes del tarifario de referencia tariRef.ZonasTopesCol.TarifarioFleteID = tariFleteNuevo.TarifarioFleteRefID; tariRef.ZonasTopesCol.Consultar(); tariRef.ZonasCol.TarifarioFleteID = tariFleteNuevo.TarifarioFleteRefID; tariRef.ZonasCol.Consultar(); bool esPorcentaje; if (tariFleteNuevo.PorcentajeAjuste != 0) { esPorcentaje = true; } else { esPorcentaje = false; } //Iterar por la coleccion de importes de zonas y asignar el importe que corresponda. ITarifariosFleteZonaCol zonasCol = tariFleteNuevo.ZonasCol; for (int i = 0; i < zonasCol.getCount(); i++) { //Recuperar el importe de Kg. Excedente de la zona de referencia ITarifarioFleteZona oZona = zonasCol.GetTarifarioFleteZona(i); ITarifarioFleteZona oZonaRef = tariRef.ZonasCol.GetTarifarioFleteZonaByZonaID(oZona.Zona.ZonaID); if (tariFleteNuevo.FactorAjuste != "") { if (esPorcentaje) { if (tariFleteNuevo.FactorAjuste == "+") { oZona.ImporteKgExcedente = oZonaRef.ImporteKgExcedente + (oZonaRef.ImporteKgExcedente * (tariFleteNuevo.PorcentajeAjuste / 100)); } else { oZona.ImporteKgExcedente = oZonaRef.ImporteKgExcedente - (oZonaRef.ImporteKgExcedente * (tariFleteNuevo.PorcentajeAjuste / 100)); if (oZona.ImporteKgExcedente < 0) { oZona.ImporteKgExcedente = 0; } } } else { if (tariFleteNuevo.FactorAjuste == "+") { //Modificacion del nuevo txtImporteAjusKgExcedente (Bety) oZona.ImporteKgExcedente = oZonaRef.ImporteKgExcedente + tariFleteNuevo.ImporteAjusteKgExcedente; } else { oZona.ImporteKgExcedente = oZonaRef.ImporteKgExcedente - tariFleteNuevo.ImporteAjusteKgExcedente; if (oZona.ImporteKgExcedente < 0) { oZona.ImporteKgExcedente = 0; } } } } else { oZona.ImporteKgExcedente = oZonaRef.ImporteKgExcedente; } } /*try * { * * return true; * else * return false; * } * catch(Exception) * { * return false; * }*/ //Recalcular los importes del tarifario //Recorrer la col de zonastopes. Por cada Zona y tope, recuperar el importe del padre y aplicar for (int i = 0; i < zonasTopes.getCount(); i++) { ITarifarioFleteZonaTope oZonaTopeNuevo = (ITarifarioFleteZonaTope)zonasTopes.GetTarifarioFleteZonaTope(i); ITarifarioFleteZonaTope oZonaTopeRef = tariRef.ZonasTopesCol.ConsultarExisteByZonaTopeID(oZonaTopeNuevo.TarifarioFleteTope.Tope.TopeID, oZonaTopeNuevo.TarifarioFleteZona.Zona.ZonaID); if (oZonaTopeRef != null) { //Hacer el calculo segun corresponda...Si se trata de un porcentaje o de un importe fijo if (tariFleteNuevo.FactorAjuste != "") { if (esPorcentaje) { if (tariFleteNuevo.FactorAjuste == "+") { oZonaTopeNuevo.Importe = oZonaTopeRef.Importe + (oZonaTopeRef.Importe * (tariFleteNuevo.PorcentajeAjuste / 100)); if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oZonaTopeNuevo.ImporteBultoExc = oZonaTopeRef.ImporteBultoExc + (oZonaTopeRef.ImporteBultoExc * (tariFleteNuevo.PorcentajeAjuste / 100)); } } else { oZonaTopeNuevo.Importe = oZonaTopeRef.Importe - (oZonaTopeRef.Importe * (tariFleteNuevo.PorcentajeAjuste / 100)); if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oZonaTopeNuevo.ImporteBultoExc = oZonaTopeRef.ImporteBultoExc - (oZonaTopeRef.ImporteBultoExc * (tariFleteNuevo.PorcentajeAjuste / 100)); if (oZonaTopeNuevo.ImporteBultoExc < 0) { oZonaTopeNuevo.ImporteBultoExc = 0; } } if (oZonaTopeNuevo.Importe < 0) { oZonaTopeNuevo.Importe = 0; } } } else { if (tariFleteNuevo.FactorAjuste == "+") { oZonaTopeNuevo.Importe = oZonaTopeRef.Importe + tariFleteNuevo.ImporteAjuste; if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oZonaTopeNuevo.ImporteBultoExc = oZonaTopeRef.ImporteBultoExc + tariFleteNuevo.ImporteAjuste; } } else { oZonaTopeNuevo.Importe = oZonaTopeRef.Importe - tariFleteNuevo.ImporteAjuste; if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oZonaTopeNuevo.ImporteBultoExc = oZonaTopeRef.ImporteBultoExc - tariFleteNuevo.ImporteAjuste; if (oZonaTopeNuevo.ImporteBultoExc < 0) { oZonaTopeNuevo.ImporteBultoExc = 0; } } if (oZonaTopeNuevo.Importe < 0) { oZonaTopeNuevo.Importe = 0; } } } } else { oZonaTopeNuevo.Importe = oZonaTopeRef.Importe; if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oZonaTopeNuevo.ImporteBultoExc = oZonaTopeRef.ImporteBultoExc; } } } } try { if (tariFleteNuevo.ZonasCol.Guardar(usuarioID)) { if (tariFleteNuevo.ZonasTopesCol.Guardar(usuarioID)) { return(true); } else { return(false); } } else { return(false); } } catch (Exception) { return(false); } }