Beispiel #1
0
        // GET: Procedure/Details
        public async Task <ActionResult> Details(int?id)
        {
            if (!id.HasValue)
            {
                return(NotFound());
            }

            var dto = await _procedureService.Get(id.Value);

            if (dto == null)
            {
                return(NotFound());
            }

            return(View(dto.MapToViewModel()));
        }
Beispiel #2
0
        public ActionResult Get()
        {
            var procedures = _procedureService.Get();

            var proceduresToShow = Mapper.Map <IEnumerable <Procedure>, IEnumerable <ProcedureViewModel> >(procedures);

            return(View(proceduresToShow));
        }
Beispiel #3
0
        private SelectList MakeProceduresList()
        {
            var procedures = _procedureService.Get().ToList();

            procedures.Insert(0, new Procedure
            {
                ProcedureName = "Выберите процедуру"
            });
            var proceduresList = new SelectList(procedures, "ProcedureId", "ProcedureName");

            return(proceduresList);
        }
        public ActionResult Add(ProcedureEntryViewModel procedure)
        {
            var master                      = _masterService.GetBy(procedure.MasterId);
            var requestedProcedure          = _procedureService.Get().FirstOrDefault(p => p.ProcedureId == procedure.ProcedureId);
            var requestedProcedureTimeStart = (procedure.Date + procedure.StartTime.TimeOfDay).TimeOfDay;
            var requestedProcedureTimeEnd   = (procedure.Date + procedure.StartTime.AddHours(requestedProcedure.Duration).TimeOfDay).TimeOfDay;

            if (procedure.Date + procedure.StartTime.TimeOfDay < DateTime.Now)
            {
                TempData["Message"] = "Выберите дату и время не раньше текущей";

                return(RedirectToAction("Main", "Home"));
            }

            var procedureEntries = new List <ProcedureEntry>();

            procedureEntries.AddRange(
                master.Schedules.SelectMany(a => a.ProcedureEntries));

            var procedures = procedureEntries.Select(d => d.Schedule);

            foreach (var masterProcedure in procedures)
            {
                var procedureTimeStart = (masterProcedure.Date + masterProcedure.StartTime.TimeOfDay).TimeOfDay;

                var procedureTimeEnd = (masterProcedure.Date + masterProcedure.EndTime.TimeOfDay).TimeOfDay;

                if (masterProcedure.Date.Date == procedure.Date.Date &&
                    requestedProcedureTimeStart >= procedureTimeStart && requestedProcedureTimeStart <= procedureTimeEnd &&
                    requestedProcedureTimeEnd >= procedureTimeStart && requestedProcedureTimeEnd >= procedureTimeEnd)
                {
                    TempData["Message"] = "Мастер занят в это время, вы можете просмотреть <a id='modal'>его расписание</a>";

                    TempData["MasterSchedule"] = master.Schedules.Where(s => s.Date.Date == procedure.Date.Date);

                    return(RedirectToAction("Main", "Home"));
                }
            }

            var procedureToAdd = Mapper.Map <ProcedureEntryViewModel, ProcedureDto>(procedure);

            procedureToAdd.ClientLogin = User.Identity.Name;

            _procedureService.Add(procedureToAdd);

            TempData["Message"] = "Ваша запись принята";

            return(RedirectToAction("Main", "Home"));
        }
Beispiel #5
0
        public ProcedureBl Get(int id)
        {
            var dto = _service.Get(id);

            return(dto != null ? new ProcedureBl(dto) : null);
        }