示例#1
0
        public ActionResult _EditAlertType(int id)
        {
            try
            {
                ViewBag.Error        = "";
                ViewBag.SessionError = "";
                var userData = MvcApplication.GetUserData(User.Identity.Name) ?? new UserData();
                if (userData.UserId < 1)
                {
                    ViewBag.SessionError = "Your session has expired! Please re-login";
                    return(View(new AlertTypeObj()));
                }
                if (id < 1)
                {
                    ViewBag.Error = "Invalid selection";
                    return(View(new AlertTypeObj()));
                }

                if (!(Session["_AlertTypeList_"] is List <AlertTypeObj> AlertTypeList) || AlertTypeList.Count < 1)
                {
                    ViewBag.Error = "Error Occurred! Unable to process selected item";
                    return(View(new AlertTypeObj()));
                }

                var AlertType = AlertTypeList.Find(m => m.AlertTypeId == id);
                if (AlertType == null || AlertType.AlertTypeId < 1)
                {
                    ViewBag.Error = "Error Occurred! Unable to process selected item";
                    return(View(new AlertTypeObj()));
                }

                Session["_CurrentSelAlertType_"] = AlertType;

                AlertType.StatusVal = AlertType.Status == 1;
                return(View(AlertType));
            }
            catch (Exception ex)
            {
                ViewBag.Error = "Error Occurred! Please try again later";
                UtilTools.LogE(ex.StackTrace, ex.Source, ex.Message);
                return(View(new AlertTypeObj()));
            }
        }
        // Metodo que carga la data de actividades de usuarios
        public async Task LoadData()
        {
            try
            {
                var tasks = new List <Task>
                {
                    LoadAlerts(),
                    LoadAlertTypes(),
                    LoadUsers()
                };
                await Task.WhenAll(tasks);
                await ClearList();

                IndexPick = -1;
                Group     = false;
                var query = from x in listActivity
                            orderby x.Date descending
                            select new CompleteAlertModel
                {
                    Alert_ID        = x.Alert_ID,
                    Alert_type_Name = AlertTypeList.Where(y => y.Alert_type_ID == x.Alert_type_ID).Select(z => z.Name).FirstOrDefault(),
                    User_Name       = userLis.Where(y => y.User_ID == x.User_ID).Select(z => z.Name).FirstOrDefault(),
                    Longitude       = x.Longitude,
                    Latitude        = x.Latitude,
                    Date            = x.Date,
                    Message         = x.Message
                };
                foreach (var item in query)
                {
                    ListToShow.Add(item);
                }
            }
            catch (Exception ex)
            {
                DependencyService.Get <IMessage>().LongAlert(ex.Message);
            }
        }
        private async Task FilterList()
        {
            try
            {
                if (alertTypeSelected != null)
                {
                    await ClearList();

                    await Task.Run(() =>
                    {
                        var query = from x in listActivity
                                    where x.Alert_type_ID == alertTypeSelected.Alert_type_ID
                                    orderby x.Date descending
                                    select new CompleteAlertModel
                        {
                            Alert_ID        = x.Alert_ID,
                            Alert_type_Name = AlertTypeList.Where(y => y.Alert_type_ID == x.Alert_type_ID).Select(z => z.Name).FirstOrDefault(),
                            User_Name       = userLis.Where(y => y.User_ID == x.User_ID).
                                              Select(z => z.Name).FirstOrDefault(),
                            Longitude = x.Longitude,
                            Latitude  = x.Latitude,
                            Date      = x.Date,
                            Message   = x.Message
                        };
                        foreach (var item in query)
                        {
                            ListToShow.Add(item);
                        }
                    });
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }