Пример #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());
        }
Пример #2
0
        public async Task <IActionResult> AddEditNap(Guid personId, Guid classId, Guid organizationId, DateTime?date = null)
        {
            if (date.HasValue == false)
            {
                date = DateTime.UtcNow;
            }

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

            return(View(model));
        }
Пример #3
0
 public static DailyReportNapViewModel Create(DailyReportNap nap)
 {
     return(new DailyReportNapViewModel()
     {
         ClassId = nap.ClassId,
         Id = nap.Id,
         Date = nap.Date,
         Note = nap.Note,
         OrganizationId = nap.OrganizationId,
         PersonId = nap.PersonId,
         EndTime = nap.EndTime,
         StartTime = nap.StartTime
     });
 }
Пример #4
0
        public async Task <IActionResult> GetNaps(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 naps = await _unitOfWork.DailyReportNaps.GetAsync(x => x.IsActive && x.OrganizationId == _organizationId &&
                                                                  x.ClassId == classId &&
                                                                  x.PersonId == personId &&
                                                                  x.Date >= startDate && x.Date <= endDate
                                                                  );


            return(PartialView("PartialDailyReportNap", DailyReportNap.Init(naps)));
        }
Пример #5
0
        public async Task <JsonResult> AddEditNap(DailyReportNapViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.Id == null)
                {
                    var nap = DailyReportNap.Create(model.PersonId, model.ClassId, model.OrganizationId, model.Date, model.StartTime, model.EndTime, model.Note, _userId);
                    await _unitOfWork.DailyReportNaps.Insert(nap);
                }
                else
                {
                    var nap = await _unitOfWork.DailyReportNaps.GetOneAsync(x => x.IsActive && x.Id == model.Id);

                    nap.Note      = model.Note;
                    nap.StartTime = model.StartTime;
                    nap.EndTime   = model.EndTime;
                    _unitOfWork.DailyReportNaps.Update(nap);
                }
                var result = await _unitOfWork.SaveAsync();

                if (result.Succeeded)
                {
                    return(Json(new JsonMessage {
                        Color = "#ff6849", Message = "Nap 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
                }));
            }
        }