示例#1
0
        // 1.0.0.2
        #region Aktualizuj lek

        //
        // Aktualizuje lek w bazie
        //
        public void UpdateMedicine(int id, Medicine updatedMedicine)
        {
            /*
             * CEL:
             * Aktualizuje lek w bazie
             *
             * PARAMETRY:
             * id:int - id leku
             * updateMedicine:Medicine - aktualizowany lek
             */


            // Użyj dataContext
            using (MediboxDataContext dc = new MediboxDataContext(MediboxDataContext.DBConnectionString))
            {
                // Wyszukaj modyfikowane lekarstwo
                IQueryable <Medicine> med = from me in dc.MedicinesTable where me.Id == id select me;
                Medicine medicine         = med.FirstOrDefault();

                // Wprowadź zmiany
                medicine.MedicinName         = updatedMedicine.MedicinName;
                medicine.Dose                = updatedMedicine.Dose;
                medicine.NumberOfDosesPerDay = updatedMedicine.NumberOfDosesPerDay;
                medicine.StartDate           = updatedMedicine.StartDate;
                medicine.StopDate            = updatedMedicine.StopDate;
                medicine.IsReminder          = updatedMedicine.IsReminder;
                medicine.IsHighPriority      = updatedMedicine.IsHighPriority;
                medicine.Note                = updatedMedicine.Note;

                // Wprowadź zmiany w bazie
                dc.SubmitChanges();

                // Usuń powiązane zadania
                DeleteTasksAndRemindersOfMedicinId(dc, medicine.Id);

                // Odstępy czasu w jakich należy przyjąć lekarstwo - w godzinach
                int timeInterval = 24 / medicine.NumberOfDosesPerDay;

                // Dodaj nowe powiązane zadania
                MediboxDataBaseManagement.AddMediTaskToDataBase(dc, medicine.MedicinName, medicine.Dose, medicine.StartDate, medicine.StopDate, medicine.IsReminder, medicine.IsHighPriority, medicine.Id, medicine.Note, timeInterval);

                // Wprowadź zmiany
                dc.SubmitChanges();

                //TODO: Może dodać przypomnienia

                // Uaktualnij kafelek
                //MediboxAdministrator.TileAdministrator(dc);
            }

            // Odśwież listę leków i zadań
            SetMedicinesList();
            SetTasksList();

            // Można dodać przypomnienia
            LetAddReminders = true;
        }
示例#2
0
        // 1.0.0.2
        #region Dodaj lekarstwo

        //
        // Dodaje nowy lek do bazy
        //
        public void AddNewMedicine(Medicine newMedicine)
        {
            /*
             * CEL:
             * Dodaje nowy lek do bazy
             *
             * PARAMETRY WEJSCIOWE:
             * newMedicine:Medicine - nowy lek
             */



            // Odstępy czasu w jakich należy przyjąć lekarstwo - w godzinach
            int timeInterral = 24 / newMedicine.NumberOfDosesPerDay;

            // Utwórz DataContext
            using (MediboxDataContext dc = new MediboxDataContext(MediboxDataContext.DBConnectionString))
            {
                // Dodaj lekarstwo do bazy
                MediboxDataBaseManagement.AddMedicineToDataBase(dc, newMedicine);

                // Dodaj zadanie do bazy
                MediboxDataBaseManagement.AddMediTaskToDataBase(dc, newMedicine.MedicinName, newMedicine.Dose, newMedicine.StartDate, newMedicine.StopDate, newMedicine.IsReminder, newMedicine.IsHighPriority, newMedicine.Id, newMedicine.Note, timeInterral);

                //TODO: Może dodać przypomnienia

                // Uaktualnij kafelek
                //MediboxAdministrator.TileAdministrator(dc);

                //
                // Zmiany w bazie zapisano w podfunkcjach
                //
            }

            // Odśwież listę leków i zadań
            SetMedicinesList();
            SetTasksList();

            // Można dodać przypomnienia
            LetAddReminders = true;
        }