public void LoadServices(ref string sMsjError, ref CasesModel casesModel) { #region Local variables string sNombreTabla, sNombreSP; DbModel dbModel = new DbModel(); DbViewModel dbViewModel = new DbViewModel(); #endregion dbViewModel.GenerarDataTableParametros(ref dbModel); DataRow dr1 = dbModel.dtParametros.NewRow(); dr1["Nombre"] = "@id_area"; dr1["TipoDato"] = "9"; dr1["Valor"] = casesModel.IdServiceArea; dbModel.dtParametros.Rows.Add(dr1); sNombreTabla = (App.Current as App).TblServices.ToString(); sNombreSP = (App.Current as App).SpListServices.ToString(); dbViewModel.ExecuteFill(sNombreTabla, sNombreSP, ref dbModel); if (dbModel.sMsjError != string.Empty) { sMsjError = dbModel.sMsjError; } else { sMsjError = string.Empty; if (dbModel.DS.Tables[sNombreTabla].Rows.Count > 0) { casesModel.DataTableServices = dbModel.DS.Tables[sNombreTabla]; if (casesModel.ServicesList is null) { casesModel.ServicesList = new List <CasesModel>(); } else { casesModel.ServicesList.Clear(); } for (int i = 0; i < casesModel.DataTableServices.Rows.Count; i++) { CasesModel service = new CasesModel(); service.IdCaseService = Convert.ToInt16(casesModel.DataTableServices.Rows[i]["ID_SERVICIO"]); service.IdServiceArea = Convert.ToInt16(casesModel.DataTableServices.Rows[i]["ID_AREA"]); service.DescriptionCaseService = casesModel.DataTableServices.Rows[i]["NOMBRE"].ToString(); casesModel.ServicesList.Add(service); } } } }
public void LoadCasesStatus(ref string sMsjError, ref CasesModel casesModel) { #region Local variables string sNombreTabla, sNombreSP; DbModel dbModel = new DbModel(); DbViewModel dbViewModel = new DbViewModel(); #endregion dbViewModel.GenerarDataTableParametros(ref dbModel); sNombreTabla = (App.Current as App).TblStatus.ToString(); sNombreSP = (App.Current as App).SpListPossibleCaseStatus.ToString(); dbViewModel.ExecuteFill(sNombreTabla, sNombreSP, ref dbModel); if (dbModel.sMsjError != string.Empty) { sMsjError = dbModel.sMsjError; } else { sMsjError = string.Empty; if (dbModel.DS.Tables[sNombreTabla].Rows.Count > 0) { casesModel.DataTableStatus = dbModel.DS.Tables[sNombreTabla]; if (casesModel.StatusList is null) { casesModel.StatusList = new List <CasesModel>(); } else { casesModel.StatusList.Clear(); } for (int i = 0; i < casesModel.DataTableStatus.Rows.Count; i++) { CasesModel status = new CasesModel(); status.IdCaseStatus = Convert.ToInt16(casesModel.DataTableStatus.Rows[i]["ID_ESTADO"]); status.DescriptionCaseStatus = casesModel.DataTableStatus.Rows[i]["NOMBRE_ESTADO"].ToString(); casesModel.StatusList.Add(status); } } } }
public static async Task SendHandledAlert(Sender sender, string[] details) { CasesModel cases = new CasesModel() { AgentId = details[1], CaseId = details[0], Location = details[2], Village = details[3], VHTCode = details[4], Description = details[6] }; await sService.HandleAlert(sender, cases); if (sender.Response == "accept") { Respond?.Invoke(details); } }
private void CasesPage_AlertEvent(CasesModel arg2) { if (User.Rank == "1") { Sender sender = new Sender() { UserId = User.UserId, CaseId = arg2.CaseId, Response = "accept" }; string[] details = { arg2.CaseId, User.UserId, arg2.Location, arg2.Village, arg2.VHTCode, arg2.DateTime.ToString(), arg2.Description }; Dispatcher.Invoke(() => alertDialog.Visibility = Visibility.Visible); AcceptBtn.Click += delegate { Dispatcher.Invoke(async() => { alertDialog.Visibility = Visibility.Collapsed; ResponseView.Visibility = Visibility.Visible; browser.Visibility = Visibility.Collapsed; Response.NavigationService.Navigate(new ResponsePage(User, signalService, details)); timer.IsEnabled = false; timer.Stop(); await SendHandledAlert(sender, details); }); }; Decline.Click += delegate { alertDialog.Visibility = Visibility.Collapsed; timer.IsEnabled = false; count = 30; }; Dispatcher.Invoke(() => { timer = new DispatcherTimer(DispatcherPriority.Background); timer.Interval = TimeSpan.FromSeconds(1); timer.Tick += Timer_Tick; timer.Start(); }); } }
private async void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e) { ListView view = sender as ListView; string value = view.SelectedValue.ToString().Split(": ")[1]; string CaseID = view.Tag.ToString(); if (value == "Reinstate case") { int index = historyContext.Items.FindIndex(ag => ag.CaseId.Equals(CaseID, StringComparison.Ordinal)); if (historyContext.Items[index].Status != "Reinstated") { var alert = new CasesModel() { CaseId = CaseID, DateTime = DateTime.Now, Location = historyContext.Items[index].Location, VHTCode = historyContext.Items[index].VHTCode, Description = historyContext.Items[index].Description, Village = historyContext.Items[index].Village, Status = "pending" }; await sService.ReinstateCase(alert); historyContext.RefreshList(); } else { MessageBox.Show("Failed! Already reinstated"); } } else if (value == "Details") { int index = historyContext.Items.FindIndex(ag => ag.CaseId.Equals(CaseID, StringComparison.Ordinal)); HistoryModel hItem = new HistoryModel(); hItem = historyContext.Items[index]; historyItem?.Invoke(hItem); } }
public static async Task <int> ReinstateCase(CasesModel alert) { string CaseID = alert.CaseId.Split(": ")[1]; string village = alert.Village.Split(": ")[1]; string description = alert.Description.Split(": ")[1]; string sql = @$ "INSERT INTO active_cases(CaseId,Location,DateTime,VHTCode,Status,Village,Description) VALUES(@CaseId,@Location,@DateTime,@VHTCode,'pending', @Village,@Description) "; string update = @$ "UPDATE recent_activities SET Status='Reinstated' WHERE CaseId=@CaseId "; try { await DataAccess.SaveData <dynamic>(sql, new { CaseID, alert.Location, alert.DateTime, alert.VHTCode, village, description }, connectionString); } catch (Exception) { string sql2 = $"UPDATE active_cases SET Status='pending' WHERE CaseId='{CaseID}' "; await DataAccess.SaveData <dynamic>(sql2, new { }, connectionString); } return(await DataAccess.SaveData <dynamic>(update, new { CaseID }, connectionString)); }
public void CreateNewCase(ref string sMessage, ref CasesModel casesModel) { #region Local variables string sNombreSP, sResult = string.Empty; DbModel dbModel = new DbModel(); DbViewModel dbViewModel = new DbViewModel(); #endregion if (casesModel.IdCaseService == 0) { sMessage = "Por favor seleccione un tipo de caso"; } else if (casesModel.CaseTitle == string.Empty || casesModel.CaseTitle is null) { sMessage = "Por favor ingrese un tÃtulo para el caso"; } else if (casesModel.IdServiceArea == 1 && (casesModel.SuedPartyName == string.Empty || casesModel.SuedPartyName is null || casesModel.SuedPartyIdNumber == string.Empty || casesModel.SuedPartyIdNumber is null)) { sMessage = "Por favor ingrese los datos del demandado"; }
public Home(UserData Userinfo, string uri) { InitializeComponent(); try { User = Userinfo; this.uri = uri; Loaded += Home_Loaded; string NameChip = "Hi, " + User.Firstname + " " + User.Surname; stat = new StatusModel { UserId = User.UserId, Status = "Active" }; connection = new HubConnectionBuilder() .WithUrl(uri + "/updates") .Build(); connection.Closed += async(error) => { await Task.Delay(5000); await ServerConnect(); await signalService.SendStatus(stat); CloseHomeWindow?.Invoke(); }; this.StateChanged += Home_StateChanged; signalService = new ConnService(connection); signalService.StatusReceived += Cos_StatusReceived; signalService.AlertReceived += CasesPage_AlertEvent; Task.Run(async() => { await ServerConnect(); }); persons = new PersonnelInfoViewModel(); schedule = new SchedulePage(); paypage = new PaymentPage(); loadingWindow = new LoadingWindow(); signalService.NewUserSync += async(string id) => { await signalService.ConnectionSync(User.UserId); }; signalService.DisconnectUser += (string obj) => { Task.Run(async() => { await signalService.SendStatus(stat); await signalService.UpdateStatus(stat.Status, stat.UserId); }); }; LoadMap(); HistoryPage.historyItem += (HistoryModel obj) => { MainHolder.Visibility = Visibility.Visible; browser.Visibility = Visibility.Collapsed; Dispatcher.Invoke(() => MainHolder.NavigationService.Navigate(new CaseDetails(obj))); }; this.Closing += MainWindow_Closing; sService = signalService; Respond += (string[] details) => { Dispatcher.Invoke(() => { ResponseView.Visibility = Visibility.Visible; browser.Visibility = Visibility.Collapsed; var rpage = new ResponsePage(User, signalService, details); Response.NavigationService.Navigate(rpage); rpage.BtnClicked += (string obj) => { switch (obj) { case "Close": ResponseView.Visibility = Visibility.Collapsed; browser.Visibility = Visibility.Visible; RestoreButton.Visibility = Visibility.Visible; break; case "restart": CasesModel alert = new CasesModel() { DateTime = Convert.ToDateTime(details[5]), Location = details[2], VHTCode = details[4], Description = details[6], Village = details[3], Status = "ongoing", CaseId = details[0], Category = details[7] }; Dispatcher.Invoke(async() => { await signalService.RestartResponse(details[0]); }); break; case "completed": Dispatcher.Invoke(() => { RadWindow.Confirm("Are you sure you want to mark case as completed?", async delegate { await signalService.CompletedCase(details[0]); RadWindow.Alert("This case has been marked as completed.", MarkCaseCompleted); }); }); break; } }; }); }; } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public async Task ReinstateCase(CasesModel alert) { await _connection.SendAsync("Reinstate", alert); }
public async Task HandleAlert(Sender s, CasesModel cases) { await _connection.SendAsync("HandleAlertBroadcast", s, cases); }
/*refresh cases ledger on alert broadcast receive*/ private void SService_AlertReceived(CasesModel obj) { Items.Reload(User); CollectionViewSource.GetDefaultView(cases.ItemsSource).Refresh(); }