Пример #1
0
        private void dtgPromociones_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            IPromocionOrigenDestinoUVenta promocion = PromocionOrigenDestinoUVentaFactory.GetPromocionOrigenDestinoUVenta();

            promocion.PromocionOrigenDestinoUVentaID = Convert.ToInt32(this.dtgPromociones.DataKeys[e.Item.ItemIndex]);
            promocion.UnidadNegocioID = this.UnidadNegocioID;
            promocion.Consultar();

            try
            {
                ///// T.Laz Promociones WEB 27-12-17 ////////////////////////////
                int user = Convert.ToInt32(UsuarioID);
                promocion.Usuario = user;
                //////////////////////////// T.Laz Promociones WEB 27-12-17 /////
                promocion.Eliminar();
                this.dtgPromociones.EditItemIndex = -1;
                //this.BindGrid();
                try
                {
                    this.BindGrid(false);
                }
                catch (Exception)
                {
                    this.dtgPromociones.CurrentPageIndex = 0;
                    this.BindGrid(false);
                }
            }
            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);
            }
        }
Пример #2
0
        private void CalcularImportes()
        {
            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 es cliente eventual, buscar valor de conversion a nivel de unidad de venta
                else
                {
                    // 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)
                    {
                        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(this.ddlModalidadEntrega.SelectedValue);

            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, false);
            if (agencia.AgenciaID != 0)
            {
                admGuiaO.AgenciaOrigenID = agencia.AgenciaID;
            }
            else
            {
                throw new Exception("No es posible realizar el envío desde el origen hacia el destino seleccionado.");
            }

            agencia.AgenciaByLocalidadSimulador(Utiles.Validaciones.obtieneEntero(ddlLocalidadDestinatario), Utiles.Validaciones.obtieneEntero(ddlCodigoPostalDestinatario), 0, 1, Utiles.Validaciones.obtieneEntero(this.ddlUnidadVenta.SelectedValue), modalidadEntregaID, 0, false);
            if (agencia.AgenciaID != 0)
            {
                admGuiaO.AgenciaDestinoID = agencia.AgenciaID;
            }
            else
            {
                throw new Exception("No es posible realizar el envío desde el origen hacia el destino seleccionado.");
            }

            admGuiaO.TipoDestinoID = (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia;

            //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.ClienteEventRemitente.Domicilio.Localidad.LocalidadID           = Utiles.Validaciones.obtieneEntero(ddlLocalidadRemitente);
            admGuiaO.ClienteEventDestinatario.Domicilio.Localidad.LocalidadID        = Utiles.Validaciones.obtieneEntero(ddlLocalidadDestinatario);
            admGuiaO.ClienteEventRemitente.Domicilio.Localidad.CodigoPostal          = ddlCodigoPostalRemitenteCodigo;
            admGuiaO.ClienteEventDestinatario.Domicilio.Localidad.CodigoPostal       = ddlCodigoPostalDestinatarioCodigo;
            admGuiaO.ClienteEventRemitente.Domicilio.OCodigoPostal.CodigoPostalID    = Utiles.Validaciones.obtieneEntero(ddlCodigoPostalRemitente);
            admGuiaO.ClienteEventDestinatario.Domicilio.OCodigoPostal.CodigoPostalID = Utiles.Validaciones.obtieneEntero(ddlCodigoPostalDestinatario);


            admGuiaO.NoCalcularPromociones = false;

            admGuiaO.CalcularImportes();

            this.lblBonificacion.Text = "";
            this.lblNombrePromo.Text  = "";

            if (admGuiaO.TipoPromocion == 1)
            {
                IPromocionOrigenDestinoUVenta promo = PromocionOrigenDestinoUVentaFactory.GetPromocionOrigenDestinoUVenta();
                promo.PromocionOrigenDestinoUVentaID = admGuiaO.PromoID;
                promo.UnidadNegocioID = 1;
                promo.Consultar();

                if (promo.IncrementoBonificacionPorcentaje < 0 && promo.IncrementoBonificacionImporteFijo <= 0)
                {
                    this.lblNombrePromo.Text = " - Promoción: " + promo.PromocionOrigenDestinoUVentaDescrip;
                    string bonificacion = "";
                    if (promo.IncrementoBonificacionPorcentaje < 0)
                    {
                        bonificacion = promo.IncrementoBonificacionPorcentaje.ToString() + "%";
                    }
                    else if (promo.IncrementoBonificacionImporteFijo < 0)
                    {
                        bonificacion = "$ " + promo.IncrementoBonificacionImporteFijo.ToString();
                    }

                    this.lblBonificacion.Text = "(" + bonificacion + ")";
                }
            }

            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         = "";
                //}
            }

            this.lblImporteRedondeo.Text    = Formatos.Importe(admGuiaO.ImporteRedondeo);
            this.lblImporteTotalCobrar.Text = Formatos.Importe(admGuiaO.ImporteTotalCobrar);
        }
Пример #3
0
        private void BindGrid(bool configurarExportarExcel)
        {
            SisPackController.AdministrarGrillas.Configurar(this.dtgPromociones, "PromocionOrigenDestinoUVentaID", this.CantidadOpciones);

            if (configurarExportarExcel)
            {
                // Tengo que configurar para exportar a excel
                dtgPromociones.AllowPaging = false;
                //dtgObservacion.Columns[1].Visible = false;
                // dtgObservacion.BorderWidth = Unit.Pixel(0);
                dtgPromociones.BorderColor = System.Drawing.Color.White;
                dtgPromociones.BorderStyle = BorderStyle.None;
            }

            IPromocionOrigenDestinoUVenta promocion = PromocionOrigenDestinoUVentaFactory.GetPromocionOrigenDestinoUVenta();

            //filtros
            promocion.PromocionOrigenDestinoUVentaDescrip = this.txtDescripcionPromocion.Text;
            promocion.UnidadNegocioID = this.UnidadNegocioID;

            string desde = this.txtFechaInicioDesde.Text == "" ? "01/01/1900" : this.txtFechaInicioDesde.Text;
            //string hasta = this.txtFechaInicioHasta.Text == "" ? DateTime.Now.ToString("dd/MM/yyyy") : this.txtFechaInicioHasta.Text;
            //T.Laz 10-05-18
            string hasta = this.txtFechaInicioHasta.Text == "" ? "01/01/2100" : this.txtFechaInicioHasta.Text;

            DateTime desdeDateTime = DateTime.ParseExact(desde, "dd/MM/yyyy", CultureInfo.InvariantCulture);
            DateTime hastaDateTime = DateTime.ParseExact(hasta, "dd/MM/yyyy", CultureInfo.InvariantCulture);

            //T.Laz 10-05-18
            hastaDateTime.AddDays(1);

            promocion.FechaInicio = desdeDateTime;
            promocion.FechaFin    = hastaDateTime;
            promocion.Web         = Convert.ToInt32(ddlWeb.SelectedValue);
            //1º obtengo todas las promociones con origenes y destinos que no son zonas
            DsPromocionOrigenDestinoUVenta ds    = promocion.GetPromocionesALL();
            DsPromocionOrigenDestinoUVenta dsAux = new DsPromocionOrigenDestinoUVenta();

            //2º obtengo todas las promociones con origenes y destino que sí son zonas, y los pongo en un ds auxiliar
            if (ddlWeb.SelectedValue == "2")
            {
                dsAux = promocion.GetPromocionesZonasALL();

                //cargo el contenido del aux en el ds final
                foreach (DsPromocionOrigenDestinoUVenta.DatosRow row in dsAux.Tables[0].Rows)
                {
                    ds.Datos.AddDatosRow(row.PromocionOrigenDestinoUVentaID,
                                         row.UnidadVentaID,
                                         row.FechaInicio,
                                         row.IsFechaFinNull() ? new DateTime() : row.FechaFin,
                                         row.PromocionOrigenDestinoUVentaDescrip,
                                         row.IsIncrementoBonificacionPorcentajeNull() ? 0 : row.IncrementoBonificacionPorcentaje,
                                         row.IsIncrementoBonificacionImporteFijoNull() ? 0 : row.IncrementoBonificacionImporteFijo,
                                         row.IsUnidadNegocioIDNull() ? 0 : row.UnidadNegocioID,
                                         row.IsBajaNull() ? false : row.Baja,
                                         row.IsDestinoFleteIDNull() ? 0 : row.DestinoFleteID,
                                         row.IsOrigenFleteIDNull() ? 0 : row.OrigenFleteID,
                                         row.IsOrigenDescripNull() ? "" : row.OrigenDescrip,
                                         row.IsTipoOrigenDescripNull() ? "" : row.TipoOrigenDescrip,
                                         row.IsDestinoDescripNull() ? "" : row.DestinoDescrip,
                                         row.IsTipoDestinoDescripNull() ? "" : row.TipoDestinoDescrip,
                                         row.UnidadVentaDescrip,
                                         row.IsTipoOrigenIDNull() ? 0 : row.TipoOrigenID,
                                         row.IsTipoDestinoIDNull() ? 0 : row.TipoDestinoID,
                                         row.IsZonaOrigenIDNull() ? 0 : row.ZonaOrigenID,
                                         row.IsZonaDestinoIDNull() ? 0 : row.ZonaDestinoID,
                                         row.IsZonaOrigenDescripNull() ? "" : row.ZonaOrigenDescrip,
                                         row.IsZonaDestinoDescripNull() ? "" : row.ZonaDestinoDescrip,
                                         row.IsDestinoFleteIDNull() ? 0 : row.DestinoFleteID,
                                         row.IsOrigenFleteIDNull() ? 0 : row.OrigenFleteID,
                                         row.IsPromocionSispackWebIDNull() ? 0 : row.PromocionSispackWebID,
                                         row.SispackDescrip,
                                         row.WebDescrip
                                         );
                    //ds.Datos.AddDatosRow(row);
                }
            }
            //3º obtengo todas las promociones con origenes zonas y destino no zonas y los pongo en un ds auxiliar
            if (ddlWeb.SelectedValue == "2")
            {
                dsAux = promocion.GetPromocionesZonasOrigenALL();

                //cargo el contenido del aux en el ds final
                foreach (DsPromocionOrigenDestinoUVenta.DatosRow row in dsAux.Tables[0].Rows)
                {
                    ds.Datos.AddDatosRow(row.PromocionOrigenDestinoUVentaID,
                                         row.UnidadVentaID,
                                         row.FechaInicio,
                                         row.IsFechaFinNull() ? new DateTime() : row.FechaFin,
                                         row.PromocionOrigenDestinoUVentaDescrip,
                                         row.IsIncrementoBonificacionPorcentajeNull() ? 0 : row.IncrementoBonificacionPorcentaje,
                                         row.IsIncrementoBonificacionImporteFijoNull() ? 0 : row.IncrementoBonificacionImporteFijo,
                                         row.IsUnidadNegocioIDNull() ? 0 : row.UnidadNegocioID,
                                         row.IsBajaNull() ? false : row.Baja,
                                         row.IsDestinoFleteIDNull() ? 0 : row.DestinoFleteID,
                                         row.IsOrigenFleteIDNull() ? 0 : row.OrigenFleteID,
                                         row.IsOrigenDescripNull() ? "" : row.OrigenDescrip,
                                         row.IsTipoOrigenDescripNull() ? "" : row.TipoOrigenDescrip,
                                         row.IsDestinoDescripNull() ? "" : row.DestinoDescrip,
                                         row.IsTipoDestinoDescripNull() ? "" : row.TipoDestinoDescrip,
                                         row.UnidadVentaDescrip,
                                         row.IsTipoOrigenIDNull() ? 0 : row.TipoOrigenID,
                                         row.IsTipoDestinoIDNull() ? 0 : row.TipoDestinoID,
                                         row.IsZonaOrigenIDNull() ? 0 : row.ZonaOrigenID,
                                         row.IsZonaDestinoIDNull() ? 0 : row.ZonaDestinoID,
                                         row.IsZonaOrigenDescripNull() ? "" : row.ZonaOrigenDescrip,
                                         row.IsZonaDestinoDescripNull() ? "" : row.ZonaDestinoDescrip,
                                         row.IsDestinoFleteIDNull() ? 0 : row.DestinoFleteID,
                                         row.IsOrigenFleteIDNull() ? 0 : row.OrigenFleteID,
                                         row.IsPromocionSispackWebIDNull() ? 0 : row.PromocionSispackWebID,
                                         row.SispackDescrip,
                                         row.WebDescrip
                                         );
                }
            }
            //4º obtengo todas las promociones con origenes no zonas y destinos zonas y los pongo en un ds auxiliar
            if (ddlWeb.SelectedValue == "2")
            {
                dsAux = promocion.GetPromocionesZonasDestinoALL();

                //cargo el contenido del aux en el ds final
                foreach (DsPromocionOrigenDestinoUVenta.DatosRow row in dsAux.Tables[0].Rows)
                {
                    ds.Datos.AddDatosRow(row.PromocionOrigenDestinoUVentaID,
                                         row.UnidadVentaID,
                                         row.FechaInicio,
                                         row.IsFechaFinNull() ? new DateTime() : row.FechaFin,
                                         row.PromocionOrigenDestinoUVentaDescrip,
                                         row.IsIncrementoBonificacionPorcentajeNull() ? 0 : row.IncrementoBonificacionPorcentaje,
                                         row.IsIncrementoBonificacionImporteFijoNull() ? 0 : row.IncrementoBonificacionImporteFijo,
                                         row.IsUnidadNegocioIDNull() ? 0 : row.UnidadNegocioID,
                                         row.IsBajaNull() ? false : row.Baja,
                                         row.IsDestinoFleteIDNull() ? 0 : row.DestinoFleteID,
                                         row.IsOrigenFleteIDNull() ? 0 : row.OrigenFleteID,
                                         row.IsOrigenDescripNull() ? "" : row.OrigenDescrip,
                                         row.IsTipoOrigenDescripNull() ? "" : row.TipoOrigenDescrip,
                                         row.IsDestinoDescripNull() ? "" : row.DestinoDescrip,
                                         row.IsTipoDestinoDescripNull() ? "" : row.TipoDestinoDescrip,
                                         row.UnidadVentaDescrip,
                                         row.IsTipoOrigenIDNull() ? 0 : row.TipoOrigenID,
                                         row.IsTipoDestinoIDNull() ? 0 : row.TipoDestinoID,
                                         row.IsZonaOrigenIDNull() ? 0 : row.ZonaOrigenID,
                                         row.IsZonaDestinoIDNull() ? 0 : row.ZonaDestinoID,
                                         row.IsZonaOrigenDescripNull() ? "" : row.ZonaOrigenDescrip,
                                         row.IsZonaDestinoDescripNull() ? "" : row.ZonaDestinoDescrip,
                                         row.IsDestinoFleteIDNull() ? 0 : row.DestinoFleteID,
                                         row.IsOrigenFleteIDNull() ? 0 : row.OrigenFleteID,
                                         row.IsPromocionSispackWebIDNull() ? 0 : row.PromocionSispackWebID,
                                         row.SispackDescrip,
                                         row.WebDescrip
                                         );
                }
            }
            this.Session["dtgPromociones"]       = ds;
            this.dtgPromociones.DataSource       = ds;
            this.dtgPromociones.CurrentPageIndex = 0;
            this.dtgPromociones.DataBind();
        }