public ActionResult DeleteFieldSchedule(int id) { var service = this.Service <IFieldScheduleService>(); ResponseModel <FieldScheduleViewModel> response = null; try { var schedule = service.Get(id); if (schedule == null) { response = ResponseModel <FieldScheduleViewModel> .CreateErrorResponse("Xóa lịch thất bại", "Lịch sân không tồn tại"); } else { service.Deactivate(schedule); FieldScheduleViewModel result = PrepareFieldScheduleViewModel(schedule); response = new ResponseModel <FieldScheduleViewModel>(true, "Lịch đã được xóa.", null, result); } } catch (Exception) { response = ResponseModel <FieldScheduleViewModel> .CreateErrorResponse("Xóa lịch thất bại", systemError); } return(Json(response)); }
public ActionResult UpdateFieldSchedule(FieldScheduleCreateViewModel model) { var service = this.Service <IFieldScheduleService>(); ResponseModel <FieldScheduleViewModel> response = null; DateTime startTime = new DateTime(); DateTime endTime = new DateTime(); try { startTime = DateTime.ParseExact(model.StartTime, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture); endTime = DateTime.ParseExact(model.EndTime, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture); } catch (Exception) { response = ResponseModel <FieldScheduleViewModel> .CreateErrorResponse("Tạo lịch thất bại", "Lỗi định dạng thời gian"); return(Json(response)); } try { bool timeValid = true; FieldSchedule schedule = service.Get(model.Id); //if (!(schedule.StartTime == startTime && schedule.EndTime == endTime && schedule.FieldId == model.FieldId)) { // timeValid = service.checkTimeValidInFieldSchedule(model.FieldId, startTime.TimeOfDay, endTime.TimeOfDay, startTime, endTime); //} if (timeValid) { schedule.FieldId = model.FieldId; //schedule.StartTime = startTime; //schedule.EndTime = endTime; schedule.Type = model.Type; schedule.Description = model.Description; service.Update(schedule); service.Save(); FieldScheduleViewModel result = PrepareFieldScheduleViewModel(schedule); response = new ResponseModel <FieldScheduleViewModel>(true, "Cập nhật lịch sân thành công", null, result); } else { response = ResponseModel <FieldScheduleViewModel> .CreateErrorResponse("Cập nhật lịch thất bại", "Khung giờ đã tồn tại"); } } catch (Exception) { response = ResponseModel <FieldScheduleViewModel> .CreateErrorResponse("Cập nhật lịch thất bại", systemError); } return(Json(response)); }
public ActionResult CreateFieldSchedule(FieldScheduleCreateViewModel model) { var scheduleService = this.Service <IFieldScheduleService>(); ResponseModel <FieldScheduleViewModel> response = null; DateTime startTime = new DateTime(); DateTime endTime = new DateTime(); try { startTime = DateTime.ParseExact(model.StartTime, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture); endTime = DateTime.ParseExact(model.EndTime, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture); } catch (Exception) { response = ResponseModel <FieldScheduleViewModel> .CreateErrorResponse("Tạo lịch thất bại", "Lỗi định dạng thời gian"); return(Json(response)); } try { if (scheduleService.checkTimeValidInFieldSchedule(null, model.FieldId, startTime.TimeOfDay, endTime.TimeOfDay, startTime, endTime)) { FieldSchedule schedule = new FieldSchedule(); schedule.FieldId = model.FieldId; schedule.Type = model.Type; //schedule.StartTime = startTime; //schedule.EndTime = endTime; schedule.Description = model.Description; scheduleService.Create(schedule); scheduleService.Save(); FieldScheduleViewModel result = PrepareFieldScheduleViewModel(schedule); response = new ResponseModel <FieldScheduleViewModel>(true, "Lịch đã được tạo.", null, result); } else { response = ResponseModel <FieldScheduleViewModel> .CreateErrorResponse("Tạo lịch thất bại", "Khung giờ đã tồn tại"); } } catch (Exception) { response = ResponseModel <FieldScheduleViewModel> .CreateErrorResponse("Tạo lịch thất bại", systemError); } return(Json(response)); }
public ActionResult GetOrderBySport(int sportId) { var result = new AjaxOperationResult <List <FieldScheduleViewModel> >(); var userId = User.Identity.GetUserId(); var fieldScheduleService = this.Service <IFieldScheduleService>(); DateTime today = DateTime.Now; var orderList = fieldScheduleService.GetActive(p => p.Field.FieldType.SportId == sportId && p.EndDate >= today && p.UserId == userId && p.Type == (int)FieldScheduleStatus.Booked).ToList(); List <FieldScheduleViewModel> resultList = new List <FieldScheduleViewModel>(); foreach (var item in orderList) { FieldScheduleViewModel model = new FieldScheduleViewModel(item); model.PlaceId = item.Field.PlaceId; model.FieldName = item.Field.Name; model.PlaceName = item.Field.Place.Name; model.StartTimeString = model.StartTime.Hours.ToString("00") + ":" + model.StartTime.Minutes.ToString("00"); model.EndTimeString = model.EndTime.Hours.ToString("00") + ":" + model.EndTime.Minutes.ToString("00"); var bits = new bool[8]; for (var i = 7; i >= 0; i--) { bits[i] = (model.AvailableDay & (1 << i)) != 0; } var dayOfWeek = ""; List <int> days = new List <int>(); if (bits[1]) { dayOfWeek += "CN "; days.Add(1); } if (bits[2]) { dayOfWeek += "T2 "; days.Add(2); } if (bits[3]) { dayOfWeek += "T3 "; days.Add(3); } if (bits[4]) { dayOfWeek += "T4 "; days.Add(4); } if (bits[5]) { dayOfWeek += "T5 "; days.Add(5); } if (bits[6]) { dayOfWeek += "T6 "; days.Add(6); } if (bits[7]) { dayOfWeek += "T7 "; days.Add(7); } model.availableDayOfWeek = dayOfWeek; model.DayOfWeek = days; resultList.Add(model); } result.Succeed = true; result.AdditionalData = resultList; return(Json(result)); }
public ActionResult FieldScheduleOrderDetail(int id) { var _placeService = this.Service <IPlaceService>(); var _fieldService = this.Service <IFieldService>(); var _fieldScheduleService = this.Service <IFieldScheduleService>(); FieldSchedule fs = _fieldScheduleService.FirstOrDefault(o => o.Id == id); var fieldId = fs.FieldId; var field = _fieldService.FirstOrDefaultActive(p => p.Id == fieldId); Place place = new Place(); if (field != null) { place = _placeService.FirstOrDefaultActive(p => p.Id == field.PlaceId); ViewBag.field = field; } if (place != null) { ViewBag.place = place; } FieldScheduleViewModel model = new FieldScheduleViewModel(fs); model.StartTimeString = model.StartTime.Hours.ToString("00") + ":" + model.StartTime.Minutes.ToString("00"); model.EndTimeString = model.EndTime.Hours.ToString("00") + ":" + model.EndTime.Minutes.ToString("00"); var bits = new bool[8]; for (var i = 7; i >= 0; i--) { bits[i] = (model.AvailableDay & (1 << i)) != 0; } var dayOfWeek = ""; if (bits[1]) { dayOfWeek += "CN "; } if (bits[2]) { dayOfWeek += "T2 "; } if (bits[3]) { dayOfWeek += "T3 "; } if (bits[4]) { dayOfWeek += "T4 "; } if (bits[5]) { dayOfWeek += "T5 "; } if (bits[6]) { dayOfWeek += "T6 "; } if (bits[7]) { dayOfWeek += "T7 "; } model.availableDayOfWeek = dayOfWeek; return(this.PartialView(model)); }