public async Task<ActionResult> InsertNews()
        {
            return await Task.Run(() =>
            {
                ViewBag.Message = "Insert new news.";
                var stateNews = new CreateStateNews();
                stateNews.States.AddRange(StateCodeBL.Instance.SelectStates());

                return View(stateNews);
            });
        }
        public async Task<ActionResult> InsertNews(CreateStateNews newForInsert)
        {
           
            return await Task.Run(() =>
            {
                var dbHelprer = DBHelper.Instance;
                var BLInstance = StateNewsBL.Instance;
                dbHelprer.BeginTransaction();

                try
                {
                    if (ModelState.IsValid)
                    {
                        var news = new StateNews
                        {
                            Heading = newForInsert.Heading.Trim(),
                            ShortDescription = newForInsert.ShortDesc.Trim(),
                            NewsDescription = string.IsNullOrEmpty(newForInsert.Description) ? string.Empty : newForInsert.Description.Trim(),
                            StateCode = newForInsert.StateCode,
                            IsTopNews = newForInsert.IsTopTenNews ? 1 : 0,
                            IsActive = 0,
                            IsApproved = 0
                        };

                        var image = new ImageDetail
                        {
                            ImageType = (int)ImageType.TopNewsImage,
                            ImageUrl = " ",
                            Caption = newForInsert.Caption,
                            CaptionLink = newForInsert.CaptionLink,
                            IsActive = 0,
                            IsFirst = 0
                        };

                        var fileName = string.Empty;
                        if (newForInsert.Image != null && newForInsert.Image.ContentLength > 0)
                        {
                            fileName = new Random().Next(1000000000).ToString() + Path.GetFileName(newForInsert.Image.FileName);
                            image.ImageUrl = ImagePath.TopTenNewsImage + "/" + fileName;
                            image.IsActive = 1;
                            image.IsFirst = 1;
                        }

                        string dirPath = ImagePath.StateNewsImage;
                        var user = (IUsers)this.Session[Constants.UserSessionKey];
                        BLInstance.Insert(ref dbHelprer, news, image, user);

                        if (SaveImage(ImagePath.StateNewsImage, fileName, newForInsert.Image))
                        {
                            newForInsert = new CreateStateNews();
                            newForInsert.States.AddRange(StateCodeBL.Instance.SelectStates());
                            ViewBag.Message = "Successfully Inserter.";
                            ModelState.Clear();
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("INSERT", "Oops ! There is some error.");
                        ViewBag.Message = "Oops ! There is some error.";
                    }

                    dbHelprer.CommitTransaction();
                    return View(newForInsert);
                }
                catch (Exception ex)
                {
                    dbHelprer.RollbackTransaction();
                    throw ex;
                }
                finally
                {
                    dbHelprer.Dispose();
                    BLInstance.Dispose();
                }
            });
        }