public void ValidateImportes(object source, System.Web.UI.WebControls.ServerValidateEventArgs args) { if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { ITarifariosFleteZonaTopeCol zonasTopes = tariFlete.ZonasTopesCol; ITarifariosFleteTopeCol tariTopes = tariFlete.TopesCol; ITarifariosFleteZonaCol tariZonas = tariFlete.ZonasCol; TextBox txt1, txt2; //Se lo agregué para poder probar los validadores agregados a los text string mje = "Error en la "; for (int i = 0; i < tariTopes.getCount(); i++) { ITarifarioFleteTope oTope = (ITarifarioFleteTope)tariTopes.GetTarifarioFleteTope(i); for (int j = 0; j < tariZonas.getCount(); j++) { ITarifarioFleteZona oZona = (ITarifarioFleteZona)tariZonas.GetTarifarioFleteZona(j); ITarifarioFleteZonaTope oZonaTope = zonasTopes.ConsultarExiste(oTope.TarifarioFleteTopeID, oZona.TarifarioFleteZonaID); if (oZonaTope != null) { txt1 = (TextBox)this.FindControl("txtImporte_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID); txt2 = (TextBox)this.FindControl("txtImporteBulto_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID); if ((txt1.Text.Trim() == "" & txt2.Text.Trim() != "") || (txt1.Text.Trim() != "" & txt2.Text.Trim() == "")) { mje += ((ITarifarioFleteZona)tariZonas.GetTarifarioFleteZona(j)).Zona.ZonaDescrip + ", Tope " + ((ITarifarioFleteTope)tariTopes.GetTarifarioFleteTope(i)).Tope.TopeKgHasta + "; "; } } } } if (mje != "Error en la ") { args.IsValid = false; ((CustomValidator)source).ErrorMessage = "Debe ingresar o borrar los dos valores para una combinacion: " + mje; //"Debe seleccionar tope y zona para asignar importes"; return; } args.IsValid = true; } }
public void CargarTablaImportes(bool edit) { ITarifariosFleteZonaTopeCol zonasTopes = tariFlete.ZonasTopesCol; ITarifariosFleteTopeCol tariTopes = tariFlete.TopesCol; ITarifariosFleteZonaCol tariZonas = tariFlete.ZonasCol; if (zonasTopes.getCount() > 0) { HtmlTable tblTabla = (HtmlTable)FindControl("tblImportesTarifario"); HtmlTableRow rowFila = new HtmlTableRow(); HtmlTableCell celCelda = new HtmlTableCell(); TextBox txt1, txt2; Label lbl1, lbl2; PlaceHolder ph1, ph2; celCelda.InnerText = ""; celCelda.Attributes.Add("Class", "TituloGrilla"); rowFila.Cells.Add(celCelda); for (int i = 0; i < tariZonas.getCount(); i++) { celCelda = new HtmlTableCell(); celCelda.Attributes.Add("Class", "TituloGrillaFijo"); if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { celCelda.Attributes.Add("Colspan", "2"); } celCelda.InnerText = ((ITarifarioFleteZona)tariZonas.GetTarifarioFleteZona(i)).Zona.ZonaDescrip; rowFila.Controls.Add(celCelda); } tblTabla.Rows.Add(rowFila); //Si la valorizacion del Tarifario es Bulto-kilogramo agrego los subtitulos Primer Bulto y Bulto Exc if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { rowFila = new HtmlTableRow(); celCelda = new HtmlTableCell(); celCelda.InnerText = ""; celCelda.Attributes.Add("Class", "TituloGrilla"); rowFila.Cells.Add(celCelda); for (int i = 0; i < tariZonas.getCount(); i++) { celCelda = new HtmlTableCell(); celCelda.Attributes.Add("Class", "TituloGrillaFijo"); celCelda.Attributes.Add("Colspan", "1"); celCelda.InnerText = "Primer Bulto"; rowFila.Controls.Add(celCelda); celCelda = new HtmlTableCell(); celCelda.Attributes.Add("Class", "TituloGrillaFijo"); celCelda.Attributes.Add("Colspan", "1"); celCelda.InnerText = "Bulto Exc"; rowFila.Controls.Add(celCelda); } tblTabla.Rows.Add(rowFila); } for (int i = 0; i < tariTopes.getCount(); i++) { ITarifarioFleteTope oTope = (ITarifarioFleteTope)tariTopes.GetTarifarioFleteTope(i); rowFila = new HtmlTableRow(); celCelda = new HtmlTableCell(); celCelda.InnerText = oTope.Tope.TopeKgHasta.ToString(); celCelda.Attributes.Add("Class", "TituloGrilla"); rowFila.Cells.Add(celCelda); for (int j = 0; j < tariZonas.getCount(); j++) { ITarifarioFleteZona oZona = (ITarifarioFleteZona)tariZonas.GetTarifarioFleteZona(j); ITarifarioFleteZonaTope oZonaTope = zonasTopes.ConsultarExiste(oTope.TarifarioFleteTopeID, oZona.TarifarioFleteZonaID); celCelda = new HtmlTableCell(); celCelda.InnerText = ""; HtmlTableCell celCelda1 = new HtmlTableCell(); celCelda1.InnerText = ""; if (oZonaTope != null) { if (edit) { txt1 = new TextBox(); txt1.CssClass = "CampoChicoFijo"; txt1.ID = "txtImporte_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID; txt1.EnableViewState = false; txt1.Text = oZonaTope.Importe.ToString("0.###"); txt1.MaxLength = 12; celCelda.Controls.Add(txt1); ph1 = new PlaceHolder(); ph1.Controls.Add(GenerarValidadores.DecimalPositivo(txt1.ID, this.TraducirTexto("Errores.Invalidos.Importe"), true, "valImporte_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID)); celCelda.Controls.Add(ph1); //rowFila.Cells.Add(celCelda); if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { txt2 = new TextBox(); txt2.CssClass = "CampoChicoFijo"; txt2.ID = "txtImporteBulto_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID; txt2.EnableViewState = false; txt2.Text = oZonaTope.ImporteBultoExc.ToString("0.###"); txt2.MaxLength = 12; celCelda1.Controls.Add(txt2); ph2 = new PlaceHolder(); //VER ph2.Controls.Add(GenerarValidadores.DecimalPositivo(txt2.ID, this.TraducirTexto("Errores.Invalidos.Importe"), true, "valImporteBulto_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID)); celCelda1.Controls.Add(ph2); //rowFila.Cells.Add(celCelda1); } } else { lbl1 = new Label(); lbl1.CssClass = "TextoChicoFijo"; lbl1.ID = "lblImporte_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID; lbl1.Text = oZonaTope.Importe.ToString("0.###"); /*SFE Mostrar en la tabla el texto "/Kg" si es Kilogramo Variable o "%" si es Por Valor Declarado*/ if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Kilogramo) { if (oTope.KgVariable) { lbl1.Text = lbl1.Text + " / Kg."; } } else if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.ValorDeclarado) { lbl1.Text = lbl1.Text + " %"; } celCelda.Controls.Add(lbl1); //rowFila.Cells.Add(celCelda); if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { //HtmlTableCell celCelda1 = new HtmlTableCell(); //celCelda1.InnerText = ""; lbl2 = new Label(); lbl2.CssClass = "TextoChicoFijo"; lbl2.ID = "lblImporteBulto_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID; lbl2.Text = oZonaTope.ImporteBultoExc.ToString("0.###"); celCelda1.Controls.Add(lbl2); //rowFila.Cells.Add(celCelda1); } } } rowFila.Cells.Add(celCelda); if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { rowFila.Cells.Add(celCelda1); } } tblTabla.Rows.Add(rowFila); } if ((this.txtAccion.Text == "E") || (this.txtAccion.Text == "G")) { this.SetearBotones("GuardarCancelar"); } else { this.SetearBotones("Editar"); } } else { this.SetearBotones("Ninguno"); } }
public bool GuardarImportesTabla() { ITarifariosFleteZonaTopeCol zonasTopes = tariFlete.ZonasTopesCol; ITarifariosFleteTopeCol tariTopes = tariFlete.TopesCol; ITarifariosFleteZonaCol tariZonas = tariFlete.ZonasCol; TextBox txt1, txt2; //Se lo agregué para poder probar los validadores agregados a los text for (int i = 0; i < tariTopes.getCount(); i++) { ITarifarioFleteTope oTope = (ITarifarioFleteTope)tariTopes.GetTarifarioFleteTope(i); for (int j = 0; j < tariZonas.getCount(); j++) { ITarifarioFleteZona oZona = (ITarifarioFleteZona)tariZonas.GetTarifarioFleteZona(j); ITarifarioFleteZonaTope oZonaTope = zonasTopes.ConsultarExiste(oTope.TarifarioFleteTopeID, oZona.TarifarioFleteZonaID); if (oZonaTope != null) { txt1 = (TextBox)this.FindControl("txtImporte_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID); if (txt1.Text.Trim() == "") { // Guardamos el usuario que ejecuta la acción. IUsuarios usuarioConectado = NegociosSisPackFactory.UsuariosFactory.GetUsuario(); usuarioConectado.Login = this.UsuarioConectadoID; usuarioConectado.ConsultarByLogin(); if (oZonaTope.Eliminar(usuarioConectado.UsuarioID)) { zonasTopes.RemoveTarifarioFleteZonaTope(oZonaTope); } } else { oZonaTope.Importe = Convert.ToDouble(txt1.Text); if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { txt2 = (TextBox)this.FindControl("txtImporteBulto_" + oZona.Zona.ZonaID + "_" + oTope.Tope.TopeID); oZonaTope.ImporteBultoExc = Convert.ToDouble(txt2.Text); } } } } } // Obtenemos el usuario que graba el tope. IUsuarios usuarioConectado2 = NegociosSisPackFactory.UsuariosFactory.GetUsuario(); usuarioConectado2.Login = this.UsuarioConectadoID; usuarioConectado2.ConsultarByLogin(); if (zonasTopes.Guardar(usuarioConectado2.UsuarioID)) { Session["tarifario"] = this.tariFlete; return(true); } else { return(false); } }
/// <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); } }