Пример #1
0
        public ICollection <Disease> GetAll()
        {
            //ICollection<Disease> myliste =(ICollection<Disease>) GetMany(c => !c.Name.Equals("")).ToList();
            IWContext             context = new IWContext();
            ICollection <Disease> myliste = context.Diseases.Include("Treatements").Include("Symptoms").ToList();

            return(myliste);
        }
Пример #2
0
        public ActionResult Index()
        {
            IWContext context  = new IWContext();
            DateTime  monthAgo = DateTime.Now.AddDays(-30);
            var       dangers  = context.Dangers.Where(d => d.Date > monthAgo).Include("Alertes").Include("Alertes.Disease").ToList();

            ViewData["dangers"] = dangers;
            return(View());
        }
Пример #3
0
        public ActionResult Register()
        {
            IWContext context     = new IWContext();
            var       RoleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context));
            var       Roles       = RoleManager.Roles.Where(r => !r.Name.Equals("Admin"));

            ViewBag.Roles = Roles;
            return(View());
        }
Пример #4
0
        public ActionResult Index()
        {
            IWContext            context = new IWContext();
            List <Models.Alerte> alts    = context.Alertes.Include("Disease").Include("User").ToList <Models.Alerte>();

            ViewBag.result = alts;



            return(View());
        }
