Пример #1
0
        public IBusinessResponse CreateBusinessResponse(CreateBusinessViewModel model, string createdBy)
        {
            try
            {
                if (HasUniqueName(model.Name) == false)
                {
                    _response.HasFailed("Business name already exists.");
                    return(_response);
                }

                if (HasUniqueTaxNumber(model.TaxNumber) == false)
                {
                    _response.HasFailed("Business tax number already exists.");
                    return(_response);
                }

                CreateBusiness(createdBy, model);

                _response.HasSucceeded("Business was created successfully.");
                return(_response);
            }
            catch (Exception e)
            {
                _exceptionLogFacade.StoreException(e);
                _response.HasFailed("Business could not be created due to unexpected error, please try again later.");
                return(_response);
            }
        }
Пример #2
0
        public async Task <IActionResult> CreateBusiness(CreateBusinessViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(View(model));
            }

            var coverPicture = await this.pictureHelper.ConvertPicturePath(model.CoverPicture);

            var pictures = new List <string>();

            foreach (var picture in model.Pictures)
            {
                pictures.Add(await this.pictureHelper.ConvertPicturePath(picture));
            }

            var business = await this.businessService.CreateBusiness(model.Name, model.Location, model.GPSCoordinates, model.About,
                                                                     model.ShortDescription, coverPicture, pictures,
                                                                     model?.FacilitiesForTheBusiness);

            return(RedirectToRoute(
                       new
            {
                controller = "Business",
                action = "Details",
                id = business.BusinessId
            }));
        }
Пример #3
0
        public IActionResult CreateBusiness(CreateBusinessViewModel model)
        {
            if (ModelState.IsValid)
            {
                Business newBusiness = new Business()
                {
                    Name        = model.Name,
                    Emails      = model.Emails,
                    Phones      = model.Phones,
                    NoOfStaffs  = model.NoOfStaffs,
                    Province    = model.Province,
                    City        = model.City,
                    Country     = model.Country,
                    AddressLine = model.AddressLine,
                    PostalCode  = model.PostalCode,
                    Sectors     = model.Sectors,
                    Likes       = model.Likes,
                    Dislikes    = model.Dislikes
                };

                _businessRepository.AddBusiness(newBusiness);

                return(RedirectToAction("details", new { id = newBusiness.Id }));
            }

            return(View());
        }
Пример #4
0
        public async Task RedirectToRoute_WhenParameterIsValid()
        {
            var businessServiceMocked = new Mock <IBusinessService>();
            var mapperMocked          = new Mock <IMappingProvider>();
            var facilityServiceMocked = new Mock <IFacilityService>();
            var pictureHelper         = new Mock <IPictureHelper>();
            var coverPictureMock      = new Mock <IFormFile>();
            var pictureMock           = new Mock <IFormFile>();
            var businessDTO           = new BusinessDTO {
                BusinessId = 1
            };

            var name           = "Ivan";
            var location       = "Tuk";
            var gpsCoordinates = "3424444";
            var about          = "ok";
            var shortDesc      = "ok";
            var coverPicture   = coverPictureMock.Object;
            var pictures       = new List <IFormFile> {
                pictureMock.Object
            };
            var facilitiesForTheBusiness = new List <int> {
                1
            };

            var createBusinessViewModel = new CreateBusinessViewModel
            {
                Name                     = name,
                Location                 = location,
                GPSCoordinates           = gpsCoordinates,
                About                    = about,
                ShortDescription         = shortDesc,
                CoverPicture             = coverPicture,
                Pictures                 = pictures,
                FacilitiesForTheBusiness = facilitiesForTheBusiness
            };

            businessServiceMocked.Setup(b => b.CreateBusiness(name, location, gpsCoordinates, about, shortDesc, null, new List <string> {
                null
            }, facilitiesForTheBusiness))
            .ReturnsAsync(businessDTO);

            var businessController = new BusinessController(businessServiceMocked.Object,
                                                            mapperMocked.Object, facilityServiceMocked.Object, pictureHelper.Object);

            var result = await businessController.CreateBusiness(createBusinessViewModel) as RedirectToRouteResult;;
            var route  = result.RouteValues.Values.ToList();

            Assert.AreEqual("Business", route[0]);
            Assert.AreEqual("Details", route[1]);
            Assert.AreEqual(1, route[2]);
        }
