/// <summary> /// Método que recupera los topes de un tarifario, a partir de la coleccion de topes. /// Primero se tiene que haber consultado el tarifario y llenado las colecciones. /// </summary> /// <returns>Retorna un dataset</returns> public DataView GetTopesDataSet() { DataSet ds = new DataSet(); DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new DataColumn("TarifarioClienteFleteID")); dt.Columns.Add(new DataColumn("TopeID")); dt.Columns.Add(new DataColumn("TopeKgHasta", System.Type.GetType("System.Int32"))); dt.Columns.Add(new DataColumn("Cm3Hasta")); dt.Columns.Add(new DataColumn("Importe")); dt.Columns.Add(new DataColumn("ImporteBultoExc")); dt.Columns.Add(new DataColumn("KgVariable")); for (int i = 0; i < TopesCol.getCount(); i++) { dr = dt.NewRow(); ITarifarioClienteFleteTope tope = TopesCol.GetTarifarioFleteTope(i); dr[0] = tope.TarifarioClienteFleteID; dr[1] = tope.Tope.TopeID; dr[2] = tope.Tope.TopeKgHasta; dr[3] = tope.Cm3Hasta; dr[4] = tope.Importe; dr[5] = tope.ImporteBultoExc; dr[6] = tope.KgVariable; dt.Rows.Add(dr); } ds.Tables.Add(dt); //Se ordena el arreglo mediante el criterio de Tope Hasta ds.Tables[0].DefaultView.Sort = "TopeKgHasta"; return(ds.Tables[0].DefaultView); }
public bool DeleteByFleteTopeID(int clave, int usuarioID) { using (SqlConnection conexion = new SqlConnection()) { SqlTransaction transaccion = null; conexion.ConnectionString = Config.ConnectionString; try { conexion.Open(); transaccion = conexion.BeginTransaction(); ITarifarioClienteFleteTope oTariTope = this.GetTarifarioFleteTopeByTopeID(clave); if (oTariTope.Eliminar(transaccion, usuarioID)) { tarifariosClienteFleteTope.Remove(oTariTope); } //Se instancia un objeto de TarifarioClienteFlete para por utilizar el metodo validar (Bety) TarifarioClienteFlete oTari = new TarifarioClienteFlete(); oTari.TarifarioClienteFleteID = this.TarifarioClienteFleteID; oTari.ValidarTarifario(transaccion); transaccion.Commit(); } catch (Exception) { transaccion.Rollback(); return(false); } } return(true); }
public bool Consultar() { DsTarifariosClienteFleteTope ds = this.GetTarifariosClienteFleteTopeDataSet(); if (ds == null) { return(false); } DsTarifariosClienteFleteTope.DatosRow dr = null; for (int i = 0; i < ds.Datos.Rows.Count; i++) { dr = (DsTarifariosClienteFleteTope.DatosRow)ds.Datos.Rows[i]; ITarifarioClienteFleteTope oTarifarioFleteTope = (ITarifarioClienteFleteTope)this.AddTarifarioFleteTope(); oTarifarioFleteTope.Cargar(dr); } return(true); }
public bool DeleteByFleteTopeID(int clave, System.Data.SqlClient.SqlTransaction transaccion, int usuarioID) { try { ITarifarioClienteFleteTope oTariTope = this.GetTarifarioFleteTopeByTopeID(clave); if (oTariTope.Eliminar(transaccion, usuarioID)) { tarifariosClienteFleteTope.Remove(oTariTope); } //Se instancia un objeto de TarifarioClienteFlete para por utilizar el metodo validar (Bety) TarifarioClienteFlete oTari = new TarifarioClienteFlete(); oTari.TarifarioClienteFleteID = this.TarifarioClienteFleteID; oTari.ValidarTarifario(transaccion); return(true); } catch (Exception) { return(false); } }
public static bool RecalcularImportesTarifarioCliente(ITarifarioClienteFlete tariFleteNuevo, int usuarioID) { ITarifarioFleteZona tariZonaRef = TarifarioFleteZonaFactory.GetTarifarioFleteZona(); tariZonaRef.TarifarioFleteZonaID = tariFleteNuevo.TarifarioFleteZonaReferenciaID; tariZonaRef.Consultar(); //ITarifarioFlete ITarifariosFleteZonaTopeCol zonasTopes = TarifarioFleteZonaTopeColFactory.GetTarifarioFleteZonaTopeCol(); zonasTopes.TarifarioFleteID = tariZonaRef.TarifarioFleteID; zonasTopes.Consultar(); bool esPorcentaje; if (tariFleteNuevo.PorcentajeAjuste != 0) { esPorcentaje = true; } else { esPorcentaje = false; } //Iterar por la coleccion de importes de topes y asignar el importe que corresponda. ITarifariosClienteFleteTopeCol topesCol = tariFleteNuevo.TopesCol; for (int i = 0; i < topesCol.getCount(); i++) { //Recuperar el importe de referencia de la coleccion de topes ITarifarioClienteFleteTope oTope = topesCol.GetTarifarioFleteTope(i); //ITarifarioFleteZona oZona = zonasCol.GetTarifarioFleteZona(i); ITarifarioFleteZonaTope oZonaTope = zonasTopes.ConsultarExisteByZonaTopeID(oTope.Tope.TopeID, tariZonaRef.Zona.ZonaID); //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)) ; oTope.Importe = oZonaTope.Importe + (oZonaTope.Importe * (tariFleteNuevo.PorcentajeAjuste / 100)); if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oTope.ImporteBultoExc = oZonaTope.ImporteBultoExc + (oZonaTope.ImporteBultoExc * (tariFleteNuevo.PorcentajeAjuste / 100)); } } else { oTope.Importe = oZonaTope.Importe - (oZonaTope.Importe * (tariFleteNuevo.PorcentajeAjuste / 100)); if (oTope.Importe < 0) { oTope.Importe = 0; } if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oTope.ImporteBultoExc = oZonaTope.ImporteBultoExc - (oZonaTope.ImporteBultoExc * (tariFleteNuevo.PorcentajeAjuste / 100)); if (oTope.ImporteBultoExc < 0) { oTope.ImporteBultoExc = 0; } } } } else { if (tariFleteNuevo.FactorAjuste == "+") { oTope.Importe = oZonaTope.Importe + tariFleteNuevo.ImporteAjuste; if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oTope.ImporteBultoExc = oZonaTope.ImporteBultoExc + tariFleteNuevo.ImporteAjuste; } } else { oTope.Importe = oZonaTope.Importe - tariFleteNuevo.ImporteAjuste; if (oTope.Importe < 0) { oTope.Importe = 0; } if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oTope.ImporteBultoExc = oZonaTope.ImporteBultoExc - tariFleteNuevo.ImporteAjuste; if (oTope.ImporteBultoExc < 0) { oTope.ImporteBultoExc = 0; } } } } } else { oTope.Importe = oZonaTope.Importe; if (tariFleteNuevo.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { oTope.ImporteBultoExc = oZonaTope.ImporteBultoExc; } } } try { if (tariFleteNuevo.Guardar(usuarioID)) { if (tariFleteNuevo.TopesCol.Guardar(usuarioID)) { return(true); } else { return(false); } } else { return(false); } } catch (Exception) { return(false); } }
private void butTopes_Click(object sender, System.EventArgs e) { ITarifariosClienteFleteTopeCol tariTopes = tariFlete.TopesCol; tariTopes.TarifarioClienteFleteID = tariFlete.TarifarioClienteFleteID; string vol = ""; bool bul = false; bool bulKilo = false; bool isOK = true; double importe, importeBultoExc; /*SFE Se agrega validador de volumen para Bulto_Variable, a pedido de Carlos Marcon*/ if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto || tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Variable) { bul = true; } if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { bul = true; bulKilo = true; } // SFE: Borrar esto si no se usa. Es decir si no se muestra el excedente por bulto_variable // /*SFE Agregar Validador para Bulto Variable en el importe bulto excedente*/ // if(tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Variable) // { // bulKilo = true; // } foreach (DataGridItem item in dtgTopesDisponibles.Items) { if (((CheckBox)item.FindControl("chkTopeDisp")).Checked) { if (bul) { BaseValidator valVolumen = (RegularExpressionValidator)((PlaceHolder)item.FindControl("phValidVol")).FindControl("valVolumen"); RequiredFieldValidator reqVolumen = (RequiredFieldValidator)((PlaceHolder)item.FindControl("phValidVol")).FindControl("reqVolumen"); valVolumen.Enabled = true; reqVolumen.Enabled = true; valVolumen.Validate(); reqVolumen.Validate(); if (!valVolumen.IsValid || !reqVolumen.IsValid) { isOK = false; } //} if (bulKilo) { BaseValidator valImporteBultoDisp = (RegularExpressionValidator)((PlaceHolder)item.FindControl("phValidImporteBultoDisp")).FindControl("valImporteBultoDisp"); RequiredFieldValidator reqImporteBultoDisp = (RequiredFieldValidator)((PlaceHolder)item.FindControl("phValidImporteBultoDisp")).FindControl("reqImporteBultoDisp"); valImporteBultoDisp.Enabled = true; reqImporteBultoDisp.Enabled = true; valImporteBultoDisp.Validate(); reqImporteBultoDisp.Validate(); if (!valImporteBultoDisp.IsValid || !reqImporteBultoDisp.IsValid) { isOK = false; } } } BaseValidator valImporteDisp = (RegularExpressionValidator)((PlaceHolder)item.FindControl("phValidImporteDisp")).FindControl("valImporteDisp"); RequiredFieldValidator reqImporteDisp = (RequiredFieldValidator)((PlaceHolder)item.FindControl("phValidImporteDisp")).FindControl("reqImporteDisp"); valImporteDisp.Enabled = true; reqImporteDisp.Enabled = true; valImporteDisp.Validate(); reqImporteDisp.Validate(); if (!valImporteDisp.IsValid || !reqImporteDisp.IsValid) { isOK = false; } } } if (!isOK) { return; } foreach (DataGridItem item in dtgTopesDisponibles.Items) { if (((CheckBox)item.FindControl("chkTopeDisp")).Checked) { importe = Convert.ToDouble(((TextBox)item.FindControl("txtImporteDisp")).Text); vol = ((TextBox)item.FindControl("txtVolumen")).Text; importeBultoExc = ((TextBox)item.FindControl("txtImporteBultoDisp")).Text == "" ? 0 : Convert.ToDouble(((TextBox)item.FindControl("txtImporteBultoDisp")).Text); ITarifarioClienteFleteTope oTariTope = tariTopes.AddTarifarioFleteTope(); oTariTope.Tope.TopeID = Convert.ToInt32(dtgTopesDisponibles.DataKeys[item.DataSetIndex]); oTariTope.Tope.TopeKgHasta = Convert.ToInt32(((Label)item.FindControl("lblTopeKgHasta")).Text); /*SFE Asignar el item checkeado o no en la tabla TopesDisponibles*/ oTariTope.KgVariable = ((CheckBox)item.FindControl("chkTopeDispVar")).Checked; //oTariTope.Importe = Convert.ToDouble(((TextBox)item.FindControl("txtImporteDisp")).Text); if (bul) { oTariTope.Cm3Hasta = Convert.ToDouble(vol); } if (bulKilo) { oTariTope.ImporteBultoExc = importeBultoExc; } if (tariFlete.TarifarioFleteZonaReferenciaID != 0) { oTariTope.Importe = AdministrarTarifarios.CalcularImporte(importe, tariFlete.FactorAjuste, tariFlete.PorcentajeAjuste, tariFlete.ImporteAjuste); if (bulKilo) { oTariTope.ImporteBultoExc = AdministrarTarifarios.CalcularImporte(importeBultoExc, tariFlete.FactorAjuste, tariFlete.PorcentajeAjuste, tariFlete.ImporteAjuste); if (oTariTope.ImporteBultoExc < 0) { oTariTope.ImporteBultoExc = 0; } } if (oTariTope.Importe < 0) { oTariTope.Importe = 0; } } else { oTariTope.Importe = importe; if (bulKilo) { oTariTope.ImporteBultoExc = importeBultoExc; } } } } // Obtenemos el usuario que ejecuta la acción. IUsuarios usuarioConectado = UsuariosFactory.GetUsuario(); usuarioConectado.Login = this.UsuarioConectadoID; usuarioConectado.ConsultarByLogin(); try { tariTopes.Guardar(usuarioConectado.UsuarioID); this.BindGridTopesDisp(0); this.BindGridTopesTarif(0); this.SetearPorTarifarioReferencia(); } catch (Exception ex) { throw ex; } Session["tarifario"] = tariFlete; }
protected void dtgTopesTarifario_Update(Object sender, DataGridCommandEventArgs e) { string vol = ""; bool bul = false; bool bulKilo = false; string importeBultoExc = ""; if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto) { bul = true; } if (tariFlete.ValorizacionTarifario == SisPack.ValorizacionTarifario.Bulto_Kilogramo) { bul = true; bulKilo = true; } if (bul) { vol = ((TextBox)e.Item.FindControl("txtVolumenTari")).Text; BaseValidator valVolumen = (RegularExpressionValidator)((PlaceHolder)e.Item.FindControl("phValidVolTari")).FindControl("valVolumenTar"); RequiredFieldValidator reqVolumen = (RequiredFieldValidator)((PlaceHolder)e.Item.FindControl("phValidVolTari")).FindControl("reqVolumenTar"); valVolumen.Enabled = true; reqVolumen.Enabled = true; valVolumen.Validate(); reqVolumen.Validate(); if (!valVolumen.IsValid || !reqVolumen.IsValid) { return; } if (bulKilo) { importeBultoExc = ((TextBox)e.Item.FindControl("txtImporteBultoTari")).Text; BaseValidator valImporteBultoTari = (RegularExpressionValidator)((PlaceHolder)e.Item.FindControl("phValidImporteBultoTari")).FindControl("valImporteBultoTari"); RequiredFieldValidator reqImporteBultoTari = (RequiredFieldValidator)((PlaceHolder)e.Item.FindControl("phValidImporteBultoTari")).FindControl("reqImporteBultoTari"); valImporteBultoTari.Enabled = true; reqImporteBultoTari.Enabled = true; valImporteBultoTari.Validate(); reqImporteBultoTari.Validate(); if (!valImporteBultoTari.IsValid || !reqImporteBultoTari.IsValid) { return; } } } BaseValidator valImporte = (RegularExpressionValidator)((PlaceHolder)e.Item.FindControl("phValidImporteTari")).FindControl("valImporteTari"); RequiredFieldValidator reqImporte = (RequiredFieldValidator)((PlaceHolder)e.Item.FindControl("phValidImporteTari")).FindControl("reqImporteTari"); valImporte.Enabled = true; reqImporte.Enabled = true; valImporte.Validate(); reqImporte.Validate(); if (!valImporte.IsValid || !reqImporte.IsValid) { return; } int key = Convert.ToInt32(dtgTopesTarifario.DataKeys[(int)e.Item.ItemIndex]); ITarifarioClienteFleteTope oTariTope = tariFlete.TopesCol.GetTarifarioFleteTopeByTopeID(key); if (bul) { oTariTope.Cm3Hasta = Convert.ToDouble(vol); } if (bulKilo) { oTariTope.ImporteBultoExc = Convert.ToDouble(importeBultoExc); } oTariTope.Importe = Convert.ToDouble(((TextBox)e.Item.FindControl("txtImporteTari")).Text); /*SFE Asignar el valor del checkbox al editar*/ oTariTope.KgVariable = ((CheckBox)e.Item.FindControl("chkTopeTariVar1")).Checked; // Obtenemos el usuario que ejecuta la acción. IUsuarios usuarioConectado = UsuariosFactory.GetUsuario(); usuarioConectado.Login = this.UsuarioConectadoID; usuarioConectado.ConsultarByLogin(); oTariTope.Guardar(usuarioConectado.UsuarioID); dtgTopesTarifario.EditItemIndex = -1; this.BindGridTopesTarif(0); //chkTopesTarifTodos.Checked = false; this.SetearPorTarifarioReferencia(); }