public ActionResult Details(int id, BusinessAttachmentViewModels collection)
 {
     try
     {
         if (id > 0)
         {
             collection.UpdaterId = LogedInAdmin.Id;
             _businessAttachmentService.Delete(_mapper.Map <BusinessAttachment>(collection));
             return(RedirectToAction("Index", new { businessId = collection.BusinessId }));
         }
         ModelState.AddModelError(string.Empty, GeneralMessages.EmptyId);
         return(View(collection));
     }
     catch (Exception ex)
     {
         _logger.Error(ex);
         if (ex.InnerException != null && ex.InnerException.Source.Equals(GeneralMessages.ExceptionSource))
         {
             ModelState.AddModelError(string.Empty, ex.Message);
         }
         else
         {
             ModelState.AddModelError(string.Empty, GeneralMessages.UnexpectedError);
         }
         return(View(collection));
     }
 }
        public ActionResult Edit(int id, BusinessAttachmentViewModels collection)
        {
            try
            {
                if (id > 0)
                {
                    try
                    {
                        var info = new FileInfo(Server.MapPath(collection.Path));
                        collection.Size = Convert.ToInt32(info.Length);
                    }
                    catch
                    {
                        collection.Size = 0;
                    }

                    if (ModelState.IsValid)
                    {
                        collection.UpdaterId = LogedInAdmin.Id;
                        var model = _mapper.Map <BusinessAttachment>(collection);
                        model.UpdatedAt = DateTime.Now;
                        _businessAttachmentService.Update(model);
                        return(RedirectToAction("Index", new { businessId = collection.BusinessId }));
                    }
                    ModelState.AddModelError(string.Empty, GeneralMessages.DefectiveEntry);
                }
                else
                {
                    ModelState.AddModelError(string.Empty, GeneralMessages.EmptyId);
                }
                return(View(collection));
            }
            catch (Exception ex)
            {
                _logger.Error(ex);
                if (ex.InnerException != null && ex.InnerException.Source.Equals(GeneralMessages.ExceptionSource))
                {
                    ModelState.AddModelError(string.Empty, ex.Message);
                }
                else
                {
                    ModelState.AddModelError(string.Empty, GeneralMessages.UnexpectedError);
                }
                return(View(collection));
            }
        }
        public ActionResult Index(BusinessAttachmentViewModels collection)
        {
            long totalCount;
            var  request = new FilteredModel <BusinessAttachment>
            {
                PageIndex = collection.ThisPageIndex,
                Order     = collection.PageOrder,
                OrderBy   = collection.PageOrderBy
            };
            var offset = (request.PageIndex - 1) * request.PageSize;
            var result =
                _mapper.Map <IList <BusinessAttachmentViewModels> >(_businessAttachmentService.GetPaging(_mapper.Map <BusinessAttachment>(collection),
                                                                                                         out totalCount,
                                                                                                         request.OrderBy,
                                                                                                         request.Order,
                                                                                                         offset,
                                                                                                         request.PageSize));

            if (!result.Any() && totalCount > 0 && request.PageIndex > 1)
            {
                request.PageIndex = (int)(totalCount / request.PageSize);
                if (totalCount % request.PageSize > 0)
                {
                    request.PageIndex++;
                }
                result =
                    _mapper.Map <IList <BusinessAttachmentViewModels> >(_businessAttachmentService.GetPaging(_mapper.Map <BusinessAttachment>(collection),
                                                                                                             out totalCount,
                                                                                                             request.OrderBy,
                                                                                                             request.Order,
                                                                                                             offset,
                                                                                                             request.PageSize));
            }
            ViewBag.OnePageOfEntries = new StaticPagedList <BusinessAttachmentViewModels>(result, request.PageIndex, request.PageSize, (int)totalCount);
            ViewBag.SearchModel      = collection;
            return(View());
        }