public async Task <ActionResult> SearchTag(MacAddressModel mac) { if (ModelState.IsValid) { List <WhereOSApiRuuvi> apiResponse = await GetTagData(mac.GetAddress()); if (apiResponse.Count == 0) { ModelState.AddModelError("MacAddress", "No data found, check RuuviTag ID. See Help -section for more information."); return(View("Index", mac)); } List <UnpackData> lstapiData = new List <UnpackData>(); foreach (WhereOSApiRuuvi apiRuuviTag in apiResponse) { UnpackData ApiRowData = new UnpackData(); UnpackRawData RawDataRow = new UnpackRawData(); RawDataRow.UnpackAllData(apiRuuviTag.data); ApiRowData.Data = RawDataRow; ApiRowData.Time = apiRuuviTag.time; lstapiData.Add(ApiRowData); } TempData["UnpackedTagData"] = lstapiData; return(RedirectToAction("Index", "Home", new { tagMac = mac.GetAddress() })); } return(View("Index", mac)); }
public async Task <ActionResult> Index(string tagMac) { ViewBag.ShowRegisterModal = TempData["ShowRegisterModal"]; ViewBag.LoginProvider = TempData["LoginProvider"]; ViewBag.ShowAddTag = TempData["ShowAddTag"]; ViewBag.ShowTagSettings = TempData["ShowTagSettings"]; ViewBag.TagErrors = TempData["TagErrorList"]; ViewBag.GeneralError = TempData["GeneralError"]; string userID = string.Empty; if (!string.IsNullOrWhiteSpace(tagMac) && !Request.IsAuthenticated) { if (TempData["UnpackedTagData"] != null) { ViewBag.TagData = TempData["UnpackedTagData"]; } else { var mac = new MacAddressModel { MacAddress = tagMac }; var context = new ValidationContext(mac); var results = new List <ValidationResult>(); var isValid = Validator.TryValidateObject(mac, context, results, true); if (isValid) { return(await SearchTag(mac)); } foreach (var e in results) { ModelState.AddModelError("MacAddress", e.ErrorMessage); } return(View(mac)); } } else if (Request.IsAuthenticated) { userID = User.Identity.GetUserId(); List <RuuviTagModel> userTags = await GetUserTagsAsync(userID); ViewBag.UserTagsList = userTags; ViewBag.UserGroups = await GetUsersGroupsAsync(userID); ViewBag.UserHasEmail = db.Users.Find(userID).Email != null; if (TempData["ReturnToTag"] is int id) { ViewBag.ReturnToTag = id; ViewBag.SetDisplay = userTags.Where(t => t.TagId == id).Select(d => d.TagName ?? d.TagMacAddress); } // Add error message in case user hasn't added any tags if (userTags == null || !userTags.Any() || userTags.Count == 0) { ViewBag.UserTagsListError = "Zero RuuviTags saved."; } } if (TempData["TagModel"] is AddTagModel addTag) { foreach (var e in ViewBag.TagErrors) { ModelState.AddModelError(string.Empty, e); } return(View(addTag)); } else if (TempData["TagModel"] is RuuviTagModel tag) { foreach (var e in ViewBag.TagErrors) { ModelState.AddModelError("TagName", e); } ViewBag.AvailableGroups = await GetAvailableGroupsForTag(tag.TagId, userID); ViewBag.Id = tag.TagId; return(View(tag)); } return(View()); }
public async Task <HttpRequestResult <PackingListViewInfoModel> > DeletePackingListDelivery(int packingListDeliveryId, MacAddressModel macAddress) { return(await DeleteAsyncReceiveData <PackingListViewInfoModel>( $"{ApiController}/packing-list-delivery/{packingListDeliveryId}/{macAddress}")); }
public async Task <HttpRequestResult <PackingListViewInfoModel> > ClosePackingListAccessory(int packingListAccessoryId, MacAddressModel macAddress) { return(await GetAsyncAuthenticatedData <PackingListViewInfoModel>( $"{ApiController}/close-packing-list-accessory/{packingListAccessoryId}/{macAddress}")); }