Example #1
0
        /// <summary>
        ///   Valida las fechas ingresadas
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        ///   [vku] 28/Jul/2016 Created
        /// </history>
        private void dgrDates_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
        {
            if (e.EditAction == DataGridEditAction.Cancel)
            {
                isCancel = true;
            }
            else
            {
                isCancel       = false;
                changedTextBox = e.EditingElement as TextBox;
                if (changedTextBox.Text.ToString() != "")
                {
                    if (ValidateHelper.IsDate(changedTextBox.Text.ToString()))
                    {
                        string   ssd    = changedTextBox.Text.ToString();
                        DateTime ssDate = Convert.ToDateTime(ssd);
                        if (ssDate.Year == _year.Year)
                        {
                            ValidateRangeDates(ssDate, e.Column.SortMemberPath.ToString(), e.Row.IsNewItem, Convert.ToInt32(e.Row.GetIndex().ToString()));
                            if (!isCancel)
                            {
                                List <RangeDatesTraslape> lstRangeDates     = new List <RangeDatesTraslape>();
                                RangeDatesTraslape        lstRangeTranslape = new RangeDatesTraslape();
                                if (isEdit)
                                {
                                    lstRangeDates     = BRSeasons.GetRangeDatesForValidateTraslapeIsEdit(ssDate, season.ssID);
                                    lstRangeTranslape = lstRangeDates.Cast <RangeDatesTraslape>().FirstOrDefault();
                                }
                                else
                                {
                                    lstRangeDates     = BRSeasons.GetRangeDatesForValidateTraslape(ssDate);
                                    lstRangeTranslape = lstRangeDates.Cast <RangeDatesTraslape>().FirstOrDefault();
                                }
                                if (lstRangeDates.Count > 0)
                                {
                                    isCancel = true;

                                    UIHelper.ShowMessage("The date is in the range of dates " + "(" + lstRangeTranslape.sdStartD.ToShortDateString() + " to " + lstRangeTranslape.sdEndD.ToShortDateString() + ")" + " of season " + "'" + lstRangeTranslape.ssN + "'" + ". " + "Specify another date.");
                                    SeasonDate data = e.Row.DataContext as SeasonDate;
                                    if (isEdit)
                                    {
                                        string strColumn = e.Column.SortMemberPath.ToString();
                                        switch (strColumn)
                                        {
                                        case "sdStartD":
                                            changedTextBox.Text = data.sdStartD.ToShortDateString();
                                            break;

                                        case "sdEndD":
                                            changedTextBox.Text = data.sdEndD.ToShortDateString();
                                            break;
                                        }
                                    }
                                    else
                                    {
                                        changedTextBox.Text = string.Empty;
                                    }
                                }
                                else
                                {
                                    GridHelper.UpdateSourceFromARow(sender as DataGrid);
                                }
                            }
                        }
                        else
                        {
                            isCancel = true;
                            UIHelper.ShowMessage("The date does not belong to the year being edited " + _year.Year, MessageBoxImage.Exclamation, "IM.Administrator");
                            changedTextBox.Text = string.Empty;
                        }
                    }
                    else
                    {
                        isCancel = true;
                        UIHelper.ShowMessage("Invalid Date", MessageBoxImage.Error, "IM.Administrator");
                        changedTextBox.Text = string.Empty;
                    }
                }
                else
                {
                    if (e.Column.SortMemberPath == "sdEndD")
                    {
                        UIHelper.ShowMessage("Specify a Date", MessageBoxImage.Error, "IM.Administrator");
                        e.Cancel = true;
                    }
                    else
                    {
                        isCancel = true;
                    }
                }
            }
        }