Exemple #1
0
        public async Task <ActionResult> EditBeacon(String id)
        {
            EditBeaconViewModel be          = new EditBeaconViewModel();
            DataService         dataService = new DataService();
            List <Content>      con         = new List <Content>();

            con = await dataService.GetContentAsync();

            Content cont = new Content();

            Beacon beacon = new Beacon();

            beacon = await dataService.GetBeaconByIDAsync(id);

            cont          = con.FirstOrDefault(x => x.beaconID == beacon.beaconID);
            be.MajorValue = beacon.majorvalue;
            be.Mensagem   = cont.contentmsg;
            be.MinorValue = beacon.minorvalue;
            be.Name       = beacon.model;
            String[] state = beacon.name.Split('-');
            be.Nome = state[1];

            be.BeaconID = beacon.beaconID;
            if (state[0] == "active")
            {
                be.ActiveBeacon = true;
            }
            else
            {
                be.ActiveBeacon = false;
            }

            be.Hide = state[2];

            List <Admin> admin = new List <Admin>();

            admin = await dataService.GetAdminAsync();

            List <ListaAdminBEdit> ad = new List <ListaAdminBEdit>();
            ListaAdminBEdit        adm;

            for (int i = 0; i < admin.Count; i++)
            {
                adm           = new ListaAdminBEdit();
                adm.Email     = admin[i].email;
                adm.NomeAdmin = admin[i].name;
                adm.Username  = admin[i].username;

                List <BA> ba = new List <BA>();
                ba = dataService.GetBAAsync();
                for (int j = 0; j < ba.Count; j++)
                {
                    if (ba[j].adminemail == admin[i].email && ba[j].beaconID == beacon.beaconID)
                    {
                        adm.addAdmin = true;
                        break;
                    }

                    else
                    {
                        adm.addAdmin = false;
                    }
                }

                ad.Add(adm);
            }


            CityListEdit objBind = new CityListEdit();

            objBind.listaa = ad;
            objBind.EditBeaconViewModel = be;

            return(View(objBind));
        }
Exemple #2
0
        public async Task <ActionResult> EditBeacon(CityListEdit model)
        {
            Uri         aaaa        = Request.UrlReferrer;
            DataService dataService = new DataService();

            if (!ModelState.IsValid)
            {
                return(Redirect(aaaa.ToString()));
            }


            string         uri   = aaaa.ToString();
            string         param = string.Join(string.Empty, uri.Split('/').Skip(5));
            List <Content> con   = new List <Content>();

            con = await dataService.GetContentAsync();

            Content cont = new Content();

            Beacon alterabeacon = new Beacon();

            cont = con.FirstOrDefault(x => x.beaconID == model.EditBeaconViewModel.BeaconID);
            alterabeacon.beaconID   = param;
            alterabeacon.majorvalue = model.EditBeaconViewModel.MajorValue;
            alterabeacon.minorvalue = model.EditBeaconViewModel.MinorValue;
            alterabeacon.model      = model.EditBeaconViewModel.Name;

            if (model.EditBeaconViewModel.ActiveBeacon == true)
            {
                alterabeacon.name = "active-" + model.EditBeaconViewModel.Nome + "-" + model.EditBeaconViewModel.Hide;
            }
            else
            {
                alterabeacon.name = "inactive-" + model.EditBeaconViewModel.Nome + "-" + model.EditBeaconViewModel.Hide;
            }
            cont.contentmsg = model.EditBeaconViewModel.Mensagem;
            string username = User.Identity.GetUserName();
            Admin  admin    = new Admin();

            admin = await dataService.GetAdminByIdAsync(username);

            bool a = false;

            if (admin == null)
            {
                SuperAdmin superadmin = new SuperAdmin();
                superadmin = await dataService.GetSuperAdminByIdAsync(username);

                a = await dataService.UpdateBeacoon(alterabeacon, superadmin.email);
            }
            else
            {
                a = await dataService.UpdateBeacoon(alterabeacon, admin.email);
            }

            bool b = await dataService.UpdateContent(cont);


            List <BA> baaa = new List <BA>();

            baaa = dataService.GetBAAsync();
            int max = 0;
            int i   = 0;

            for (i = 0; i < baaa.Count(); i++)
            {
                if (max < baaa[i].baID)
                {
                    max = baaa[i].baID;
                }
            }
            for (i = 0; i < model.listaa.Count(); i++)
            {
                if (model.listaa[i].addAdmin == true && baaa.FirstOrDefault(x => x.beaconID == model.EditBeaconViewModel.BeaconID && x.adminemail == model.listaa[i].Email) == null)
                {
                    max = max + 1;
                    BA ba = new BA();
                    ba.baID       = max;
                    ba.adminemail = model.listaa[i].Email;
                    ba.beaconID   = model.EditBeaconViewModel.BeaconID;
                    bool verdade = dataService.AddBaAsync(ba);
                }
                else if (baaa.FirstOrDefault(x => model.listaa[i].addAdmin == true && x.beaconID == model.EditBeaconViewModel.BeaconID && x.adminemail == model.listaa[i].Email) != null)
                {
                    continue;
                }
                else
                {
                    for (int j = 0; j < baaa.Count(); j++)
                    {
                        if (baaa[j].adminemail == model.listaa[i].Email && baaa[j].beaconID == model.EditBeaconViewModel.BeaconID)
                        {
                            dataService.DeletaBAAsync(baaa[j].baID);
                            break;
                        }
                    }
                }
            }


            if (a == true && b == true)
            {
                Success(string.Format("<b>{0}</b> was successfully edited", alterabeacon.beaconID), true);
                return(RedirectToAction("Index", "Home"));
            }
            ModelState.AddModelError("", "A problem occurred while saving beacon. Please try again later.");

            Danger(string.Format("<b>{0}</b> could not be edited", alterabeacon.beaconID), true);
            return(View(aaaa));
        }