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)); }
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)); }