public IActionResult Index(TimelineGetDTO dto)
        {
            var model = workManager.GetModelForTimeline(dto);

            dbManager.Commit();
            return(View("TimeLine", model));
        }
        public IActionResult Delete(TimelineGetDTO dto)
        {
            workManager.Delete(dto.WorkId);
            dto.WorkId = 0;
            var model = workManager.GetModelForTimeline(dto);

            dbManager.Commit();
            return(View("TimeLine", model));
        }
        public IActionResult Index(TimelineGetDTO dto, AddWorkDTO dtoPost)
        {
            var work  = workManager.NewWork(dtoPost);
            var model = workManager.GetModelForTimeline(dto);

            model.Work = work;
            dbManager.Commit();
            return(View("TimeLine", model));
        }
        public TimeLineViewModel GetModelForTimeline(TimelineGetDTO dto)
        {
            var model = new TimeLineViewModel();

            if (dto.Date.Year < 1950)
            {
                dto.Date = DateTime.Now.Date;
            }

            model.Order = dto.OrderId > 0 ?
                          dbManager.GetById <Order>(dto.OrderId) :
                          orderManager.Get(dto.Date, dto.ShiftId, dto.OrderAreaId);
            model.Work = dto.WorkId > 0 ?
                         dbManager.GetById <Work>(dto.WorkId) :
                         new Work().SetTime(dto.StartTime, dto.StartTime.AddMinutes(10), model.Order.Shift);
            model.MachineName = dto.MoSId > 0 ? dbManager.GetById <MachineryOnShift>(dto.MoSId).Name : null;

            model.WorkTypes = GetTypes();
            model.CoalSorts = GetSorts();
            model.Areas     = dbManager.GetAll <OrderArea>().ToList().Where(x => !String.IsNullOrEmpty(x.Name)).ToList();

            var startHour = model.Order.Shift == 1 ?
                            new DateTime(1, 1, 1, 8, 0, 0) :
                            new DateTime(1, 1, 1, 20, 0, 0);
            var hours = new List <string>();

            for (int i = 0; i < 12; i++)
            {
                hours.Add(startHour.AddHours(i).ToString("HH:mm"));
            }
            hours.Add(startHour.AddHours(11).ToString("HH:59"));
            model.Hours = hours;

            var timeIntervals = new List <string>();

            for (int i = 0; i < 72; i++)
            {
                timeIntervals.Add(startHour.AddMinutes(i * 10).ToString("HH:mm"));
            }

            model.TimeIntervals = timeIntervals;

            return(model);
        }