예제 #1
0
        /// <summary>
        /// Редактирует встречу.
        /// </summary>
        private void Edit()
        {
            try
            {
                if (_schedule.Count() == 0)
                {
                    Console.WriteLine("Расписание пусто!");
                }
                else
                {
                    Console.WriteLine("Введите номер встречи");
                    int id = int.Parse(Console.ReadLine());
                    if (_schedule.Find(id) == null)
                    {
                        Console.WriteLine($"Встреча № { id } не найдена!");
                    }
                    else
                    {
                        Console.WriteLine("Введите данные о встрече");
                        Console.WriteLine("Формат ввода: DD.MM.YYYY HH:MM:SS");
                        Console.Write("Начало встречи: ");
                        string beginStr = Console.ReadLine();
                        Console.Write("Конец встречи: ");
                        string endStr = Console.ReadLine();
                        Console.Write("Уведомление о встрече: ");
                        string noteStr = Console.ReadLine();

                        DateTime?noteDateTime;
                        if (noteStr == "")
                        {
                            noteDateTime = null;
                        }
                        else
                        {
                            noteDateTime = DateTime.Parse(noteStr);
                        }

                        _schedule.Edit(id, DateTime.Parse(beginStr), DateTime.Parse(endStr), noteDateTime);
                        Console.WriteLine($"Встреча № {id} изменена!");
                    }
                }
            }
            catch (FormatException)
            {
                Console.WriteLine("Введены некорректные данные!");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
 public ActionResult Edit([Bind(Include = "ID,Name,Repeats,StartDate,Time,RepeatOn,StopDate,RepeatOnWeeks,RepeatOnDaysWeeks,RepeatOnDay,RepeatOnMonth,RepeatOnFirst,RepeatOnDay2,RepeatOnMonth2")] ScheduleViewModel vmodel)
 {
     if (vmodel.RepeatsSelected != -1)
     {
         ModelState.Remove("Repeats");
     }
     if (ModelState.IsValid)
     {
         Schedule model = _repo.FindBy(vmodel.ID);
         model.Name      = vmodel.Name;
         model.Repeats   = vmodel.Repeats;
         model.StartDate = vmodel.StartDate;
         if (vmodel.Repeats == ScheduleType.RepeatsEnum.Once)
         {
             if (!EditScheduleOnce(vmodel, model))
             {
                 return(RedirectToAction("Index"));
             }
         }
         else
         {
             if (vmodel.Repeats == ScheduleType.RepeatsEnum.Daily)
             {
                 if (!EditScheduleDaily(vmodel, model))
                 {
                     return(RedirectToAction("Index"));                                 //Si Add en lugar de edit retorna false y se redirecciona
                 }
             }
             else
             {
                 if (vmodel.Repeats == ScheduleType.RepeatsEnum.Weekly)
                 {
                     if (!EditScheduleWeekly(vmodel, model))
                     {
                         return(RedirectToAction("Index"));
                     }
                 }
                 else
                 {
                     if (vmodel.Repeats == ScheduleType.RepeatsEnum.Monthly)
                     {
                         if (!EditScheduleMonthly(vmodel, model))
                         {
                             return(RedirectToAction("Index"));
                         }
                     }
                     else
                     {
                         if (vmodel.Repeats == ScheduleType.RepeatsEnum.MonthlyRelative)
                         {
                             if (!EditScheduleMonthlyRelative(vmodel, model))
                             {
                                 return(RedirectToAction("Index"));
                             }
                         }
                     }
                 }
             }
         }
         _repo.Edit(model);
     }
     return(RedirectToAction("Index"));
 }