Планировщик дел C# WPF SQLite

Задание на программу:

Написать программу, целью которой является назначение запланированных дел по отношению к клиентам, хранящимся в базе данных. Категории запланированных дел: Звонок, Встреча и День Рождения

Описание программы:

При написании спользовались: WPF + MVVM, SQLite + Entity Framework и C#.

Дополнительно:

Всё работает с первого запуска без каких либо дополнительных установок.

Фрагмент программного кода:

    /// <summary>
    /// Базовый сервис для управления сущностями базы данных.
    /// Для каждой операции создаётся контекст SecretaryContext, с которым далее
    /// происходят манипуляции.
    /// </summary>
    /// <typeparam name="T"> Тип сущности, которая управляется </typeparam>
    public abstract class BaseService<T> where T : class
    {
        protected readonly DbContextOptions<SecretaryContext> ContextOptions;

        public BaseService(string connectionString)
        {
            ContextOptions = new DbContextOptionsBuilder<SecretaryContext>().UseSqlite(connectionString).Options;
        }

        /// <summary>
        /// Добавление сущности
        /// </summary>
        public virtual bool Add(T entity)
        {
            using (var context = new SecretaryContext(ContextOptions))
            {
                context.Add(entity);
                return context.SaveChanges() != 0;
            }
        }
}        /// <summary>
        /// Меняет готовность задачи на противоположную
        /// </summary>
        /// <param name="schedules"> Список задач </param>
        public void ChangeSchedule(IEnumerable<Schedule> schedules)
        {
            using (var context = new SecretaryContext(ContextOptions))
            {
                foreach (var schedule in schedules)
                {
                    var dbSchedule = context.Schedule.First(x => x.Id == schedule.Id);
                    dbSchedule.IsDone = Math.Abs(schedule.IsDone - 1);

                    context.SaveChanges();
                }
            }
        }

        /// <summary>
        /// Получить список задач в соответствии с выбранным типом задач
        /// </summary>
        /// <param name="dealType"> Тип задачи </param>
        /// <returns> Список найденных задач </returns>
        public IEnumerable<Schedule> GetSchedules(DealType dealType)
        {
            using (var context = new SecretaryContext(ContextOptions))
            {
                if (dealType == DealType.All)
                    return context.Schedule.Include(x => x.Customer).ToList();
                else
                    return context.Schedule.Include(x => x.Customer).Where(x => x.DealType == dealType.ToString()).ToList();
            }
        }

Скриншот архива с проектом:

Содержание архива:

  • Папка с исходным проектом в Visual Studio 2019, скомпилированная программа и база данных;
Купить

1200,00 

(без учета комиссии 3,8 %)

После оплаты Вы получите работу на электронную почту.
Secretary.rar
9998478
Оцени работу

рейтинг

Поделись работой с друзьями

Комментарии (0)

kostyaLem

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегестрированые пользователи имеют возможность комментировать работы
Планировщик дел C# WPF SQLite
Предназначена для ведения списка клиентов и запланированных заданий по отношению к этим клиентам. Задания бывают 3-ёх типов: Напоминание о встрече, дне рождении или звонке. Подобие Секретаря
Категория: Образование
Стоимость: 1200,00