Example #1
0
        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);
                    }
                }
            }
        }
Example #2
0
        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);
                    }
                }
            }
        }
Example #3
0
        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);
            }
        }
Example #4
0
        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();
                });
            }
        }
Example #5
0
        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);
            }
        }
Example #6
0
        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));
        }
Example #7
0
        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";
            }
Example #8
0
        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);
            }
        }
Example #9
0
 public async Task ReinstateCase(CasesModel alert)
 {
     await _connection.SendAsync("Reinstate", alert);
 }
Example #10
0
 public async Task HandleAlert(Sender s, CasesModel cases)
 {
     await _connection.SendAsync("HandleAlertBroadcast", s, cases);
 }
Example #11
0
 /*refresh cases ledger on alert broadcast receive*/
 private void SService_AlertReceived(CasesModel obj)
 {
     Items.Reload(User);
     CollectionViewSource.GetDefaultView(cases.ItemsSource).Refresh();
 }