public DBResult GetAccessCounter(BurialModelAccessCounterInput model) { BurialModelAccessCounterOutput result = null; var hasError = false; var errorText = ""; try { if (!ModelState.IsValid && model == null) { hasError = true; } else { result = CEM_BurialApplication.GetAccessCounter(model.BurialApplication); } } catch (Exception e) { hasError = true; errorText = e.Message; } return(new DBResult { status = !hasError ? "Success" : "Fail", descripText = errorText, data = new BurialModelAccessCounterOutput { AccessCounter = result.AccessCounter, OtpDate = result.OtpDate } }); }
public DBResult BurialApp(BurialModelAccessCounterInput model) { DBResult result = null; var hasError = false; var errorText = ""; try { if (!ModelState.IsValid && model == null) { hasError = true; } else { result = CEM_BurialApplication.addAccessCounter(model); } } catch (Exception e) { hasError = true; errorText = e.Message; return(new DBResult { status = !hasError ? "Success" : "Fail", descripText = errorText, data = result.data }); } return(new DBResult { status = !hasError ? "Success" : "Fail", descripText = errorText, data = result.data }); }
public async Task <ReturnResult> BurialConfirmationAsync(long burialApplication) { var hasError = false; var burialApp = new BurialModelAccessCounterInput { BurialApplication = burialApplication, }; var httpClient = new HttpClient(); var stringContent = new StringContent(JsonConvert.SerializeObject(burialApp), Encoding.UTF8, "application/json"); var response = await httpClient.PostAsync(Constants.BaseApiAddress + "/api/BurialsApi/OtpDate", stringContent); if (!response.IsSuccessStatusCode) { hasError = true; } return(new ReturnResult { status = !hasError ? "Success" : "Fail", descripText = response.StatusCode.ToString() }); }
public static DBResult addAccessCounter(BurialModelAccessCounterInput input) { var hasError = false; var errorText = ""; try { var updateBurialApp = DataAccess.Context.CEM_BurialApplication.Find(input.BurialApplication); if (updateBurialApp == null) { return(new DBResult { status = "Fail", descripText = "Record not found!", success = false }); } else { updateBurialApp.AccessCount = (updateBurialApp.AccessCount ?? 0); updateBurialApp.AccessCount = updateBurialApp.AccessCount + 1;// input.AccessCounter; updateBurialApp.CemeterySupervisorId = input.CemeterySupervisorId; DataAccess.Context.SaveChanges(); } } catch (Exception ex) { hasError = true; errorText = ex.Message; return(new DBResult { status = !hasError ? "Success" : "Fail", descripText = errorText }); } return(new DBResult { status = !hasError ? "Success" : "Fail", descripText = errorText, data = new BurialModelAccessCounterOutput { AccessCounter = input.AccessCounter } }); }
private void HandleScanResult(ZXing.Result result, long?burialAppId) { if (result != null && !string.IsNullOrEmpty(result.Text)) // Success { int number; var resultValue = result.Text.TrimStart('0'); bool isNumber = int.TryParse(resultValue, out number); if (isNumber) { if (long.Parse(resultValue) == burialAppId || burialAppId == null) { var scannedItem = long.Parse(resultValue); var currentDateTime = DateTime.Now; ////check if burial application expired var expiredApplication = (from burial in _sqLiteConnection.Table <Burial>() where burial.BurialApplication.Equals(scannedItem) select burial).FirstOrDefault(); if (expiredApplication == null) { Application.Current.MainPage.DisplayAlert("Warning", "Either the application expired or does not exist, Contact the municipality.", "OK"); } else { if (expiredApplication.OptDate == null) //proceed { var supervisorId = SupervisorId; if (true) //todo: vaidate cemetery check ... { var qBurials = from row in _sqLiteConnection.Table <Burial>() where row.BurialApplication == scannedItem select new BurialModelAccessCounterOutput() { AccessCounter = row.AccessCounter, OtpDate = row.OptDate, DeceasedDetails = row.DeceasedDetails }; var r = qBurials.FirstOrDefault(); if (r == null) { Application.Current.MainPage.DisplayAlert("Error", "Error api connection", "OK"); } else { var burialAppEdit = new BurialModelAccessCounterInput { BurialApplication = scannedItem, CemeterySupervisorId = (int?)supervisorId }; var query = (from row in _sqLiteConnection.Table <Burial>() where row.BurialApplication == burialAppEdit.BurialApplication select row).FirstOrDefault(); query.AccessCounter = query.AccessCounter + 1; _sqLiteConnection.ExecuteScalar <Burial>( "UPDATE Burial Set AccessCounter = ? WHERE BurialApplication = ?", query.AccessCounter, query.BurialApplication); _burialOutPut = new BurialModelOutPut() { Undertaker = query.Undertaker, AccessCount = query.AccessCounter, BurialApplication = query.BurialApplication, CemeteryId = _supervisor.CemeteryId, DeceasedDetails = query.DeceasedDetails, SupervisorId = query.CemeterySupervisorId, Name = _supervisor.Name, Surname = _supervisor.Surname, SupervisorName = _supervisor.Fullname, Cemetery = query.Cemetery }; } } } else { if (expiredApplication.OptDate == null) { Application.Current.MainPage.DisplayAlert("Warning", "Access Code " + expiredApplication.BurialApplication + " expired.", "OK"); return; } var otpDate = (DateTime)expiredApplication.OptDate; Application.Current.MainPage.DisplayAlert("Warning", "Access Code " + expiredApplication.BurialApplication + " expired. " + expiredApplication.OptDate + " (" + (currentDateTime - otpDate).Days + " day ago)", "OK"); } } } else { Application.Current.MainPage.DisplayAlert("Error", "access denied", "OK"); } } else { Application.Current.MainPage.DisplayAlert("Error", "Scanned code not allowed!", "OK"); } } else // Canceled { Reload(); } }