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));
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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));
        }