private void GuardarConcepto(GridViewCommandEventArgs e) { try { GridViewRow item = this.gvConceptosFacturacion2.Rows[this.gvConceptosFacturacion2.EditIndex]; TextBox CodigoBarras = (TextBox)item.FindControl("txtCodigoBarrasConcepto"); //para que valide que el CB ingresado no corresponde a una unidad de venta FQ18/01/2015 ICodigoBarras cb = CodigoBarrasFactory.GetCodigoBarras(); if (cb.validaCBProducto(CodigoBarras.Text) > 0) { string script = string.Empty; errores.Visible = true; errores.Text = ("El código de barras " + CodigoBarras.Text + " no es válido para esta sección ya que está vinculado a una Unidad de Venta o Servicio. Debe ingresarlo en la sección de Codigo de Barras"); ScriptManager.RegisterClientScriptBlock(this.upd1, upd1.GetType(), "muestraMensaje4", script, true); return; } /* Obtener los datos de la grilla. */ dtConceptoFacturacion = (dsConceptoFacturacion.ConceptoDataTable)Session["dtConceptoFacturacion"]; /* Posicionarse en el registro deseado. */ dsConceptoFacturacion.ConceptoRow dr; dr = (dsConceptoFacturacion.ConceptoRow)dtConceptoFacturacion.Rows[Convert.ToInt32(e.CommandArgument)]; IConceptoFacturacion conceptoFacturacion = ConceptoFacturacionFactory.GetConceptoFacturacion(); //conceptoFacturacion.ConceptoFacturacionId = dr.ConceptoFacturacionID; DropDownList concepto = (DropDownList)item.FindControl("ddlConceptoFacturacion"); string selValue = concepto.SelectedValue; dr.ConceptoFacturacionID = selValue == "" ? 0 : Convert.ToInt32(selValue); dr.Descripcion = concepto.SelectedItem.Text.Trim(); if (dr.ConceptoFacturacionID == 0) { string script = string.Empty; script += "alert('Debe seleccionar un concepto de facturación.');\n"; errores.Visible = true; errores.Text = " El código de barras " + CodigoBarras.Text + " no es válido."; ScriptManager.RegisterClientScriptBlock(this.upd1, upd1.GetType(), "muestraMensaje4", script, true); return; } ICodigoBarras codigoBarra = CodigoBarrasFactory.GetCodigoBarras(); if (CodigoBarras.Text.Length > 0 && CodigoBarras.Text != string.Empty) { txtClienteIDD.Text = "0"; int ClienteCoorporativoID = Convert.ToInt32(txtClienteIDD.Text); // valida que el codigo se haya asignado a la agencia o al cliente if (codigoBarra.ValidarCodigoBarras(CodigoBarras.Text, AgenciaConectadaID, ClienteCoorporativoID) == false) { string script = string.Empty; errores.Visible = true; errores.Text = " El código de barras " + CodigoBarras.Text + " no es válido."; ScriptManager.RegisterClientScriptBlock(this.upd1, upd1.GetType(), "muestraMensaje4", script, true); return; } // valida que no se ingrese el mismo codigo mas de una vez if ((this.dtConceptoFacturacion.Select("CodigoBarras like '" + CodigoBarras.Text + "'").Length > 0) && CodigoBarras.Text != string.Empty) { string script = string.Empty; errores.Visible = true; errores.Text = "a se ha ingresado el código de barras " + CodigoBarras.Text + "."; ScriptManager.RegisterClientScriptBlock(this.upd1, upd1.GetType(), "muestraMensaje4", script, true); return; } } conceptoFacturacion.GetOne(dr.ConceptoFacturacionID); TextBox NroPrecinto = (TextBox)item.FindControl("txtNroPrecinto"); TextBox HorasDias = (TextBox)item.FindControl("txtHorasDias"); if (((conceptoFacturacion.RequiereDatosObligatorio ?? false) == true) && (NroPrecinto.Text == string.Empty)) { string script = string.Empty; // script += "alert('Debe ingresar un número de precinto para el servicio.');\n"; //((ErrorWeb)this.phErrores.Controls[0]).setMensaje("Debe ingresar un número de precinto para el servicio."); errores.Visible = true; errores.Text = "Debe ingresar un número de precinto para el servicio."; ScriptManager.RegisterClientScriptBlock(this.upd1, upd1.GetType(), "muestraMensaje4", script, true); return; } // Si tiene tarifario por horas o dias, habilitar el textbox de horas/dias if (((conceptoFacturacion.TipoTarifarioConceptoFacturableID == (int)NegociosSisPackInterface.SisPack.TipoTarifarioConceptoFacturable.Tarifariosporhoras) || (conceptoFacturacion.TipoTarifarioConceptoFacturableID == (int)NegociosSisPackInterface.SisPack.TipoTarifarioConceptoFacturable.Tarifariospordías)) && (HorasDias.Text == string.Empty)) { string script = string.Empty; // script += "alert('Debe ingresar la cantidad de horas o días para el servicio.');\n"; // ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("Debe ingresar la cantidad de horas o días para el servicio."); errores.Text = "Debe ingresar la cantidad de horas o días para el servicio."; ScriptManager.RegisterClientScriptBlock(this.upd1, upd1.GetType(), "muestraMensaje4", script, true); return; } dr.HorasDias = HorasDias.Text.Trim().Equals("") ? 0 : Utiles.Validaciones.obtieneEntero(HorasDias.Text.Trim()); dr.NroPrecinto = NroPrecinto.Text.Trim().Equals("") ? string.Empty : NroPrecinto.Text.Trim(); dr.CodigoBarras = CodigoBarras.Text.Trim().Equals("") ? string.Empty : CodigoBarras.Text.Trim(); dtConceptoFacturacion[Convert.ToInt32(e.CommandArgument)].HorasDias = dr.HorasDias; dtConceptoFacturacion[Convert.ToInt32(e.CommandArgument)].Descripcion = dr.Descripcion; dtConceptoFacturacion[Convert.ToInt32(e.CommandArgument)].NroPrecinto = dr.NroPrecinto; dtConceptoFacturacion[Convert.ToInt32(e.CommandArgument)].CodigoBarras = dr.CodigoBarras; dtConceptoFacturacion[Convert.ToInt32(e.CommandArgument)].ConceptoFacturacionID = dr.ConceptoFacturacionID; dtConceptoFacturacion[Convert.ToInt32(e.CommandArgument)].TipoTarifarioConceptoFacturableID = conceptoFacturacion.TipoTarifarioConceptoFacturableID ?? 0; dtConceptoFacturacion[Convert.ToInt32(e.CommandArgument)].RequiereDatosObligatorio = conceptoFacturacion.RequiereDatosObligatorio ?? false; dtConceptoFacturacion[Convert.ToInt32(e.CommandArgument)].EsNuevo = false; if (dr.RequiereDatosObligatorio) { //Inserto el tipo de bulto Bolsa de seguridad if (ddlTipoBulto.Items.FindByValue("3") == null) { ddlTipoBulto.Items.Add(new ListItem("Bolsa de Seguridad", "3")); ddlTipoBulto.DataBind(); ddlTipoBulto.SelectedValue = "3"; ddlTipoBulto.Enabled = false; } } dr = null; conceptoFacturacion = null; gvConceptosFacturacion2.EditIndex = -1; Session["dtConceptoFacturacion"] = dtConceptoFacturacion; BindGridConceptosFacturacion(gvConceptosFacturacion2.PageIndex); butNuevoConcepto.Enabled = true; //butIngresoConceptos.Enabled = true; errores.Visible = false; errores.Text = ""; } catch (Exception ex) { string script = string.Empty; errores.Visible = true; errores.Text = ex.Message; ScriptManager.RegisterClientScriptBlock(this.upd1, upd1.GetType(), "muestraMensaje4", script, true); return; // ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message); } }
protected void butConfirmar_Click(object sender, System.EventArgs e) { ICodigoBarras cbc = CodigoBarrasFactory.GetCodigoBarras(); foreach (GridViewRow item in gvConceptosFacturacion.Rows) { if (((CheckBox)item.Cells[0].FindControl("chkAsignar")).Checked) { string cb = ((TextBox)item.FindControl("txtCodigoBarras")).Text; if (cbc.validaCBProducto(cb) > 0) { string script = string.Empty; script += "alert('El código de barras " + cb + " no es válido para esta sección ya que está vinculado a un Concepto Facturable. Debe ingresarlo en la sección de Conceptos Facturables');\n"; ScriptManager.RegisterClientScriptBlock(this.upnlGrilla, upnlGrilla.GetType(), "muestraMensaje1", script, true); return; } ///*Si se marco el concepto, verifico que se haya ingresado una cantidad*/ //RequiredFieldValidator rfv = item.FindControl("RequiredtxtCantidad") as RequiredFieldValidator; //rfv.Enabled = true; /*Por cada row voy a verificar si el concepto de facturacion "RequiereDatosObligatorios" (NroPrecinto)*/ if (Convert.ToBoolean(item.Cells[2].Text)) // Celda 2: Indica si requiere datos obligatorios. Valido el campo NroPrecinto { RequiredFieldValidator rfv1 = item.FindControl("RequiredtxtNroPrecinto") as RequiredFieldValidator; rfv1.Enabled = true; } /*Por cada row voy a verificar si el concepto de facturacion "RequiereIngresoDias/Horas" (depende del tipotarifario)*/ if ((Utiles.Validaciones.obtieneEntero(item.Cells[3].Text) == (int)NegociosSisPackInterface.SisPack.TipoTarifarioConceptoFacturable.Tarifariospordías) || (Utiles.Validaciones.obtieneEntero(item.Cells[3].Text) == (int)NegociosSisPackInterface.SisPack.TipoTarifarioConceptoFacturable.Tarifariosporhoras)) // Celda 2: Indica que requiere ingreso de dias horas por el tarifario. { RequiredFieldValidator rfv2 = item.FindControl("RequiredtxtHorasDias") as RequiredFieldValidator; rfv2.Enabled = true; } if (((TextBox)item.FindControl("txtCodigoBarras")).Text != string.Empty) // Celda 4: Se ingreso un codigo de barras. { ICodigoBarras codigoBarra = CodigoBarrasFactory.GetCodigoBarras(); if (codigoBarra.ValidarCodigoBarras(((TextBox)item.FindControl("txtCodigoBarras")).Text, AgenciaID, ClienteID) == false) { string script = string.Empty; script += "alert('El código de barras " + ((TextBox)item.FindControl("txtCodigoBarras")).Text + " no es válido.');\n"; ScriptManager.RegisterClientScriptBlock(this.upnlGrilla, upnlGrilla.GetType(), "muestraMensaje1", script, true); return; } } } } /*Valido la pagina*/ Page.Validate(); if (!Page.IsValid) { return; } dsConceptoFacturacion.ConceptoDataTable dsDetalle = new dsConceptoFacturacion.ConceptoDataTable(); dsDetalle = new dsConceptoFacturacion.ConceptoDataTable(); foreach (GridViewRow item in gvConceptosFacturacion.Rows) { if (((CheckBox)item.Cells[0].FindControl("chkAsignar")).Checked) { dsConceptoFacturacion.ConceptoRow dr = null; //dsConceptoFacturacion.ConceptoRow dr = new dsConceptoFacturacion.ConceptoRow(); dr = dsDetalle.NewConceptoRow(); dr.ConceptoFacturacionID = Utiles.Validaciones.obtieneEntero(item.Cells[1].Text); TextBox txtCantidad = (TextBox)item.FindControl("txtCantidad"); dr.Cantidad = Utiles.Validaciones.obtieneEntero(txtCantidad.Text); TextBox txtNroPrecinto = (TextBox)item.FindControl("txtNroPrecinto"); dr.NroPrecinto = txtNroPrecinto.Text; TextBox txtHorasDias = (TextBox)item.FindControl("txtHorasDias"); dr.HorasDias = Utiles.Validaciones.obtieneDouble(txtHorasDias.Text); dr.RequiereDatosObligatorio = Convert.ToBoolean(item.Cells[2].Text); dr.TipoTarifarioConceptoFacturableID = Utiles.Validaciones.obtieneEntero(item.Cells[3].Text); Label lblDescripcion = (Label)item.FindControl("lblConceptoFacturacionDescrip"); dr.Descripcion = lblDescripcion.Text; TextBox txtCodigoBarras = (TextBox)item.FindControl("txtCodigoBarras"); dr.CodigoBarras = txtCodigoBarras.Text; dsDetalle.AddConceptoRow(dr); } } Session["DsDetalleConceptosFacturacionAAgregar"] = dsDetalle; StringBuilder scriptFinal = new StringBuilder(); scriptFinal.Append("<script type=\"text/javascript\">\n"); scriptFinal.Append("window.close();\n"); scriptFinal.Append("</script>"); Page.RegisterStartupScript("DatosRegistrados", scriptFinal.ToString()); }