// GET: /User/Create
        public ActionResult Create(int userID)
        {
            UserDetailViewModel user = new UserDetailViewModel();
            user.CreatedBy = userID;
            user.UpdatedBy = userID;
            user.UserId = userID;
            user.CheckIfSeller = true;
            user.FirstName = db.UserProfiles.Where(x => x.UserId.Equals(userID)).First().FirstName.ToString();// System.Web.HttpContext.Current.Session["FirstName"].ToString();

            user.CountryDDList = dbmeals.LKUPCountries.ToList().Select(x => new SelectListItem
            {
                Value = x.CountryID.ToString(),
                Text = x.Country.ToString()
            });

            user.KitchenTypeDDList = dbmeals.LKUPKitchenTypes.ToList().Select(x => new SelectListItem
            {
                Value = x.KitchenTypeID.ToString(),
                Text = x.Name.ToString()
            });

            return View(user);
        }
        public ActionResult Create(UserDetailViewModel userinfovm, HttpPostedFileBase Photo)
        {
            if (!userinfovm.CheckIfSeller)
            {
                ModelState.Remove("KitchenTypeID");
                ModelState.Remove("KitchenName");
            }
            if (ModelState.IsValid)
            {

                var fileName = "";

                // Verify that the user selected a file
                if (Photo != null && Photo.ContentLength > 0)
                {
                    // extract only the fielname
                    fileName = "Profilephoto" + userinfovm.UserId + Path.GetExtension(Photo.FileName);
                    //   .GetFileName(Photo.FileName).;
                    // store the file inside ~/App_Data/uploads folder
                    var path = Path.Combine(Server.MapPath("~/ProfilePhotos"), fileName);
                    Photo.SaveAs(path);
                    try
                    {
                        Image.FromFile(fileName);
                    }
                    catch (Exception e1)
                    {
                        ModelState.AddModelError("", "Please browse Image only.");

                    }
                    userinfovm.Photo = fileName;
                }
                try
                {

                    string Country = dbmeals.LKUPCountries.Where(x => x.CountryID == userinfovm.Address.CountryID).First().Country;
                    string address = userinfovm.Address.Address1 + "," + userinfovm.Address.Telephone + "," + userinfovm.Address.Address2 + "," + userinfovm.Address.City + "," + userinfovm.Address.Province + "," + userinfovm.Address.Zip + "," + Country;

                    GLatLong latlng = GetLatLng(address);
                    userinfovm.Address.Latitude = (decimal)latlng.Latitude;
                    userinfovm.Address.Longitude = (decimal)latlng.Longitude;
                    // userinfo.AddressList.DateCreated = DateTime.Now;

                    AddressList addr = Mapper.Map<AddressViewModel, AddressList>(userinfovm.Address);
                    addr.UserId = userinfovm.UserId;
                    addr.DateCreated = DateTime.Now;
                    addr.Telephone = userinfovm.Address.Telephone;
                    dbmeals.AddressLists.Add(addr);
                    dbmeals.SaveChanges();

                    if (userinfovm.CheckIfSeller)
                        userinfovm.IsSeller = 1;
                    else
                        userinfovm.IsSeller = 0;

                    UserDetail userinfo = Mapper.Map<UserDetailViewModel, UserDetail>(userinfovm);
                    userinfo.KitchenTypeID = userinfovm.KitchenTypeID;
                    userinfo.KitchenName = userinfovm.KitchenName;

                    int last_insert_id = addr.AddressID;
                    userinfo.AddressID = last_insert_id;
                    userinfo.DateCreated = DateTime.Now;

                    dbmeals.UserDetails.Add(userinfo);
                    dbmeals.SaveChanges();

                }
                catch (DbEntityValidationException dbmealsEx)
                {
                    foreach (var validationErrors in dbmealsEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                        }
                    }
                }
                // redirect back to the index action to show the form once again

                //  return RedirectToAction("InviteYourConnections", "User", new { userid = userinfovm.UserId });
                return RedirectToAction("Details", "User", new { userid = userinfovm.UserId });

            }
            else
            {
                userinfovm.CountryDDList = dbmeals.LKUPCountries.ToList().Select(x => new SelectListItem
                {
                    Value = x.CountryID.ToString(),
                    Text = x.Country.ToString()
                });

                userinfovm.KitchenTypeDDList = dbmeals.LKUPKitchenTypes.ToList().Select(x => new SelectListItem
                {
                    Value = x.KitchenTypeID.ToString(),
                    Text = x.Name.ToString()
                });

                return View(userinfovm);
            }
            //return View(userinfovm);
        }