public async Task <ActionResult> Edit(AdvertisementVm data, HttpPostedFileBase advertisementImage, HttpPostedFileBase vAdvertisementImage)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (_db = new DBEntities())
                    {
                        var advertisement = await _db.Advertisements.FindAsync(data.AdvertisementId);

                        if (advertisement == null)
                        {
                            ModelState.AddModelError(ErrorMessage.DataNotFound, ErrorMessage.DataNotFound);
                        }
                        else
                        {
                            if (advertisementImage != null)
                            {
                                var virtualPath  = StaticValues.AdvertisementImagePath;
                                var physicalPath = Server.MapPath(virtualPath);
                                advertisement.HImageUrl = Utilities.SaveFile(advertisementImage, virtualPath, physicalPath, !string.IsNullOrWhiteSpace(advertisement.HImageUrl) ? string.Concat(physicalPath, advertisement.HImageUrl) : string.Empty);
                            }

                            if (vAdvertisementImage != null)
                            {
                                var virtualPath  = StaticValues.AdvertisementImagePath;
                                var physicalPath = Server.MapPath(virtualPath);
                                advertisement.VImageUrl = Utilities.SaveFile(vAdvertisementImage, virtualPath, physicalPath, !string.IsNullOrWhiteSpace(advertisement.HImageUrl) ? string.Concat(physicalPath, advertisement.VImageUrl) : string.Empty);
                            }
                            advertisement.LinkUrl          = data.LinkUrl;
                            _db.Entry(advertisement).State = EntityState.Modified;
                            await _db.SaveChangesAsync();

                            TempData["Success"] = SuccessMessage.Updated;
                            return(RedirectToAction("Index", "Advertisement", new { area = "ControlPanel", id = data.AdvertisementId }));
                        }
                    }
                }
            }
            catch (Exception e)
            {
                TempData["Error"] = e.Message;
            }
            return(View("Index", await GetModelData(data.AdvertisementId)));
        }
        public async Task <ActionResult> Add(AdvertisementVm data, HttpPostedFileBase advertisementImage, HttpPostedFileBase vAdvertisementImage)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (_db = new DBEntities())
                    {
                        var imageName = string.Empty;
                        if (advertisementImage != null)
                        {
                            var virtualPath  = StaticValues.AdvertisementImagePath;
                            var physicalPath = Server.MapPath(virtualPath);
                            imageName = Utilities.SaveFile(advertisementImage, virtualPath, physicalPath, string.Empty);
                        }

                        var VimageName = string.Empty;
                        if (vAdvertisementImage != null)
                        {
                            var virtualPath  = StaticValues.AdvertisementImagePath;
                            var physicalPath = Server.MapPath(virtualPath);
                            VimageName = Utilities.SaveFile(vAdvertisementImage, virtualPath, physicalPath, string.Empty);
                        }

                        var advertisement = new Advertisement
                        {
                            LinkUrl   = data.LinkUrl,
                            HImageUrl = imageName,
                            VImageUrl = VimageName
                        };

                        _db.Entry(advertisement).State = EntityState.Added;
                        await _db.SaveChangesAsync();
                    }

                    TempData["Success"] = SuccessMessage.Added;
                    return(RedirectToAction("Index", "Advertisement", new { area = "ControlPanel" }));
                }
            }
            catch (Exception e)
            {
                TempData["Error"] = e.Message;
            }
            return(View("Index", await GetModelData(0)));
        }