Пример #5
0
        public async Task CallbusinessServiceOnce_WhenParameterIsValid()
        {
            var businessServiceMocked = new Mock <IBusinessService>();
            var mapperMocked          = new Mock <IMappingProvider>();
            var facilityServiceMocked = new Mock <IFacilityService>();
            var pictureHelper         = new Mock <IPictureHelper>();
            var coverPictureMock      = new Mock <IFormFile>();
            var pictureMock           = new Mock <IFormFile>();
            var businessDTO           = new BusinessDTO {
                BusinessId = 1
            };

            var name           = "Ivan";
            var location       = "Tuk";
            var gpsCoordinates = "3424444";
            var about          = "ok";
            var shortDesc      = "ok";
            var coverPicture   = coverPictureMock.Object;
            var pictures       = new List <IFormFile> {
                pictureMock.Object
            };
            var facilitiesForTheBusiness = new List <int> {
                1
            };

            var createBusinessViewModel = new CreateBusinessViewModel
            {
                Name                     = name,
                Location                 = location,
                GPSCoordinates           = gpsCoordinates,
                About                    = about,
                ShortDescription         = shortDesc,
                CoverPicture             = coverPicture,
                Pictures                 = pictures,
                FacilitiesForTheBusiness = facilitiesForTheBusiness
            };

            businessServiceMocked.Setup(b => b.CreateBusiness(name, location, gpsCoordinates, about, shortDesc, null, new List <string> {
                null
            }, facilitiesForTheBusiness))
            .ReturnsAsync(businessDTO);

            var businessController = new BusinessController(businessServiceMocked.Object,
                                                            mapperMocked.Object, facilityServiceMocked.Object, pictureHelper.Object);

            await businessController.CreateBusiness(createBusinessViewModel);

            businessServiceMocked.Verify(b => b.CreateBusiness(name, location, gpsCoordinates, about, shortDesc, null, new List <string> {
                null
            }, facilitiesForTheBusiness), Times.Once);
        }
        public PartialViewResult Create(CreateBusinessViewModel model)
        {
            IBusinessResponse response;

            if (!ModelState.IsValid)
            {
                response = _facade.InvalidModelStateResponse;
                return(PartialView("_CreateResponsePartial", response));
            }

            var identity = User.Identity.Name;

            response = _facade.CreateBusinessResponse(model, identity);

            return(PartialView("_CreateResponsePartial", response));
        }
Пример #7
0
        public async Task ReturnCorrectViewModel_WhenModelIsInvalid()
        {
            var businessServiceMocked   = new Mock <IBusinessService>();
            var mapperMocked            = new Mock <IMappingProvider>();
            var facilityServiceMocked   = new Mock <IFacilityService>();
            var pictureHelper           = new Mock <IPictureHelper>();
            var createBusinessViewModel = new CreateBusinessViewModel();

            var businessController = new BusinessController(businessServiceMocked.Object,
                                                            mapperMocked.Object, facilityServiceMocked.Object, pictureHelper.Object);

            businessController.ModelState.AddModelError("error", "error");

            var result = await businessController.CreateBusiness(createBusinessViewModel) as ViewResult;

            Assert.IsInstanceOfType(result.Model, typeof(CreateBusinessViewModel));
        }
Пример #8
0
        public async Task <IActionResult> NewBusiness([FromBody] CreateBusinessViewModel model)
        {
            if (_db.Users.Any(x => x.PhoneNumber.ToUpper() == model.PhoneNumber.ToUpper() || x.UserName == model.PhoneNumber.ToUpper()) || model == null)
            {
                return((IActionResult)BadRequest(false));
            }

            var userTocreate = new ApplicationUser
            {
                Id              = Guid.NewGuid().ToString(),
                ProfileType     = 2,
                UserName        = model.PhoneNumber,
                FirstName       = model.FirstName,
                LastName        = model.LastName,
                Country         = model.Country,
                City            = model.City,
                Code            = model.Code,
                Iso             = model.Iso,
                PhoneNumber     = model.PhoneNumber,
                Address         = model.Address,
                BusinessName    = model.BusinessName,
                BusinessType    = model.BusinessType,
                IdCardNumber    = model.IdCardNumber,
                TimeZone        = Tools.GetTimezone(model.Code),
                Lat             = model.Lat,
                Long            = model.Long,
                Email           = model.Email,
                NormalizedEmail = model.Email.ToUpper(),
                MoneyCode       = GenerateCode().ToString(),
            };

            userTocreate.Creation          = Tools.GetLocalTime(userTocreate.TimeZone);
            userTocreate.SubscriptionStart = Tools.GetLocalTime(userTocreate.TimeZone);
            userTocreate.SubscriptionEnd   = Tools.GetLocalTime(userTocreate.TimeZone).AddDays(7);

            var result = await _userManager.CreateAsync(userTocreate, model.Password);

            if (result.Succeeded)
            {
                return((IActionResult)Ok(true));
            }

            return((IActionResult)BadRequest(false));
        }
Пример #9
0
        public async Task ReturnCorrectViewModel()
        {
            var businessServiceMocked = new Mock <IBusinessService>();
            var mapperMocked          = new Mock <IMappingProvider>();
            var facilityServiceMocked = new Mock <IFacilityService>();
            var pictureHelper         = new Mock <IPictureHelper>();
            var facilityDTOs          = new List <FacilityDTO> {
                new FacilityDTO()
            };
            var createBusinessVM = new CreateBusinessViewModel();

            facilityServiceMocked.Setup(f => f.ListAllFacilitiesAsync())
            .ReturnsAsync(facilityDTOs);

            mapperMocked.Setup(m => m.MapTo <CreateBusinessViewModel>(facilityDTOs))
            .Returns(createBusinessVM);

            var accountController = new BusinessController(businessServiceMocked.Object,
                                                           mapperMocked.Object, facilityServiceMocked.Object, pictureHelper.Object);

            var result = await accountController.CreateBusiness() as ViewResult;

            Assert.IsInstanceOfType(result.Model, typeof(CreateBusinessViewModel));
        }