Exemplo n.º 1
0
        public virtual void ChangeEstado(Estado nuevoEstado, string observacion, Empleado empleado)
        {
            if (empleado == null)
            {
                throw new ArgumentNullException("empleado");
            }

            if (!Next(UltimoEstado).Any(e => e == nuevoEstado))
            {
                throw new Exception(string.Format("Cambio de estado invalido {0} -> {1}", UltimoEstado, nuevoEstado));
            }

            Final = GetEstadoFinal(nuevoEstado);

            var detalle = new DetalleTicketRechazo
            {
                // Ultimo estado es calculado solo se actualiza en memoria
                Estado      = nuevoEstado,
                FechaHora   = DateTime.UtcNow,
                Observacion = observacion,
                Ticket      = this,
                Empleado    = empleado
            };

            Detalle.Add(detalle);
        }
Exemplo n.º 2
0
        public TicketRechazo(string observacion, Empleado empleado, DateTime fechaHora)
        {
            if (empleado == null)
            {
                throw new ArgumentNullException("empleado");
            }

            Final = EstadoFinal.SolucionPendiente;

            var detalle = new DetalleTicketRechazo()
            {
                Estado      = Estado.Pendiente,
                FechaHora   = fechaHora,
                Observacion = observacion,
                Ticket      = this,
                Empleado    = empleado
            };

            FechaHora = fechaHora;

            Detalle.Add(detalle);
        }