public string Get(LocationBindingModel bindingModel) { var serializer = new JavaScriptSerializer(); var serializedResult = serializer.Serialize(LocationProvider.GetUsersWithinRange(0.003, (bindingModel.lattitude, bindingModel.longtitude))); var result = LocationProvider.GetUsersWithinRange(0.003, (bindingModel.lattitude, bindingModel.longtitude)); return(serializedResult); }
public static Location ToEntity(this LocationBindingModel model, Location original = null) { var isUpdate = original != null; var entity = isUpdate ? model.Map(original) // update : model.Map <LocationBindingModel, Location>(); //insert return(entity); }
public async Task TestPostCreateLocationAsync_InvalidModel() { controller.ModelState.AddModelError("key", "error"); var model = new LocationBindingModel { LocationTypeId = LocationType.Building.Id, }; var response = await controller.PostCreateLocationAsync(model); Assert.IsInstanceOfType(response, typeof(InvalidModelStateResult)); }
public LocationViewModel InsertLocation(LocationBindingModel model) { var location = model.ToEntity(); location = _locationRepository.Add(location); CurrentUnitOfWork.Commit(); location = _locationRepository.FindOne(location.Id); var viewModel = location.ToViewModel(); return(viewModel); }
public async Task TestPostCreateLocationAsync() { var model = new LocationBindingModel { LocationTypeId = LocationType.Building.Id, }; userProvider.Setup(x => x.GetBusinessUser(It.IsAny <IWebApiUser>())).Returns(new User(1)); serviceMock.Setup(x => x.CreateAsync(It.IsAny <AdditionalLocation>())).ReturnsAsync(new Location()); serviceMock.Setup(x => x.GetLocationByIdAsync(It.IsAny <int>())).ReturnsAsync(new LocationDTO()); var response = await controller.PostCreateLocationAsync(model); Assert.IsInstanceOfType(response, typeof(OkNegotiatedContentResult <LocationDTO>)); serviceMock.Verify(x => x.CreateAsync(It.IsAny <AdditionalLocation>()), Times.Once()); serviceMock.Verify(x => x.SaveChangesAsync(), Times.Once()); userProvider.Verify(x => x.GetCurrentUser(), Times.Once()); userProvider.Verify(x => x.GetBusinessUser(It.IsAny <IWebApiUser>()), Times.Once()); }
public async Task <IHttpActionResult> PostCreateLocationAsync([FromBody] LocationBindingModel model) { if (ModelState.IsValid) { var currentUser = this.userProvider.GetCurrentUser(); var businessUser = this.userProvider.GetBusinessUser(currentUser); var location = await this.locationService.CreateAsync(model.ToAdditionalLocation(businessUser)); await this.locationService.SaveChangesAsync(); var dto = await this.locationService.GetLocationByIdAsync(location.LocationId); return(Ok(dto)); } else { return(BadRequest(ModelState)); } }
public async Task <IHttpActionResult> UpdateLocation(LocationBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var currentUser = await UserManager.FindByIdAsync(User.Identity.GetUserId()); currentUser.Latitude = model.Latitude; currentUser.Longitude = model.Longitude; var result = await UserManager.UpdateAsync(currentUser); if (!result.Succeeded) { return(InternalServerError(new Exception("User location update not succesfull"))); } return(Ok()); }
public async Task <IHttpActionResult> UpdateLocation(LocationBindingModel model) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } using (SkriblContext ctx = new SkriblContext()) { var deliverer = ctx.DeliveryMen.FirstOrDefault(x => x.Id == model.Id); if (deliverer != null) { deliverer.Longitude = model.Longitude; deliverer.Latitude = model.Latitude; deliverer.Location = Utility.CreatePoint(model.Latitude, model.Longitude); ctx.SaveChanges(); return(Ok(new CustomResponse <string> { Message = Global.ResponseMessages.Success, StatusCode = (int)HttpStatusCode.OK })); } else { return(Ok(new CustomResponse <Error> { Message = Global.ResponseMessages.NotFound, StatusCode = (int)HttpStatusCode.NotFound, Result = new Error { ErrorMessage = "Invalid deliverer Id" } })); } } } catch (Exception ex) { return(StatusCode(Utility.LogError(ex))); } }
public void TestToAdditionalLocation() { var userId = 1; var user = new User(userId); var latitude = 1.0f; var longitude = 2.0f; var cityId = 3; var divisionId = 4; var countryId = 5; var regionId = 6; var name = "name"; var locationTypeId = LocationType.Building.Id; var model = new LocationBindingModel { CityId = cityId, CountryId = countryId, DivisionId = divisionId, RegionId = regionId, Latitude = latitude, Name = name, LocationTypeId = locationTypeId, Longitude = longitude }; var instance = model.ToAdditionalLocation(user); Assert.AreEqual(latitude, instance.Latitude); Assert.AreEqual(longitude, instance.Longitude); Assert.AreEqual(cityId, instance.CityId); Assert.AreEqual(divisionId, instance.DivisionId); Assert.AreEqual(regionId, instance.RegionId); Assert.AreEqual(countryId, instance.CountryId); Assert.AreEqual(name, instance.LocationName); Assert.AreEqual(locationTypeId, instance.LocationTypeId); Assert.IsTrue(Object.ReferenceEquals(user, instance.Audit.User)); }
public DataActionResponse InsertLocation(LocationBindingModel model) { return(_locationService.InsertLocation(model) .CreateDataActionResponseSuccess()); }
public void Post(LocationBindingModel bindingModel) { LocationProvider.AddLocation(RequestContext.Principal.Identity.Name, (bindingModel.lattitude, bindingModel.longtitude)); }