Пример #1
0
        public override Ticket Crear(Ticket entidad)
        {
            Entidades.Serviciosprogramado serviciosprogramado = null;

            if (entidad.ServicioProgramadoId == 0 && entidad.Serviciosprogramado == null)
            {
                serviciosprogramado = dbContext.Serviciosprogramados.FirstOrDefault(w => w.ClienteId == entidad.ClienteId && w.ServicioId == entidad.ServicioId && w.FechaServicio == entidad.Fecha);

                if (serviciosprogramado == null)
                {
                    //Existe una programación?
                    int    f         = (int)entidad.Fecha.DayOfWeek + 1;
                    string diaCadena = f.ToString();

                    //Existe una programación?
                    var programacionCLiente = dbContext.Programacionserviciosclientes.FirstOrDefault(w => w.ClienteId == entidad.ClienteId && w.ServicioId == entidad.ServicioId && (w.FechaInicio <= entidad.Fecha && (w.FechaTermino == null || entidad.Fecha <= w.FechaTermino)) && w.Borrado == false && w.Activo == true && w.Programacionservicio.Dias.Contains(diaCadena));

                    serviciosprogramado = new Serviciosprogramado()
                    {
                        Borrado       = false,
                        Activo        = true,
                        Cancelado     = false,
                        Prioridad     = 1000,
                        ClienteId     = entidad.ClienteId,
                        FechaServicio = entidad.Fecha.Date,
                        Observaciones = "",
                        ServicioId    = entidad.ServicioId,
                        Tipo          = programacionCLiente == null ? "Express" : "Programado",
                        ProgramacionServiciosClientesId = programacionCLiente == null ? null : (Nullable <int>)programacionCLiente.ProgramacionServiciosClienteId,
                        Clientes  = entidad.Clientes,
                        Servicio  = entidad.Servicio,
                        Realizado = true
                    };

                    //Se agrega servicio programado si no existe
                    serviciosprogramado = ServiciosProgramadosRepositorio.Crear(serviciosprogramado);
                    serviciosprogramado.ServicioProgramadoId = serviciosprogramado.ServicioProgramadoId;
                }


                //Se agrega el operador si no existe
                if (entidad.Operador != null && entidad.Operador.OperadorId == 0)
                {
                    entidad.Operador   = OperadoresRepositorio.Crear(entidad.Operador);
                    entidad.OperadorId = entidad.Operador.OperadorId;
                }

                entidad.Serviciosprogramado = serviciosprogramado;
            }


            //El servicio programado hay que marcarlo como realizado sino lo está
            if (!serviciosprogramado.Realizado)
            {
                serviciosprogramado.Realizado = true;
                ServiciosProgramadosRepositorio.Actualizar(serviciosprogramado);
            }

            return(base.Crear(entidad));
        }
Пример #2
0
 public IEnumerable <Ticket> RecuperarTicketsPorServicioProgramado(Serviciosprogramado ServicioProgramado)
 {
     return(ServicioProgramado.Tickets);
 }
Пример #3
0
 public CapturaDeTicketForm(Serviciosprogramado serviciosprogramado)
 {
     InitializeComponent();
     ticketsUC1.ServicioProgramadoAsociado = serviciosprogramado;
 }