public ActionResult Crear(CriteriosBusquedaFechaViewModel searchCriteria)
        {
            var vm = new JornadaViewModel
            {
                Usuario = searchCriteria.Usuario,
                Dia = searchCriteria.Fecha.ToShortDateString(),
                Inicio = searchCriteria.Fecha.ToShortDateString(),
                Fin = searchCriteria.Fecha.ToShortDateString()
            };

            return this.View(vm);
        }
        public ViewResult Dia(CriteriosBusquedaFechaViewModel searchCriteria)
        {
            var vm = new InformeJornadaViewModel
            {
                Usuarios = this.usuariosQueries.ObtenerUsuarios(),
                Fecha = searchCriteria.Fecha,
                Usuario = searchCriteria.Usuario,
            };

            if (this.ModelState.IsValid)
            {
                var jornada = this.jornadaQueries.ObtenerJornada(searchCriteria.Usuario, searchCriteria.Fecha);
                var sumaPausas = jornada.Pausas.Aggregate(TimeSpan.Zero, (span, pausa) => span.Add(pausa.Duracion));

                vm.IsPost = true;
                vm.Jornada = jornada;
                vm.Total = jornada.Duracion;
                vm.SumaPausa = sumaPausas;
                vm.SumaTrabajo = jornada.Duracion.Subtract(sumaPausas);
            }

            return this.View(vm);
        }
        public ActionResult Editar(CriteriosBusquedaFechaViewModel searchCriteria)
        {
            var jornada = this.jornadaQueries.ObtenerJornada(searchCriteria.Usuario, searchCriteria.Fecha);
            var vm = JornadaViewModel.FormJornada(jornada, searchCriteria.Usuario);

            return this.View(vm);
        }
        public JsonResult Eliminar(CriteriosBusquedaFechaViewModel searchCriteria)
        {
            var jornada = this.jornadaQueries.ObtenerJornada(searchCriteria.Usuario, searchCriteria.Fecha);

            if (jornada != null)
            {
                try
                {
                    this.jornadaCommands.EliminarJornada(jornada.Id);
                    return this.Json(new { hasError = false });
                }
                catch (Exception ex)
                {
                    return this.Json(new { hasError = true, errors = ex.Message });
                }
            }

            return this.Json(new { hasError = false });
        }