public ActionResult Create(Business model, IEnumerable<HttpPostedFileBase> attachments)
        {
            var cusr = Session["_CUSR"] as SessionUser;
            if (cusr == null) throw new ArgumentException("SessionUser");

            model.added_by = (byte)cusr.ID;
            model.added_on = DateTime.Now;

            try
            {
                if (attachments != null)
                {
                    foreach (var item in attachments)
                    {
                        if (item != null && item.ContentLength > 0)
                        {
                            var filename = Path.GetFileName(item.FileName).ToLower();
                            var dirpath = "~/Uploads/Business/" + GetFolderName(model);
                            var directory = Server.MapPath(dirpath);

                            if (!Directory.Exists(directory))
                                Directory.CreateDirectory(directory);

                            string path = Path.Combine(directory, filename);
                            string relPath = Path.Combine(dirpath, filename);
                            item.SaveAs(path);

                            model.Attachments.Add(new ProspectRealEstate.Web.Models.Attachment()
                            {
                                added_by = (byte)cusr.ID,
                                added_on = DateTime.Now,
                                Business = model,
                                file_location = relPath,
                                type = "image"
                            });
                        }
                    }
                }

                ModelState.Remove("Attachments");

                if (ModelState.IsValid)
                {
                    repository.InsertOrUpdate(model);
                    repository.SubmitChanges();
                    return RedirectToAction("Edit", new { id = model.ID });
                }
                else
                {
                    return View();
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
 private void SetViewBag(Business model = null)
 {
     if (model == null)
     {
         this.SetLocationsViewBag(null, null, null);
         this.SetCategoriesViewBag(null);
         this.SetAgentsViewBag(null);
     }
     else
     {
         this.SetLocationsViewBag(model.suburb_id, model.state_id, model.country_id);
         this.SetCategoriesViewBag(model.category_id);
         this.SetAgentsViewBag(model.agent_id);
     }
 }
 public ActionResult Create()
 {
     var model = new Business();
     SetViewBag(model);
     return View(model);
 }
 private string GetFolderName(Business model)
 {
     return model.business_code;
 }