Beispiel #1
0
        public async Task <IActionResult> GetReportsByType(Guid personId, Guid classId, int type, DateTime?date = null)
        {
            if (date.HasValue == false)
            {
                date = DateTime.UtcNow;
            }
            var startDate = new DateTime(date.Value.Year, date.Value.Month, date.Value.Day);
            var endDate   = new DateTime(date.Value.Year, date.Value.Month, date.Value.Day, 23, 59, 59);

            switch (type)
            {
            case (int)EnumDailyReportType.NapsSleep:
            {
                var naps = await _unitOfWork.DailyReportNaps.GetAsync(x => x.IsActive &&
                                                                      x.PersonId == personId &&
                                                                      x.ClassId == classId &&
                                                                      x.Date >= startDate && x.Date <= endDate);

                return(PartialView("PartialDailyReportNap", DailyReportNap.Init(naps)));
            }

            case (int)EnumDailyReportType.Meals:
            {
                var meals = await _unitOfWork.DailyReportMeals.GetAsync(x => x.IsActive && x.OrganizationId == _organizationId &&
                                                                        x.ClassId == classId &&
                                                                        x.PersonId == personId &&
                                                                        x.Date >= startDate && x.Date <= endDate,
                                                                        include : p => p.Include(x => x.DailyReportFoods)
                                                                        );

                return(PartialView("PartialDailyReportMeal", DailyReportMeal.Init(meals)));
            }

            case (int)EnumDailyReportType.Bathroom:
            {
                var baths = await _unitOfWork.DailyReportBathrooms.GetAsync(x => x.IsActive && x.OrganizationId == _organizationId &&
                                                                            x.ClassId == classId &&
                                                                            x.PersonId == personId &&
                                                                            x.Date >= startDate && x.Date <= endDate

                                                                            );

                return(PartialView("PartialDailyReportBathroom", DailyReportBathroom.Init(baths)));
            }

            case (int)EnumDailyReportType.Medication:
            {
                var medications = await _unitOfWork.DailyReportMedications.GetAsync(x => x.IsActive && x.OrganizationId == _organizationId &&
                                                                                    x.ClassId == classId &&
                                                                                    x.PersonId == personId &&
                                                                                    x.Date >= startDate && x.Date <= endDate

                                                                                    );

                return(PartialView("PartialDailyReportMedication", DailyReportMedication.Init(medications)));
            }
            }

            return(View());
        }
Beispiel #2
0
        public async Task <IActionResult> AddEditMedication(Guid personId, Guid classId, Guid organizationId, DateTime?date = null)
        {
            if (date.HasValue == false)
            {
                date = DateTime.UtcNow;
            }

            var model = DailyReportMedication.Init(personId, classId, organizationId, date.Value);

            return(View(model));
        }
 public static DailyReportMedicationViewModel Create(DailyReportMedication medication)
 {
     return(new DailyReportMedicationViewModel()
     {
         ClassId = medication.ClassId,
         Id = medication.Id,
         Date = medication.Date,
         Medication = medication.Medication,
         OrganizationId = medication.OrganizationId,
         PersonId = medication.PersonId,
         Amount = medication.Amount,
         Time = medication.Time,
         Type = medication.Type
     });
 }
Beispiel #4
0
        public async Task <IActionResult> GetMedications(Guid personId, Guid classId, Guid organizationId, DateTime?date)
        {
            if (date.HasValue == false)
            {
                date = DateTime.UtcNow;
            }
            var startDate   = new DateTime(date.Value.Year, date.Value.Month, date.Value.Day);
            var endDate     = new DateTime(date.Value.Year, date.Value.Month, date.Value.Day, 23, 59, 59);
            var medications = await _unitOfWork.DailyReportMedications.GetAsync(x => x.IsActive && x.OrganizationId == _organizationId &&
                                                                                x.ClassId == classId &&
                                                                                x.PersonId == personId &&
                                                                                x.Date >= startDate && x.Date <= endDate
                                                                                );


            return(PartialView("PartialDailyReportMedication", DailyReportMedication.Init(medications)));
        }
Beispiel #5
0
        public async Task <JsonResult> AddEditMedication(DailyReportMedicationViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.Id == null)
                {
                    var medication = DailyReportMedication.Create(
                        model.PersonId,
                        model.ClassId,
                        model.OrganizationId,
                        model.Date,
                        model.Medication,
                        model.Time,
                        model.Amount,
                        model.Type,
                        _userId);
                    await _unitOfWork.DailyReportMedications.Insert(medication);
                }
                else
                {
                    var medication = await _unitOfWork.DailyReportMedications.GetOneAsync(x => x.IsActive && x.Id == model.Id);

                    medication.Update(model);
                    _unitOfWork.DailyReportMedications.Update(medication);
                }
                var result = await _unitOfWork.SaveAsync();

                if (result.Succeeded)
                {
                    return(Json(new JsonMessage {
                        Color = "#ff6849", Message = "Medication saved", Header = "Success", Icon = "success", AdditionalData = model
                    }));
                }
                return(Json(new JsonMessage {
                    Color = "#ff6849", Message = "Save Error", Header = "Error", Icon = "error", AdditionalData = model
                }));
            }
            else
            {
                return(Json(new JsonMessage {
                    Color = "#ff6849", Message = "Model Error", Header = "Error", Icon = "error", AdditionalData = model
                }));
            }
        }