/// <summary> /// Valida los datos /// </summary> /// <typeparam name="T"></typeparam> /// <param name="Entity"></param> /// <returns></returns> /// <history> /// [vku] 28/Jun/2016 Created /// </history> public bool Validate <T>(T Entity) { bool blnValid = true; switch (_enumTourTimes) { case EnumTourTimesSchema.ttsByLeadSourceSalesRoom: TourTime ttbylssr = Entity as TourTime; if (ttbylssr.ttT == DateTime.MinValue) { ShowMessage(1); blnValid = false; } else if (ttbylssr.ttPickUpT == DateTime.MinValue) { ShowMessage(2); blnValid = false; } else if (ttbylssr.ttMaxBooks.ToString() == "") { ShowMessage(3); blnValid = false; } break; case EnumTourTimesSchema.ttsByLeadSourceSalesRoomWeekDay: TourTimeByDay ttbylssrwd = Entity as TourTimeByDay; if (ttbylssrwd.ttT == DateTime.MinValue) { ShowMessage(1); blnValid = false; } else if (ttbylssrwd.ttPickUpT == DateTime.MinValue) { ShowMessage(2); blnValid = false; } else if (ttbylssrwd.ttMaxBooks.ToString() == "") { ShowMessage(3); blnValid = false; } break; case EnumTourTimesSchema.ttsBySalesRoomWeekDay: TourTimeBySalesRoomWeekDay ttbysrwd = Entity as TourTimeBySalesRoomWeekDay; if (ttbysrwd.ttT == DateTime.MinValue) { ShowMessage(1); blnValid = false; } else if (ttbysrwd.ttPickUpT == DateTime.MinValue) { ShowMessage(2); blnValid = false; } else if (ttbysrwd.ttMaxBooks.ToString() == "") { ShowMessage(3); blnValid = false; } break; } return(blnValid); }
/// <summary> /// Evento que se dispara cuando se empieza a editar un registro del datagrid /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [vku] 24/Jun/2016 Created /// </history> private void dgrTourTimes_BeginningEdit(object sender, DataGridBeginningEditEventArgs e) { DataGrid dg = sender as DataGrid; if (_blnEdit) { if ((e.Column.Header.ToString() == "Tour Time" || e.Column.Header.ToString() == "Pickup Time") && !e.Row.IsNewItem) { e.Cancel = true; } else { if (e.Column.Header.ToString() == "Pickup Time" && e.Row.IsNewItem) { switch (_enumTourTimes) { case EnumTourTimesSchema.ttsByLeadSourceSalesRoom: TourTime rowlssr = (TourTime)dgrTourTimes.SelectedItem; if (rowlssr.ttT != DateTime.MinValue) { rowlssr.ttPickUpT = rowlssr.ttT; } else { e.Cancel = true; } break; case EnumTourTimesSchema.ttsByLeadSourceSalesRoomWeekDay: TourTimeByDay rowlssrwd = (TourTimeByDay)dgrTourTimes.SelectedItem; if (rowlssrwd.ttT != DateTime.MinValue) { rowlssrwd.ttPickUpT = rowlssrwd.ttT; } else { e.Cancel = true; } break; case EnumTourTimesSchema.ttsBySalesRoomWeekDay: TourTimeBySalesRoomWeekDay rowttbysrwd = (TourTimeBySalesRoomWeekDay)dgrTourTimes.SelectedItem; if (rowttbysrwd.ttT != DateTime.MinValue) { rowttbysrwd.ttPickUpT = rowttbysrwd.ttT; } else { e.Cancel = true; } break; } } else { if (e.Column.Header.ToString() == "Max Books" && e.Row.IsNewItem) { switch (_enumTourTimes) { case EnumTourTimesSchema.ttsByLeadSourceSalesRoom: TourTime rowlssr = (TourTime)dgrTourTimes.SelectedItem; if (rowlssr.ttT != DateTime.MinValue && rowlssr.ttPickUpT != DateTime.MinValue) { rowlssr.ttMaxBooks = 1; } else { e.Cancel = true; } break; case EnumTourTimesSchema.ttsByLeadSourceSalesRoomWeekDay: TourTimeByDay rowlssrwd = (TourTimeByDay)dgrTourTimes.SelectedItem; if (rowlssrwd.ttT != DateTime.MinValue && rowlssrwd.ttPickUpT != DateTime.MinValue) { rowlssrwd.ttMaxBooks = 1; } else { e.Cancel = true; } break; case EnumTourTimesSchema.ttsBySalesRoomWeekDay: TourTimeBySalesRoomWeekDay rowsrwd = (TourTimeBySalesRoomWeekDay)dgrTourTimes.SelectedItem; if (rowsrwd.ttT != DateTime.MinValue && rowsrwd.ttPickUpT != DateTime.MinValue) { rowsrwd.ttMaxBooks = 1; } else { e.Cancel = true; } break; } } } } } else { e.Cancel = true; } }
/// <summary> /// Guarda o modifica los horarios de tour despues de editar el datagrid /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [vku] 27/Jun/2016 Created /// </history> private async void dgrTourTimes_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e) { DataGrid dgr = sender as DataGrid; dgr.RowEditEnding -= dgrTourTimes_RowEditEnding; if (isCancel) { dgr.CancelEdit(); dgr.RowEditEnding += dgrTourTimes_RowEditEnding; } else { int nRes = 0; switch (_enumTourTimes) { #region TourTime case EnumTourTimesSchema.ttsByLeadSourceSalesRoom: TourTime ttbylssr = e.Row.DataContext as TourTime; if (isInsert) { if (Validate(ttbylssr)) { if (UIHelper.ShowMessage("Are you sure you want add new Tour Time?", MessageBoxImage.Question) == MessageBoxResult.Yes) { dgr.CommitEdit(); status.Visibility = Visibility.Visible; txtStatus.Text = "Saving Data..."; ttbylssr.ttls = cboLeadSource.SelectedValue.ToString(); ttbylssr.ttsr = cboSalesRoom.SelectedValue.ToString(); nRes = await BREntities.OperationEntity(ttbylssr, EnumMode.Add); dgr.Items.Refresh(); dgr.RowEditEnding += dgrTourTimes_RowEditEnding; } else { dgr.CancelEdit(); dgr.RowEditEnding += dgrTourTimes_RowEditEnding; } } else { e.Cancel = true; dgr.RowEditEnding += dgrTourTimes_RowEditEnding; } } else { status.Visibility = Visibility.Visible; txtStatus.Text = "Saving Data..."; nRes = await BREntities.OperationEntity(ttbylssr, EnumMode.Edit); dgr.RowEditEnding += dgrTourTimes_RowEditEnding; } break; #endregion #region TourTimesByDay case EnumTourTimesSchema.ttsByLeadSourceSalesRoomWeekDay: TourTimeByDay ttbylssrwd = e.Row.DataContext as TourTimeByDay; if (isInsert) { if (Validate(ttbylssrwd)) { if (UIHelper.ShowMessage("Are you sure you want add new Tour Time?", MessageBoxImage.Question) == MessageBoxResult.Yes) { dgr.CommitEdit(); status.Visibility = Visibility.Visible; txtStatus.Text = "Saving Data..."; ttbylssrwd.ttls = cboLeadSource.SelectedValue.ToString(); ttbylssrwd.ttsr = cboSalesRoom.SelectedValue.ToString(); ttbylssrwd.ttDay = Convert.ToByte(cboWeekDay.SelectedValue.ToString()); nRes = await BREntities.OperationEntity(ttbylssrwd, EnumMode.Add); dgr.Items.Refresh(); dgr.RowEditEnding += dgrTourTimes_RowEditEnding; } else { dgr.CancelEdit(); dgr.RowEditEnding += dgrTourTimes_RowEditEnding; } } else { e.Cancel = true; dgr.RowEditEnding += dgrTourTimes_RowEditEnding; } } else { status.Visibility = Visibility.Visible; txtStatus.Text = "Saving Data..."; nRes = await BREntities.OperationEntity(ttbylssrwd, EnumMode.Edit); dgr.RowEditEnding += dgrTourTimes_RowEditEnding; } break; #endregion #region TourTimeBySalesRoomWeekDay case EnumTourTimesSchema.ttsBySalesRoomWeekDay: TourTimeBySalesRoomWeekDay ttbysrwd = e.Row.DataContext as TourTimeBySalesRoomWeekDay; if (isInsert) { if (Validate(ttbysrwd)) { if (UIHelper.ShowMessage("Are you sure you want add new Tour Time?", MessageBoxImage.Question) == MessageBoxResult.Yes) { dgr.CommitEdit(); status.Visibility = Visibility.Visible; txtStatus.Text = "Saving Data..."; ttbysrwd.ttsr = cboSalesRoom.SelectedValue.ToString(); ttbysrwd.ttDay = Convert.ToByte(cboWeekDay.SelectedValue.ToString()); nRes = await BREntities.OperationEntity(ttbysrwd, EnumMode.Add); dgr.Items.Refresh(); dgr.RowEditEnding += dgrTourTimes_RowEditEnding; } else { dgr.CancelEdit(); dgr.RowEditEnding += dgrTourTimes_RowEditEnding; } } else { e.Cancel = true; dgr.RowEditEnding += dgrTourTimes_RowEditEnding; } } else { status.Visibility = Visibility.Visible; txtStatus.Text = "Saving Data..."; nRes = await BREntities.OperationEntity(ttbysrwd, EnumMode.Edit); dgr.RowEditEnding += dgrTourTimes_RowEditEnding; } break; #endregion } status.Visibility = Visibility.Collapsed; StatusBarReg.Content = dgrTourTimes.Items.Count - 1 + " Tour Times."; } }