Пример #5
0
        public JsonResult GetCountry(string id)
        {
            IWContext context = new IWContext();

            //var count =context.Alertes.Include("Disease").Include("User").GroupBy(n => n.User.Place);
            Models.Alerte alert = context.Alertes.Include("User").Include("Disease").Where(x => x.User.Place.Country == id).FirstOrDefault <Models.Alerte>();


            return(new JsonResult {
                Data = alert, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Пример #6
0
        public void NotifyAllNearBy(string message, string country, string uid)
        {
            IWContext context            = new IWContext();
            List <ApplicationUser> users = context.Users.Where(u => u.Place.Country.Equals(country) && !u.Id.Equals(uid)).ToList();

            foreach (var user in users)
            {
                foreach (var connectionId in NotificationHub._connections.GetConnections(user.UserName))
                {
                    _context.Clients.Client(connectionId).showNotification(message);
                }
            }
        }
Пример #7
0
        public JsonResult getColors()
        {
            IWContext context = new IWContext();

            //var count =context.Alertes.Include("Disease").Include("User").GroupBy(n => n.User.Place);
            List <Models.PaysCouleur> list = new List <Models.PaysCouleur>();

            foreach (var line in context.Alertes.GroupBy(info => info.User.Place.Country)
                     .Select(group => new
            {
                Metric = group.Key,
                Count = group.Count()
            }).ToList())
            {
                string couleur = "";
                if (line.Count < 5)
                {
                    couleur = "#F9573B";
                }
                if (line.Count > 5)
                {
                    couleur = "#FF9900";
                }
                if (line.Count > 10)
                {
                    couleur = "#FF9933";
                }
                if (line.Count > 15)
                {
                    couleur = "#FF0000";
                }

                list.Add(new Models.PaysCouleur {
                    Pays = line.Metric, couleur = couleur
                });
            }

            return(new JsonResult {
                Data = list, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Пример #8
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                Place place = new Place()
                {
                    Country = model.Place.Country.ToString(),
                    Town    = model.Place.Town
                };
                string Role = Request.Form["Role"];
                var    user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email, Place = place
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    UserManager.AddToRole(user.Id, Role);
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form

            IWContext context     = new IWContext();
            var       RoleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context));
            var       Roles       = RoleManager.Roles.Where(r => !r.Name.Equals("Admin"));

            ViewBag.Roles = Roles;
            return(View(model));
        }
Пример #9
0
        public ActionResult Approve(int id)
        {
            IWContext       context = new IWContext();
            string          userid  = User.Identity.GetUserId();
            ApplicationUser user    = context.Users.FirstOrDefault(x => x.Id == userid);
            Danger          danger  = context.Dangers.Include("Alertes").Include("Alertes.Disease").FirstOrDefault(d => d.Id == id);

            if (danger == null)
            {
                return(View("Error"));
            }
            danger.ApprovedBy++;
            if (danger.ApprovedBy > 500 && !danger.Notified)
            {
                Notifier notifier = Notifier.getInstance().Value;
                danger.Notified = true;
                notifier.NotifyAllNearBy("Multiple cases of :" + danger.Alertes.First().Disease.Name + " were reported In your country" +
                                         " Be Careful", user.Place.Country, userid);
            }
            context.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #10
0
 public UnitOfWork(IDatabaseFactory dbFactory)
 {
     this.dbFactory = dbFactory;
     dataContext    = dbFactory.DataContext;
 }
Пример #11
0
 public DatabaseFactory()
 {
     dataContext = new IWContext();
 }
Пример #12
0
        public ActionResult Create(AlerteVM avm)
        {
            IServiceDisease service       = new ServiceDisease();
            IServiceAlerte  serviceAlerte = new ServiceAlerte();
            IServiceDanger  servicedanger = new ServiceDanger();
            IWContext       context       = new IWContext();

            avm.NameDiseas = avm.NameDiseas.Trim();
            Disease disease = context.Diseases.Where(d => d.Name.Equals(avm.NameDiseas)).FirstOrDefault();

            //context.Entry(disease).State = System.Data.Entity.EntityState.Unchanged;
            //Disease disease = service.FindByName(avm.NameDiseas);
            if (disease != null)
            {
                string          userid     = User.Identity.GetUserId();
                ApplicationUser user       = context.Users.FirstOrDefault(x => x.Id == userid);
                Alerte          LastAlerte = serviceAlerte.GetAlerteByUser(user);
                if ((LastAlerte != null && LastAlerte.DateTime.Subtract(DateTime.Today).Days >= 7) || LastAlerte == null)
                {
                    if (user != null)
                    {
                        Alerte a = context.Alertes.Where(c => c.Disease.Name.Equals(disease.Name)).FirstOrDefault();
                        if (a != null)
                        {
                            Alerte alerte = new Alerte()
                            {
                                Disease  = disease,
                                User     = user,
                                DateTime = DateTime.Today,
                                Danger   = a.Danger
                            };
                            context.Alertes.Add(alerte);
                            context.SaveChanges();
                        }
                        else
                        {
                            Danger d = new Danger()
                            {
                                Date = DateTime.Now
                            };
                            Alerte alerte = new Alerte()
                            {
                                Disease  = disease,
                                User     = user,
                                DateTime = DateTime.Today,
                                Danger   = d
                            };
                            context.Alertes.Add(alerte);
                            context.SaveChanges();
                        }


                        /* ICollection<Danger> Dangers = context.Dangers.Include("Alertes").ToList();
                         * Danger danger = new Danger();
                         * foreach(var D in Dangers)
                         * {
                         *   foreach(var x in D.Alertes)
                         *   {
                         *       Alerte y = context.Alertes.Include("Disease").Where(c => c.Id == x.Id).SingleOrDefault();
                         *       if (y.Disease.Name.Equals(alerte.Disease.Name))
                         *           danger = D;
                         *   }
                         * }
                         * danger.Date = DateTime.Now;
                         * //Danger danger = servicedanger.GetDangerByAlert(alerte);
                         * if(danger == null)
                         * {
                         *
                         *   danger.Alertes.Add(alerte);
                         *   context.Dangers.Add(danger);
                         *   alerte.Danger = danger;
                         *   context.SaveChanges();
                         *
                         * }
                         * else
                         * {
                         *   danger.Alertes.Add(alerte);
                         *   context.SaveChanges();
                         * }*/
                        context.Dispose();
                        return(View("Sucess"));
                    }
                }
                else
                {
                    context.Dispose();
                    return(View("Error"));
                }
            }
            context.Dispose();
            return(Create());
        }