Пример #1
0
        public async Task<ActionResult> AddEditListing(int id = 0)
        {
            var listingViewModel = new ListingViewModel();
            ContactViewModel listingContact = new ContactViewModel();
            listingContact.ContactNo = 9988765432;
            listingContact.ContactTypeId = (int)ListingContactType.Landline;
            listingViewModel.ListingContacts.Contacts.Add(listingContact);
            listingViewModel.ActionName = "AddEditListing";
            listingViewModel.ControllerName = "Vendor";
            listingViewModel.FormId = "listingForm";
            listingViewModel.FormSuccessCallBack = "addEditListing.onAddEditListingSuccessCallBack";
            var client = TMCHttpClient.GetClient(User.AccessToken());
            if (id > 0)
            {
                HttpResponseMessage contentResponse = await client.GetAsync("api/listing/" + id);
                if (contentResponse.IsSuccessStatusCode)
                {
                    string content = await contentResponse.Content.ReadAsStringAsync();
                    var cotentResult = JsonConvert.DeserializeObject<ListingViewModel>(content);
                    listingViewModel = cotentResult;
                }
                else
                {
                    return Content("An error occurred while fetching the data.");
                }
                
                //listing contacts
                HttpResponseMessage contentContactsResponse = await client.GetAsync("api/listing/" + id+"/contacts");
                if (contentContactsResponse.IsSuccessStatusCode)
                {
                    string content = await contentContactsResponse.Content.ReadAsStringAsync();
                    var cotentResult = JsonConvert.DeserializeObject<ListingViewModel>(content);
                    listingViewModel.ListingContacts = cotentResult.ListingContacts;
                }
            }



            //listing category 
            listingViewModel.ListingCategories.CategorySaytListing = new CategorySaytViewModel();
            listingViewModel.ListingCategories.CategorySaytListing.ControlId = "ddlAddCategories";
            //todo get the url from here 
            //listingViewModel.ListingCategories.CategorySaytListing.AjaxGetUrl = "";
            listingViewModel.ListingCategories.CategorySaytListing.HtmlFieldPrefix = "CategorySaytHome";
            listingViewModel.ListingCategories.CategorySaytListing.SelectCallBack = "addEditListing.onSelectedCategoryCallBack"; 

            //listing Service Area
            listingViewModel.ListingServiceLocations.CitySaytListing = new CitySaytViewModel();
            listingViewModel.ListingServiceLocations.CitySaytListing.ControlId = "ddlAddCities"; 
            listingViewModel.ListingServiceLocations.CitySaytListing.HtmlFieldPrefix = "CirySaytListingServiceArea";
            listingViewModel.ListingServiceLocations.CitySaytListing.SelectCallBack = "addEditListing.onSelectedAddCityCallBack"; 
           //todo sometimes the city api call it was going to make is like this vendor/api/coty/{searchStr} so breaks , need to have a look
            // listingViewModel.ListingServiceLocations.CitySaytListing.AjaxGetUrl 
           //     = Url.RouteUrl("DefaultApi", new { httproute="", controller="city"  }); 


            return View("AddEditListing", listingViewModel);
        }
Пример #2
0
        public System.Web.Http.IHttpActionResult Get(int id, string fields = null)
        {
            var listingFacade = (IListingFacade)FacadeFactory.Instance.Create(FacadeType.Listing);
            var userFacade = (IUserFacade)FacadeFactory.Instance.Create(FacadeType.User);
            var vendorResult = userFacade.GetUserById(1); //todo
            var vendorViewModel = new UserViewModel();
            if (vendorResult.IsValid())
            {
                //todo check if the data is valid
                var listingViewModel = new ListingViewModel();

               // var listingResult = listingFacade.GetlistingById(1);// todo

                // DTOConverter.FillViewModelFromDTO(listingViewModel, listingResult.Data );
               // DTOConverter.FillViewModelFromDTO(vendorViewModel, vendorResult.Data);
                vendorViewModel.AddressLine1 = vendorResult.Data.AddressLine1;
                vendorViewModel.AddressLine2 = vendorResult.Data.AddressLine2;
                vendorViewModel.UserName = vendorResult.Data.UserName;
                vendorViewModel.FirstName = vendorResult.Data.FirstName;
               // listingViewModel.Owner = vendorViewModel;
            }

            return Ok(vendorViewModel);
        }
Пример #3
0
 public IHttpActionResult GetListingById(int id)
 {
     var listingFacade = (IListingFacade)FacadeFactory.Instance.Create(FacadeType.Listing);
     var listingResult = listingFacade.GetlistingById(id);
     var listingViewModel = new ListingViewModel();
     if (listingResult.IsValid())
     {
         DTOConverter.FillViewModelFromDTO(listingViewModel, listingResult.Data);
     }
     return Ok(listingViewModel);
 }
Пример #4
0
 public IHttpActionResult PostListings(ListingParametersViewModel listingParameters)
 {
     var listingFacade = (IListingFacade)FacadeFactory.Instance.Create(FacadeType.Listing);
     var listingResult = listingFacade.GetListings(listingParameters.CityId, listingParameters.PlaceId, listingParameters.CategoryId);
     var allListings = new List<ListingViewModel>();
     if (listingResult.IsValid())
     {
         foreach (var listing in listingResult.Data)
         {
             var listingViewModel = new ListingViewModel();
             DTOConverter.FillViewModelFromDTO(listingViewModel, listing);
             allListings.Add(listingViewModel);
         }
     }
     return Ok(allListings);
 }
