public HttpResponseMessage AddNewBusiness(BusinessVM _businessVM)
        {
            if (!IsTokenAuthenticated())
            {
                return(ResponseOutput());
            }
            else
            {
                _businessVM = _businessBLL.AddNewBusiness(_businessVM);

                if (_businessVM != null)
                {
                    String _JSONData = new JavaScriptSerializer().Serialize(_businessVM);
                    String _Message  = "\"status\":\"Success\",";
                    _success        = true;
                    _strJSONContent = Business_BLL.GenerateReturnJSONData(_JSONData, _Message);
                }
                else
                {
                    _strJSONContent.Append("{\"status\":\"Failed\"}");
                }
                return(ResponseOutput());
            }
        }
Example #2
0
        public async Task <HttpResponseMessage> AddNewBusiness()
        {
            if (IsTokenAuthenticated())
            {
                try
                {
                    string root = HttpContext.Current.Server.MapPath("~/App_Data");
                    //var provider = new MultipartFormDataStreamProvider(root);

                    var provider = await Request.Content.ReadAsMultipartAsync <InMemMultiFDSProvider>(new InMemMultiFDSProvider());

                    //access form data
                    BusinessVM          _businessVM = new BusinessVM();
                    NameValueCollection formData    = provider.FormData;

                    if (formData["BusinessName"] != null)
                    {
                        _businessVM.BusinessName = formData["BusinessName"];
                    }

                    if (formData["Latitude"] != null)
                    {
                        _businessVM.Latitude = formData["Latitude"];
                    }

                    if (formData["Longitude"] != null)
                    {
                        _businessVM.Longitude = formData["Longitude"];
                    }

                    if (formData["Location"] != null)
                    {
                        _businessVM.Location = formData["Location"];
                    }

                    if (formData["ContactNo"] != null)
                    {
                        _businessVM.ContactNo = formData["ContactNo"];
                    }

                    if (formData["Website"] != null)
                    {
                        _businessVM.Website = formData["Website"];
                    }

                    if (formData["StartTime"] != null)
                    {
                        _businessVM.StartTime = formData["StartTime"];
                    }

                    if (formData["EndTime"] != null)
                    {
                        _businessVM.EndTime = formData["EndTime"];
                    }

                    if (formData["Flavours"] != null)
                    {
                        _businessVM.Flavours = formData["Flavours"];
                    }

                    _businessVM.UserID = _userId;

                    _businessVM = _businessBLL.AddNewBusiness(_businessVM);

                    _businessVM.Reviews = "[]";

                    if (_businessVM != null)
                    {
                        if (provider.Files.Count > 0)
                        {
                            List <BusinessImageVM> lstBusinessImage = new List <BusinessImageVM>();

                            IList <HttpContent> files = provider.Files;

                            foreach (HttpContent fileHttpContent in provider.Files)
                            {
                                var thisFileName = fileHttpContent.Headers.ContentDisposition.FileName.Trim('\"');

                                string filename = String.Empty;
                                Stream input    = await fileHttpContent.ReadAsStreamAsync();

                                string directoryName = String.Empty;
                                string URL           = String.Empty;
                                string tempDocUrl    = ConfigurationManager.AppSettings["APIURL"];
                                string fileExtension = thisFileName.Substring(thisFileName.LastIndexOf(".") + 1);

                                var path = HttpRuntime.AppDomainAppPath;
                                directoryName = Path.Combine(path, "Uploads\\" + UserTypes.Business + "\\" + _businessVM.BusinessID);
                                filename      = Path.Combine(directoryName, thisFileName);

                                if (!Directory.Exists(directoryName))
                                {
                                    Directory.CreateDirectory(directoryName);
                                }

                                if (File.Exists(filename))
                                {
                                    File.Delete(filename);
                                }

                                using (Stream file = File.OpenWrite(filename))
                                {
                                    input.CopyTo(file);
                                    file.Close();
                                }

                                BusinessImageVM _businessImageVM = new BusinessImageVM {
                                    BusinessID = _businessVM.BusinessID, ImageName = thisFileName, ImageType = fileExtension, IsPremiumImage = false
                                };
                                _businessImageVM           = _businessBLL.AddBusinessImages(_businessImageVM);
                                _businessImageVM.ImagePath = tempDocUrl + "/Uploads/" + UserTypes.Business + "/" + _businessVM.BusinessID + "/" + thisFileName;

                                // Add To List
                                lstBusinessImage.Add(_businessImageVM);
                            }

                            _businessVM.Images = new JavaScriptSerializer().Serialize(lstBusinessImage);
                        }
                        else
                        {
                            _businessVM.Images = "[]";
                        }
                        JSONSuccessResult(_businessVM);
                    }
                    else
                    {
                        _strJSONContent.Append("{\"status\":\"Failed\"}");
                    }
                }
                catch (Exception ex)
                {
                    _Message = ex.Message;
                    _strJSONContent.Append("{\"status\":\"Failed\"}");
                }
                return(Common.ResponseOutput(_strJSONContent));
            }
            else
            {
                return(Common.ResponseOutput(_strJSONContent));
            }
        }