Ejemplo n.º 1
0
        public async Task <WrapperSimpleTypesDTO> CrearPlan(Planes planParaCrear)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                PlanesRepository planRepository = new PlanesRepository(context);

                planParaCrear.Archivos.CodigoTipoArchivo = (int)TipoArchivo.Imagen;
                planRepository.CrearPlan(planParaCrear);

                WrapperSimpleTypesDTO wrapperCrearPlan = new WrapperSimpleTypesDTO();

                wrapperCrearPlan.NumeroRegistrosAfectados = await context.SaveChangesAsync();

                if (wrapperCrearPlan.NumeroRegistrosAfectados > 0)
                {
                    wrapperCrearPlan.Exitoso           = true;
                    wrapperCrearPlan.ConsecutivoCreado = planParaCrear.Consecutivo;

                    if (planParaCrear.PlanDefault == (int)SiNoEnum.Si)
                    {
                        await planRepository.DesasignarPlanDefaultDeUnPerfilMenosActual(planParaCrear.Consecutivo, planParaCrear.CodigoTipoPerfil);
                    }

                    NoticiasRepository noticiasRepo = new NoticiasRepository(context);
                    Notificaciones     notificacion = new Notificaciones
                    {
                        CodigoTipoNotificacion = (int)TipoNotificacionEnum.NuevoPlan,
                        CodigoPlanNuevo        = planParaCrear.Consecutivo,
                        Creacion = DateTime.Now
                    };

                    noticiasRepo.CrearNotificacion(notificacion);

                    wrapperCrearPlan.NumeroRegistrosAfectados += await context.SaveChangesAsync();

                    //if (notificacion.Consecutivo > 0)
                    //{
                    //    TimeLineNotificaciones timeLineNotificacion = new TimeLineNotificaciones(await noticiasRepo.BuscarNotificacion(notificacion));
                    //}
                }

                return(wrapperCrearPlan);
            }
        }