Пример #5
0
 public IHttpActionResult GetListingServiceAreas(int id)
 {
     var listingFacade = (IListingFacade)FacadeFactory.Instance.Create(FacadeType.Listing);
     var listingResult = listingFacade.GetServiceLocationsByListingId(id);
     var listingViewModel = new ListingViewModel();
     if (listingResult.IsValid() && listingResult.Data.ListingServiceLocations != null)
     {
         foreach (var listingServiceArea in listingResult.Data.ListingServiceLocations.ServiceLocations)
         {
             var listingServiceAreaViewModel = new ServiceLocationViewModel();
             DTOConverter.FillViewModelFromDTO(listingServiceAreaViewModel, listingServiceArea);
             listingViewModel.ListingServiceLocations.ServiceLocations.Add(listingServiceAreaViewModel);
         }
     }
     return Ok(listingViewModel.ListingServiceLocations);
 }
Пример #6
0
 public IHttpActionResult GetListingsByUserId(int userId)
 {
     var listingFacade = (IListingFacade)FacadeFactory.Instance.Create(FacadeType.Listing);
     var listingResult = listingFacade.GetListingsByUserId(userId);
     var allListings = new List<ListingViewModel>();
     if (listingResult.IsValid())
     {
         foreach (var listing in listingResult.Data)
         {
             var listingViewModel = new ListingViewModel();
             DTOConverter.FillViewModelFromDTO(listingViewModel, listing);
             allListings.Add(listingViewModel);
         }
     }
     return Ok(allListings);
 }
Пример #7
0
 public IHttpActionResult GetListings(int cityId, int categoryId, string placeId = null)
 {
     var listingFacade = (IListingFacade)FacadeFactory.Instance.Create(FacadeType.Listing);
     var listingResult = listingFacade.GetListings(cityId, placeId, categoryId);
     var allListings = new List<ListingViewModel>();
     if (listingResult.IsValid())
     {
         foreach (var listing in listingResult.Data)
         {
             var listingViewModel = new ListingViewModel();
             DTOConverter.FillViewModelFromDTO(listingViewModel, listing);
             allListings.Add(listingViewModel);
         }
     }
     return Ok(allListings);
 }
Пример #8
0
 public IHttpActionResult GetListingPaymentModes(int id)
 {
     var listingFacade = (IListingFacade)FacadeFactory.Instance.Create(FacadeType.Listing);
     var listingResult = listingFacade.GetPaymentModesByListingId(id);
     var listingViewModel = new ListingViewModel();
     if (listingResult.IsValid() && listingResult.Data.ListingPaymentModes != null)
     {
         foreach (var listingPaymentMode in listingResult.Data.ListingPaymentModes.PaymentModes)
         {
             var listingPaymentModeViewModel = new PaymentModeViewModel();
             DTOConverter.FillViewModelFromDTO(listingPaymentModeViewModel, listingPaymentMode);
             listingViewModel.ListingPaymentModes.PaymentModes.Add(listingPaymentModeViewModel);
         }
     }
     return Ok(listingViewModel.ListingPaymentModes);
 }
Пример #9
0
 public IHttpActionResult GetListingMedias(int id)
 {
     var listingFacade = (IListingFacade)FacadeFactory.Instance.Create(FacadeType.Listing);
     var listingResult = listingFacade.GetMediasByListingId(id);
     var listingViewModel = new ListingViewModel();
     if (listingResult.IsValid() && listingResult.Data.ListingMedias != null)
     {
         bool isFirst = true;
         foreach (var listingMedia in listingResult.Data.ListingMedias.Medias)
         {
             var listingMediaViewModel = new MediaViewModel();
             DTOConverter.FillViewModelFromDTO(listingMediaViewModel, listingMedia);
             if (isFirst)//todo is profile pic functionality
             {
                 listingMediaViewModel.isProfile = true;
                 isFirst = false;
             }
             listingViewModel.ListingMedias.Medias.Add(listingMediaViewModel);
         }
     }
     return Ok(listingViewModel.ListingMedias);
 }
Пример #10
0
        public IHttpActionResult GetListingCategories(int id)
        {
            //System.Threading.Thread.Sleep(10000); //todo for loading-bar test

            var listingFacade = (IListingFacade)FacadeFactory.Instance.Create(FacadeType.Listing);
            var listingResult = listingFacade.GetCategoriesByListingId(id);
            var listingViewModel = new ListingViewModel();
            if (listingResult.IsValid() && listingResult.Data.ListingCategories != null)
            {
                foreach (var listingCategory in listingResult.Data.ListingCategories.Categories)
                {
                    var listingCategoryViewModel = new CategoryViewModel();
                    DTOConverter.FillViewModelFromDTO(listingCategoryViewModel, listingCategory);
                    listingViewModel.ListingCategories.Categories.Add(listingCategoryViewModel);
                }
            }
            return Ok(listingViewModel.ListingCategories);
        }
Пример #11
0
        public async Task<ActionResult> AddEditListing(ListingViewModel listingViewModel)
        {
            ActionResult result = null;
            var client = TMCHttpClient.GetClient();
            listingViewModel.UserId = 3;
            JsonSerializerSettings settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Auto };
            string serializedItemToCreate = JsonConvert.SerializeObject(listingViewModel, settings);

            var response = await client.PostAsync("api/listing", new StringContent(serializedItemToCreate,
            System.Text.Encoding.Unicode, "application/json"));
            
            if (response.IsSuccessStatusCode)
            {

                string content = response.Content.ReadAsStringAsync().Result;
                var contentResult = JsonConvert.DeserializeObject<ListingViewModel>(content);
                result = OperationResult<long>.CreateSuccessResult(contentResult.ListingId, "success").ToJsonResult();
            }
            else
            {
                //result = Content("An error occurred");
                //ModelState.AddModelError("Website", "invalid Website address");
                result = PartialView("_EditListing", listingViewModel);
            }
            return result;
        }