Exemplo n.º 1
0
        /// <summary>
        /// Guardar datos de la unidad de venta
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void butGuardarUnidadVenta_Click(object sender, System.EventArgs e)
        {
            if (!Page.IsValid)
            {
                return;
            }

            IUnidadVenta unidadVenta = UnidadVentaFactory.GetUnidadVenta();

            unidadVenta.UnidadVentaID      = this.txtUnidadVentaID.Text == "" ? 0 : Convert.ToInt32(this.txtUnidadVentaID.Text);
            unidadVenta.UnidadNegocioID    = this.UnidadNegocioID;
            unidadVenta.UnidadVentaDescrip = this.txtUnidadVentaDescrip.Text.Trim();
            //unidadVenta.FechaAlta = this.txtFechaAlta.Text != "" ? Fechas.FormatFechaDDMMYYYY(this.txtFechaAlta.Text) : Fechas.FormatFechaYYYYMMDD("19000101");
            unidadVenta.Producto.ProductoID           = ddlProducto.SelectedValue == "" ? 0 : Convert.ToInt32(this.ddlProducto.SelectedValue);
            unidadVenta.TiempoEntrega.TiempoEntregaID = ddlTiempoEntrega.SelectedValue == "" ? 0 : Convert.ToInt32(this.ddlTiempoEntrega.SelectedValue);
            unidadVenta.TipoIdentificacionID          = Utiles.Validaciones.obtieneEntero(this.ddlIdentificador.SelectedValue);
            unidadVenta.SoloCorporativo          = this.chkSoloCorporativo.Checked;
            unidadVenta.TiempoEstimadoEntrega    = this.txtTiempoEstimadoEntrega.Text == "" ? 0 : Convert.ToInt32(this.txtTiempoEstimadoEntrega.Text);
            unidadVenta.TiempoEstimadoTransito   = this.TxtTiempoEstimadoTransito.Text == "" ? 0 : Convert.ToInt32(TxtTiempoEstimadoTransito.Text);
            unidadVenta.TiempoEstimadoRedespacho = TxtTiempoEstimadoRedespacho.Text == "" ? 0 : Convert.ToInt32(TxtTiempoEstimadoRedespacho.Text);
            unidadVenta.KmMaximo              = this.txtKmMaximo.Text == "" ? 0 : Convert.ToDouble(this.txtKmMaximo.Text);
            unidadVenta.RequiereValidacion    = this.chklRequiereValidacion.Checked;
            unidadVenta.RequiereDatosConf     = this.chkRequiereDatosConf.Checked;
            unidadVenta.CantCuerposImprGuia   = this.txtCantCuerposImprGuia.Text.Trim().Equals("")?0:Convert.ToInt32(this.txtCantCuerposImprGuia.Text.Trim());
            unidadVenta.EmitirDesdeSisPackOff = this.ChkEmitirSisPackOff.Checked;
            unidadVenta.ValorDeclaradoMinimo  = this.txtValorDeclaradoMinimo.Text == "" ? 0 : Utiles.Validaciones.obtieneDouble(this.txtValorDeclaradoMinimo.Text);
            unidadVenta.ValorDeclaradoMaximo  = this.txtValorDeclaradoMaximo.Text == "" ? 0 : Utiles.Validaciones.obtieneDouble(this.txtValorDeclaradoMaximo.Text);
            unidadVenta.ValorAforo            = this.txtValorAforo.Text == "" ? 0 : Utiles.Validaciones.obtieneDouble(this.txtValorAforo.Text);
            unidadVenta.Seguro    = this.txtSeguro.Text == "" ? 0 : Utiles.Validaciones.obtieneDouble(this.txtSeguro.Text);
            unidadVenta.UsuarioID = this.usuario.UsuarioID;
            unidadVenta.TiempoEstimadoTransbordo = this.TxtTiempoEstimadoTransbordo.Text == string.Empty ? 0 : Convert.ToInt32(this.TxtTiempoEstimadoTransbordo.Text);
            unidadVenta.ValorConversionM3        = this.txtValorConversionM3.Text == "" ? 0 : Utiles.Validaciones.obtieneDouble(this.txtValorConversionM3.Text);
            Int32 _auxEmpresaFactId;

            if (Int32.TryParse(ddlEmpresaFacturacion.SelectedValue, out _auxEmpresaFactId))
            {
                unidadVenta.EmpresaFacturacionID = _auxEmpresaFactId;
            }
            else
            {
                unidadVenta.EmpresaFacturacionID = null;
            }

            Int32 _auxConceptoFact;

            if (Int32.TryParse(ddlConceptoFacturacionDelfos.SelectedValue, out _auxConceptoFact))
            {
                unidadVenta.ConceptoFacturacionDelfosID = _auxConceptoFact;
            }
            else
            {
                unidadVenta.ConceptoFacturacionDelfosID = null;
            }

            //Cargar la colección de servicios
            for (int i = 0; i < this.lstServicios.Items.Count; i++)
            {
                if (this.lstServicios.Items[i].Selected)
                {
                    if (this.lstServicios.Items[i].Value != "")
                    {
                        IServicio servicio = unidadVenta.ServiciosCol.AddServicio();
                        servicio.ServicioID = Convert.ToInt32(this.lstServicios.Items[i].Value);
                        servicio.Consultar();
                    }
                }
            }

            //Cargar la colección de Modalidades de entrega
            foreach (DataGridItem item in dtgModalidadesEntrega.Items)
            {
                if (((CheckBox)item.FindControl("chkModalidad")).Checked)
                {
                    IModalidadEntrega modalidadEntrega = unidadVenta.ModalidadEntregaCol.AddModalidadEntrega();
                    modalidadEntrega.ModalidadEntregaID      = Convert.ToInt32(((Label)item.FindControl("lblModalidadEntregaID")).Text);                //Convert.ToInt32(dtgModalidadesEntrega.DataKeys[item.DataSetIndex]); //Convert.ToInt32(this.dtgModalidadesEntrega.DataKeys[j]);
                    modalidadEntrega.ModalidadEntregaDescrip = "";
                }
            }

            try
            {
                if (unidadVenta.Existe())
                {
                    throw new Exception("Errores.Invalidos.UnidadVentaExiste");
                }

                if (unidadVenta.Guardar())
                {
                    string script = "<script language='javascript'>\n";
                    script += "alert('Los datos se guardaron correctamente.');\n";
                    script += "window.location.href = 'UnidadesVentaConsul.aspx';\n";
                    script += "</script>";
                    this.txtUnidadVentaID.Text = unidadVenta.UnidadVentaID.ToString();
                    Page.RegisterStartupScript("scriptOk", script);
                    unidadVenta.Consultar();
                    int prioridad = unidadVenta.Prioridad;
                    this.CargarPrioridades();
                }
                else
                {
                    string script = "<script language='javascript'>\n";
                    script += "alert('Los datos no se guardaron debido a errores.');\n";
                    script += "</script>";

                    Page.RegisterStartupScript("scriptError", script);
                }
            }
            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);
            }
        }