示例#1
0
 public CapturaCitaViewModel(ICapturaCitaRepository capturaCitaRepository, IPaqueteRepository paqueteRepository)
 {
     Repository                      = capturaCitaRepository;
     PaqueteRepository               = paqueteRepository;
     ListaCapturaCita                = new BindingList <CapturaCita>();
     ListaCapturaCitaDetalle         = new BindingList <CapturaCita>();
     ListaCapturaCitaDetalleServicio = new BindingList <CapturaCita>();
     ListaHoras                      = new BindingList <CapturaCita>();
     ListaServicioPaquete            = new BindingList <Servicio>();
     IdHora         = new TimeSpan();
     TablaGServicio = new DataTable();
     Observaciones  = string.Empty;
     Cliente        = string.Empty;
     Hora           = string.Empty;
     Servicio       = string.Empty;
 }
 public PaquetesClienteViewModel(ICapturaCitaRepository capturaCitaRepository)
 {
     Repository         = capturaCitaRepository;
     ListaOrdenServicio = new BindingList <OrdenServicio>();
 }
        public CapturaCitaValidator(ICapturaCitaRepository capturaCitaRepository)
        {
            RuleFor(cap => cap.NombreCompleto)
            .NotEmpty()
            .WithMessage("SELECCIONE UN CLIENTE.");

            RuleFor(cap => cap.Servicio)
            .NotEmpty()
            .When(x => x.IdOrdenPaquete == Guid.Empty).WithMessage("SELECCIONE UN SERVICIO.");

            RuleFor(cap => cap.IdHora)
            .MustAsync(async(cap, x, context, v) =>
            {
                var message = "";
                var result  = await capturaCitaRepository.BusyService2(cap.IdAgendaCita, cap.IdServicio, cap.FechaInicio, cap.IdSucursal);
                //hola = result;
                switch (result)
                {
                case 1:
                    message = "HORARIO OCUPADO";
                    break;

                case 0:
                    message = "ERROR";
                    break;

                case 5:
                    message = "NO PUEDES AGENDAR CITAS MENOR A LA HORA ACTUAL";
                    break;

                default:
                    message = "Error default";
                    break;
                }

                context.MessageFormatter.AppendArgument("Message", message);

                if (result > 0)
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            })
            .WithMessage("{Message}");

            //RuleFor(cap => cap.ListaCapturaCitaDetalleServicio.Count)
            //    .Must((cap, x, context) =>
            //    {
            //        if (cap.ListaCapturaCitaDetalleServicio.Count <= 0)
            //        {

            //        }
            //        return false;
            //    }
            //  ).WithMessage("LA FECHA NO PUEDE SER MAYOR A LA FECHA ACTUAL.");

            //public string GetMessage(int mensaje)
            //{
            //    switch (mensaje)
            //    {
            //        case 1:
            //            return "HORARIO OCUPADO";
            //        case 0:
            //            return "ERROR";
            //        case 5:
            //            return "NO PUEDES AGENDAR CITAS MENOR A LA HORA ACTUAL";
            //        default:
            //            return "Error default";
            //    }
            //}
        }
示例#4
0
 public CitasSinAgendarViewModel(ICapturaCitaRepository capturaCitaRepository)
 {
     Repository                  = capturaCitaRepository;
     ListaCitasSinAgendar        = new BindingList <OrdenServicio>();
     ListaCitasSinAgendarDetalle = new BindingList <CapturaCita>();
 }