Ejemplo n.º 1
0
        /// <summary>
        /// Seeding Solicitud.
        /// </summary>
        private static void SeedSolicitudes(ApplicationContext context)
        {
            if (context.Solicitudes.Any())
            {
                return;
            }

            context.Solicitudes.AddRange(
                new Solicitud
            {
                SolicitudId      = 1,
                ModoDeContrato   = 1,
                RolRequerido     = "Operador de Cabina 03 y Estudio de Radio",
                HorasContratadas = 8,
                NivelExperiencia = "Básico",
                Observaciones    = "s/obs."
            },
                new Solicitud
            {
                SolicitudId      = 2,
                ModoDeContrato   = 2,
                RolRequerido     = "Sonidista",
                HorasContratadas = 10,
                NivelExperiencia = "Avanzado",
                Observaciones    = "s/obs."
            },
                new Solicitud
            {
                SolicitudId      = 3,
                ModoDeContrato   = 1,
                RolRequerido     = "Presentador / conductor",
                HorasContratadas = 15,
                NivelExperiencia = "Básico",
                Observaciones    = "s/obs."
            },
                new Solicitud
            {
                SolicitudId      = 4,
                ModoDeContrato   = 1,
                RolRequerido     = "Sonidista",
                HorasContratadas = 8,
                NivelExperiencia = "Básico",
                Observaciones    = "s/obs."
            },
                new Solicitud
            {
                SolicitudId      = 5,
                ModoDeContrato   = 2,
                RolRequerido     = "Redactor creativo",
                HorasContratadas = 10,
                NivelExperiencia = "Avanzado",
                Observaciones    = "s/obs."
            },
                new Solicitud
            {
                SolicitudId      = 6,
                ModoDeContrato   = 1,
                RolRequerido     = "Operador de Cabina 02",
                HorasContratadas = 15,
                NivelExperiencia = "Básico",
                Observaciones    = "s/obs."
            },
                new Solicitud
            {
                SolicitudId      = 7,
                ModoDeContrato   = 1,
                RolRequerido     = "Diseñador gráfico",
                HorasContratadas = 8,
                NivelExperiencia = "Básico",
                Observaciones    = "s/obs."
            },
                new Solicitud
            {
                SolicitudId      = 8,
                ModoDeContrato   = 2,
                RolRequerido     = "Cámara y asistente de cámara",
                HorasContratadas = 10,
                NivelExperiencia = "Avanzado",
                Observaciones    = "s/obs."
            }
                );

            // guarda los cambios.
            context.SaveChanges();

            // Cuando se crea la solicitud en context, queda a costo cero y status inactivo.
            // Actualizo el status y el costo de cada solicitud de acuerdo al precio vigente.
            var solicitudes = context.Solicitudes;

            Costo Costos = new Costo();

            foreach (var s in solicitudes)
            {
                // actualización de precios.
                s.costoSolicitud = Costos.CalcularCostoSolicitud(
                    s.ModoDeContrato,
                    s.HorasContratadas,
                    s.NivelExperiencia);
                // status activo.
                s.StatusActivo();

                // se agrega la solicitud como observador.
                Costos.Agregar(s);
            }

            // guarda los cambios.
            context.SaveChanges();
        }