Esempio n. 1
0
 public void AddHouse(HouseDTO house)
 {
     bddInterf.AddHouse(house);
 }
Esempio n. 2
0
        public async Task <ActionResult> AddHouse(HouseViewModel house, ImageModelView userImage)
        {
            bool isLookAuKwat = false;
            bool isParticuler = false;
            bool isPromotion  = false;

            if (User.IsInRole(MyRoleConstant.RoleAdmin) || (User.IsInRole(MyRoleConstant.Role_SuperAgent)))
            {
                isLookAuKwat = true;
                isPromotion  = true;
            }
            else
            {
                isParticuler = true;
            }

            if (house.Stock == 0)
            {
                house.Stock = 1;
            }

            HouseModel model = new HouseModel()
            {
                Title                = house.Title,
                Description          = house.Description,
                RubriqueHouse        = house.RubriqueHouse,
                Town                 = house.Town,
                Price                = house.Price,
                Street               = house.Street,
                ColorHouse           = house.ColorHouse,
                FabricMaterialeHouse = house.FabricMaterialeHouse,
                StateHouse           = house.StateHouse,
                TypeHouse            = house.TypeHouse,
                DateAdd              = DateTime.UtcNow,
                SearchOrAskJob       = house.SearchOrAskJob,
                IsActive             = true,
                IsLookaukwat         = isLookAuKwat,
                IsParticulier        = isParticuler,
                IsPromotion          = isPromotion,
                Provider_Id          = house.Provider_Id,
                Stock_Initial        = house.Stock,
                Stock                = house.Stock,
                ProductCountry       = house.ProductCountry,
            };


            if (ModelState.IsValid)
            {
                using (var httpClient = new HttpClient())
                {
                    string          userId = User.Identity.GetUserId();
                    ApplicationUser user   = dal.GetUserByStrId(userId);

                    var fullAddress = $"{ model.Street /*+ model.Town + "," + ",Cameroon"*/}";
                    var response    = await httpClient.GetAsync("https://api.opencagedata.com/geocode/v1/json?q=" + fullAddress + "&key=a196040df44a4a41a471173aed07635c");

                    if (response.IsSuccessStatusCode)
                    {
                        var jsonn = await response.Content.ReadAsStringAsync();

                        var joo  = JObject.Parse(jsonn);
                        var latt = (string)joo["results"][0]["geometry"]["lat"];
                        var lonn = (string)joo["results"][0]["geometry"]["lng"];

                        List <ImageProcductModel> images = ImageAdd(userImage);

                        model.Images   = images;
                        model.User     = user;
                        model.Category = new CategoryModel {
                            CategoryName = "Maison"
                        };
                        dal.AddHouse(model, latt, lonn);
                        //check if email or phone is confirm and update date of publish announce for agent pay
                        if ((user.EmailConfirmed == true || user.PhoneNumberConfirmed == true) && user.Date_First_Publish == null)
                        {
                            dal.Update_Date_First_Publish(user);
                        }
                        //string success = "Annonce ajoutée avec succès dans la liste !";
                        //return RedirectToAction("UserProfile", "Home",new { message= success });
                        return(RedirectToAction("AddImage", "Job", new { id = model.id }));
                    }
                }
            }
            ViewBag.Erreur = "Une erreur s'est produite lors de l'enregistrement de votre annonce";
            return(View("AddFullModel", house));
        }