Ejemplo n.º 1
0
        public async Task <IActionResult> CreateDayTemplate([FromBody] DayTemplateModel template)
        {
            var result = await _executor
                         .Validate(ModelState)
                         .Map <DayTemplateModelToDayTemplateMapping>(() => template)
                         .Add <ValidateTasksNotDeletedOperation, DayTemplate, DayTemplate>(last => last)
                         .Add <ValidateScheduledTasksOperation, DayTemplate, ScheduledTasksValidationModel>(t => new ScheduledTasksValidationModel(t, t.Tasks, null))
                         .Add <CreateDayTemplateOperation, DayTemplate, (Guid, DayTemplate)>(t => (User.GetTenantId().Value, t))
                         .Execute();

            return(result.CreateHttpResult());
        }
Ejemplo n.º 2
0
        public JsonResult CreateDayTemplate(DayTemplateModel rModel)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new { ok = false, message = "Validation has failed!" }));
            }

            var dayTemplate = Mapper.Map <DayTemplate>(rModel);

            _dayTemplateRepository.Add(dayTemplate);
            dayTemplate.Routes.ToList().ForEach(x => x.DayTemplateId = dayTemplate.Id);
            _dayTemplateRepository.SaveChanges();

            return(Json(new { ok = true, templateId = dayTemplate.Id, routeIds = dayTemplate.Routes.OrderBy(x => x.Time).Select(x => x.Id).ToArray() }));
        }
Ejemplo n.º 3
0
        public JsonResult DeleteDayTemplate(DayTemplateModel rModel)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new { ok = false, message = "Validation has failed!" }));
            }

            var dayTemplate = Mapper.Map <DayTemplate>(rModel);

            _routeBaseRepository.RemoveRange(_routeBaseRepository.Get().Where(x => x.DayTemplateId == dayTemplate.Id));
            _routeBaseRepository.SaveChanges();

            dayTemplate.Routes = null;
            _dayTemplateRepository.Remove(dayTemplate);
            _dayTemplateRepository.SaveChanges();

            return(Json(new { ok = true }));
        }
Ejemplo n.º 4
0
        public JsonResult SaveDayTemplate(DayTemplateModel rModel)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new { ok = false, message = "Validation has failed!" }));
            }

            var dayTemplate = Mapper.Map <DayTemplate>(rModel);

            _dayTemplateRepository.Update(dayTemplate);

            dayTemplate.Routes.ToList().ForEach(x => x.DayTemplateId = dayTemplate.Id);
            var routesToDelete =
                _routeBaseRepository.Get()
                .Where(x => x.DayTemplateId.HasValue && x.DayTemplateId.Value == dayTemplate.Id).ToList().Where(e => dayTemplate.Routes.ToList().All(x => x.Id != e.Id));

            _routeBaseRepository.RemoveRange(routesToDelete);
            _routeBaseRepository.AddOrUpdateRange(dayTemplate.Routes);

            _dayTemplateRepository.SaveChanges();
            _routeBaseRepository.SaveChanges();

            return(Json(new { ok = true }));
        }