public static AlertProviderRespObj LoadNewAlertProviders(AlertProviderSearchObj regObj, string username)
        {
            var response = new AlertProviderRespObj
            {
                Status = new APIResponseStatus
                {
                    IsSuccessful = false,
                    Message      = new APIResponseMessage(),
                },
            };

            try
            {
                var apiResponse = new APIHelper(APIEndpoints.LOAD_NEW_ALERT_PROVIDERS_ENDPOINT, username, Method.POST).ProcessAPI <AlertProviderSearchObj, AlertProviderRespObj>(regObj, out var msg);
                if (msg.Code == 0 && string.IsNullOrEmpty(msg.TechMessage) && string.IsNullOrEmpty(msg.Message))
                {
                    return(apiResponse);
                }

                response.Status.Message.FriendlyMessage  = msg.Message;
                response.Status.Message.TechnicalMessage = msg.TechMessage;
                return(response);
            }
            catch (Exception ex)
            {
                UtilTools.LogE(ex.StackTrace, ex.Source, ex.GetBaseException().Message);
                response.Status.Message.FriendlyMessage  = "Error Occurred! Please try again later";
                response.Status.Message.TechnicalMessage = "Error: " + ex.GetBaseException().Message;
                return(response);
            }
        }
        public ActionResult Index()
        {
            try
            {
                var userData = MvcApplication.GetUserData(User.Identity.Name);
                if (userData == null || userData.UserId < 1)
                {
                    ViewBag.Error = "Session Has Expired! Please Re-Login";
                    return(View(new List <AlertProviderObj>()));
                }

                if (Session["_AlertProviderList_"] is List <AlertProviderObj> mylist && mylist.Any())
                {
                    return(View(mylist));
                }

                var searchObj = new AlertProviderSearchObj
                {
                    AdminUserId     = userData.UserId,
                    AlertProviderId = 0,
                    Status          = 0
                };

                var retVal = AlertProviderService.LoadAlertProviders(searchObj, userData.Username);
                if (retVal?.Status == null)
                {
                    ViewBag.Error = "AlertProvider list is empty!";
                    return(View(new List <AlertProviderObj>()));
                }

                if (!retVal.Status.IsSuccessful)
                {
                    ViewBag.Error = string.IsNullOrEmpty(retVal.Status.Message.FriendlyMessage)
                        ? " AlertProvider list is empty!"
                        : retVal.Status.Message.FriendlyMessage;
                    return(View(new List <AlertProviderObj>()));
                }
                if (retVal.AlertProviders == null || !retVal.AlertProviders.Any())
                {
                    ViewBag.Error = "AlertProvider list is empty!";
                    return(View(new List <AlertProviderObj>()));
                }

                //Order By AlertProvider Name
                var AlertProviders = retVal.AlertProviders.OrderBy(m => m.Name).ToList();
                Session["_AlertProviderList_"] = AlertProviders;
                return(View(AlertProviders));
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.Message;
                UtilTools.LogE(ex.StackTrace, ex.Source, ex.Message);
                return(View(new List <AlertProviderObj>()));
            }
        }
        public ActionResult LoadNewAlertProviders()
        {
            var add = new NameValueObject {
                Id = 0, Name = "-- Empty Provider List --"
            };

            try
            {
                var userData = MvcApplication.GetUserData(User.Identity.Name);
                if (userData == null || userData.UserId < 1)
                {
                    return(Json(new List <NameValueObject> {
                        add
                    }, JsonRequestBehavior.AllowGet));
                }

                var searchObj = new AlertProviderSearchObj
                {
                    AdminUserId = userData.UserId,
                };

                var retVal = AlertProviderService.LoadNewAlertProviders(searchObj, userData.Username);
                if (retVal?.Status == null)
                {
                    return(Json(new List <NameValueObject> {
                        add
                    }, JsonRequestBehavior.AllowGet));
                }

                if (!retVal.Status.IsSuccessful)
                {
                    return(Json(new List <NameValueObject> {
                        add
                    }, JsonRequestBehavior.AllowGet));
                }

                if (!retVal.AlertProviders.Any())
                {
                    return(Json(new List <NameValueObject> {
                        add
                    }, JsonRequestBehavior.AllowGet));
                }

                var parentTabs = retVal.AlertProviders.Where(c => c.Status == 1).OrderBy(c => c.AlertProviderId);
                add = new NameValueObject {
                    Id = 0, Name = "-- Select Provider  --"
                };

                var jsonitem = parentTabs.Select(o => new NameValueObject {
                    Id = o.AlertProviderId, Name = o.Name
                }).ToList();
                jsonitem.Insert(0, add);
                return(Json(jsonitem, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                UtilTools.LogE(ex.StackTrace, ex.Source, ex.Message);
                return(Json(new List <NameValueObject> {
                    add
                }, JsonRequestBehavior.AllowGet));
            }
        }