Ejemplo n.º 1
0
        /// <summary>
        /// Maneja los eventos de modificacion de la vista UiVistaMetaDetalle
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void UiVistaMetaDetalle_BatchUpdate(object sender, DevExpress.Web.Data.ASPxDataBatchUpdateEventArgs e)
        {
            if (!ValidarConexionYUsuarioLogueado(sender))
            {
                return;
            }

            var diasDelPeriodo = int.Parse(UiDiasPeriodoMeta.Value?.ToString() ?? "0");

            foreach (var actualizacion in e.UpdateValues)
            {
                var metaPorVendedor = decimal.Parse(actualizacion.NewValues["GOAL_BY_SELLER"].ToString());

                var detalle = MetaDetalle.FirstOrDefault(md => md.CORRELATIVE == int.Parse(actualizacion.Keys["CORRELATIVE"].ToString()));
                if (detalle == null)
                {
                    continue;
                }

                detalle.GOAL_BY_SELLER       = metaPorVendedor;
                detalle.DAILY_GOAL_BY_SELLER = detalle.GOAL_BY_SELLER / diasDelPeriodo;

                MetaDetalle[MetaDetalle.FindIndex(md => md.CORRELATIVE.Equals(detalle.CORRELATIVE))] = detalle;
            }

            e.Handled = true;

            CalcularMontoTotalDeMetaDespuesDeActualizacionDeMetaPorVendedor(sender);
        }
Ejemplo n.º 2
0
        public void AgregarMeta(Object sender, int idMeta)
        {
            try
            {
                var cantidadDeDias = Convert.ToInt32(UiDiasPeriodoMeta.Text);

                if (UiFechaInicio.Date <= DateTime.Today)
                {
                    EstablecerError("La fecha de inicio deber ser mayor a la actual", sender);
                    return;
                }
                else if (UiFechaInicio.Date > UiFechaFin.Date)
                {
                    EstablecerError("La fecha de inicio debe ser menor a la fecha final", sender);
                    return;
                }
                else if (cantidadDeDias <= 0)
                {
                    EstablecerError("La cantidad de dias no puede ser cero.", sender);
                    return;
                }
                else if (MetaDetalle.Count <= 0)
                {
                    EstablecerError("No tiene vendedores para la meta", sender);
                    return;
                }

                UsuarioDeseaGrabarMeta?.Invoke(sender, new MetaArgumento
                {
                    meta = new Meta
                    {
                        GOAL_HEADER_ID   = idMeta,
                        GOAL_NAME        = UiTextoNombre.Text,
                        TEAM_ID          = int.Parse(UiListaEquipos.Value.ToString()),
                        GOAL_AMOUNT      = Convert.ToDecimal(UiMonto.Value),
                        GOAL_DATE_FROM   = UiFechaInicio.Date,
                        GOAL_DATE_TO     = UiFechaFin.Date,
                        STATUS           = Enums.GetStringValue(EstadosDeMetas.Creado),
                        INCLUDE_SATURDAY = UiIncluyeSabadosMeta.Checked ? 1 : 0,
                        LAST_UPDATE      = DateTime.Now,
                        LAST_UPDATE_BY   = Session["LOGIN"].ToString(),
                        SALE_TYPE        = UiListaTipoDeMeta.SelectedItem.Value.ToString(),
                        PERIOD_DAYS      = int.Parse(UiDiasPeriodoMeta.Value.ToString()),
                        GOAL_DETAIL      = MetaDetalle?.ToList()
                    }
                });
            }
            catch (Exception ex)
            {
                EstablecerError(ex.Message, sender);
            }
        }
Ejemplo n.º 3
0
        private void ButtonAgregarCuota_Click(object sender, EventArgs e)
        {
            if (!String.IsNullOrWhiteSpace(NombrestextBox1.Text))
            {
                MetaDetalle detalle = new MetaDetalle();
                detalle.Cuota      = Convert.ToDouble(CuotaNumericUpDown.Value);
                detalle.MetaId     = (int)MetaComboBox.SelectedValue;
                detalle.VendedorId = (int)VendedorIdnumericUpDown1.Value;
                Detalle.Add(detalle);

                CargarGrid();
            }
            else
            {
                MessageBox.Show("Error! Debe especificar un vendedor previamente...");
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Actualiza el total de la meta una vez se procese la actualizacion de informacion de parte del operador
        /// </summary>
        private void CalcularMontoTotalDeMetaDespuesDeActualizacionDeMetaPorVendedor(object sender)
        {
            var montoTotalDeLaMeta = MetaDetalle.Sum(md => md.GOAL_BY_SELLER);

            TerminoProceso("cpUsuarioTerminoDeActualizarDetalleDeMeta", montoTotalDeLaMeta, sender);
        }