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