public ActionResult Create()
        {
            RequestNotificationViewModel objRequestNotificationViewModel = new RequestNotificationViewModel();
            DataTable   dtContact      = new DataTable();
            UserDetails objUserDetails = new UserDetails();
            Category    objCategory    = new Category();

            dtContact = objUserDetails.GetCategory(null, null).Tables[0];
            IList <Category> items = dtContact.AsEnumerable().Select(row =>
                                                                     new Category
            {
                CatId         = row.Field <int>("CatId"),
                Name          = row.Field <string>("Name"),
                SubCategories = GetSubCate(row.Field <int>("CatId"))
            }).ToList();

            FillCityDrodown();
            objRequestNotificationViewModel.Categories = items;

            return(View(objRequestNotificationViewModel));
        }
        public ActionResult Create([Bind(Include = "CatId,SubCategoryId,MicrocategoryId,ContactId,Text,NotificationType,NotificationTitle,LocationId,NotificationPhoto,ProvdReqdsuggData,ModuleName,RedirectToType")] RequestNotificationViewModel reqSug)
        {
            if (ModelState.IsValid)
            {
                ContactSuggestion.Models.Source objSource = (ContactSuggestion.Models.Source)Session["UserDetails"];
                //  UserDetails objUserDetails = new UserDetails();
                //string deviceID = string.Empty;
                //string token = string.Empty;
                //string type = string.Empty;
                UserDetails objUserDetails  = new UserDetails();
                DataTable   dtDeviceDetails = new DataTable();
                DataTable   dtlocation      = new DataTable();
                DataTable   dtDeviceUIDList = new DataTable();
                dtDeviceDetails = objUserDetails.GetDeviceDetails(reqSug.ContactId);
                for (int i = 0; i < dtDeviceDetails.Rows.Count; i++)
                {
                    if (string.IsNullOrEmpty(reqSug.NotificationPhoto))
                    {
                        reqSug.NotificationPhoto = "http://tagaboutit.com/Images/phone-display-round-icon.png";
                    }
                    if (reqSug.NotificationType == "Ranking")
                    {
                        reqSug.RedirectTo = "http://tagaboutit.com/login/Ranking";
                    }
                    if (reqSug.NotificationType == "ReqAddSug")
                    {
                        reqSug.RedirectTo = "AddSugg";
                    }
                    if (reqSug.NotificationType == "ProvdReqdsugg")
                    {
                        reqSug.RedirectTo = reqSug.ProvdReqdsuggData;
                    }
                    if (reqSug.NotificationType == "Reqdsuggprovd")
                    {
                        reqSug.RedirectTo = "ViewSugg";
                    }
                    if (reqSug.NotificationType == "MyDetail")
                    {
                        reqSug.RedirectTo = "MyDetail";
                    }
                    if (reqSug.NotificationType == "ModYourSug")
                    {
                        reqSug.RedirectTo = "ViewSugg";
                    }

                    if (Convert.ToInt32(reqSug.RedirectToType) == 1)
                    {
                        reqSug.RedirectTo = reqSug.ModuleName;
                    }
                    if (objUserDetails.SaveNotificationForWebSend(reqSug.UID, reqSug.SubCategoryId, reqSug.MicrocategoryId, reqSug.ContactId, Convert.ToInt32(dtDeviceDetails.Rows[i]["UID"]), reqSug.Text, reqSug.NotificationType, false, reqSug.NotificationTitle, reqSug.LocationId, reqSug.NotificationPhoto, reqSug.RedirectTo, objSource.ContactId, Convert.ToInt32(reqSug.RedirectToType)))
                    {
                        TempData["Success"] = "Added Successfully!";
                        // deviceID = Convert.ToString(dtDeviceDetails.Rows[i]["DeviceID"]);
                        // type = Convert.ToString(dtDeviceDetails.Rows[i]["Type"]);
                        // token = Convert.ToString(dtDeviceDetails.Rows[i]["Token"]);
                        if (reqSug.NotificationType == "ProvdReqdsugg")
                        {
                            dtDeviceDetails = objUserDetails.GetSourcesToken().Tables[0];
                            dtDeviceUIDList = objUserDetails.GetSourcesToken().Tables[1];
                        }
                        else
                        {
                            dtDeviceDetails = objUserDetails.GetSourcesTokenByContactId(reqSug.ContactId).Tables[0];
                            dtDeviceUIDList = objUserDetails.GetSourcesTokenByContactId(reqSug.ContactId).Tables[1];
                        }
                        // string[] strSplit = Convert.ToString(dtDeviceDetails.Rows[0]["TokenList"]).Length > 0 ? Convert.ToString(dtDeviceDetails.Rows[0]["TokenList"]).Split('|') : null;
                        PushAndroidNotification(Convert.ToString(dtDeviceDetails.Rows[0]["TokenList"]), reqSug.CatId, reqSug.SubCategoryId, reqSug.MicrocategoryId, reqSug.LocationId, reqSug.NotificationTitle, reqSug.Text, Convert.ToString(dtDeviceUIDList.Rows[0]["UIDList"]));
                    }
                    else
                    {
                        TempData["Success"] = "Some issue found!";
                    }
                }
                if (dtDeviceDetails.Rows.Count == 0)
                {
                    TempData["Success"] = "No device registered for this contact.";
                }
            }
            RequestNotificationViewModel objRequestNotificationViewModel = new RequestNotificationViewModel();
            DataTable   dtContact             = new DataTable();
            UserDetails objUserDetailsForView = new UserDetails();
            Category    objCategory           = new Category();

            dtContact = objUserDetailsForView.GetCategory(null, null).Tables[0];
            IList <Category> items = dtContact.AsEnumerable().Select(row =>
                                                                     new Category
            {
                CatId         = row.Field <int>("CatId"),
                Name          = row.Field <string>("Name"),
                SubCategories = GetSubCate(row.Field <int>("CatId"))
            }).ToList();

            FillCityDrodown();
            objRequestNotificationViewModel.Categories = items;

            return(View(objRequestNotificationViewModel));
        }
 // GET: TicketNotification
 public ActionResult UpdateNotification(RequestNotificationViewModel request)
 {
     _iTicketNotification.UpdateTicketNotificationasRead(Convert.ToInt64(_sessionHandler.UserId), request.NotificationId);
     return(Json(new { status = "Success" }, JsonRequestBehavior.AllowGet));
 }