public IActionResult NewVisit( [FromBody] VisitDto newVisit) { if (newVisit == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var visitToSave = AutoMapper.Mapper.Map <Entities.Visit>(newVisit); _buyingAgentSave.SaveNewEntity(visitToSave); if (!_buyingAgentCheckIfSaved.Save()) { return(StatusCode(500, "A problem happened while handling your request.")); } var visitToReturn = AutoMapper.Mapper.Map <Models.VisitDto>(visitToSave); return(Ok(new { id = visitToSave.Id, visitToReturn })); }
public string describe(VisitDto visit, ProfilePictureDto picture) { string response = "Il semblerait que tu sois "; int age = DateTime.Now.Year - visit.PersonVisit.Age; if (visit.PersonVisit.Gender == GenderValues.Male) { response += "un homme de " + age + " ans "; if (Convert.ToDouble(picture.Glasses) >= 0.50) { response += "portant des lunettes "; } if (Convert.ToDouble(picture.Mustache) >= 0.60 && Convert.ToDouble(picture.Beard) >= 0.60) { response += "avec une barbe et une superbe moustache! ;)"; } else if (Convert.ToDouble(picture.Beard) >= 0.60) { response += "avec une barbe"; } else if (Convert.ToDouble(picture.Mustache) >= 0.60) { response += "avec une moustache"; } } else { response += "un femme de " + age + " "; } return(response); }
public IActionResult CreateVisit([FromBody] VisitForCreationDto visit, int id) { if (ModelState.IsValid && id >= 0) { visit.CourseId = id; var newId = _unitOfWork.VisitRepository.Add(visit); if (newId < 0) { throw new Exception("Creating a visit failed on save."); } var visitToReturn = new VisitDto { Id = newId, StationId = visit.StationId, CourseId = visit.CourseId, StationName = "maybeToDo", VisitOrder = visit.VisitOrder, Date = visit.Date }; return(CreatedAtRoute("GetVisitsForCourse", new { id = visitToReturn.Id }, visitToReturn)); } else { return(BadRequest()); } }
public void OnActionExecuting(ActionExecutingContext filterContext) { #region 记录访问记录 try { var userService = DependencyResolver.Current.GetService <IUserService>(); var context = filterContext.HttpContext; var user = context.User; var isLogined = user != null && user.Identity != null && user.Identity.IsAuthenticated; var visit = new VisitDto { IP = filterContext.HttpContext.Request.UserHostAddress, LoginName = isLogined ? user.Identity.Name : string.Empty, Url = context.Request.Url.PathAndQuery, UserId = isLogined ? user.Identity.GetLoginUserId().ToString() : "0" }; userService.Visit(visit); } catch { //eat exception } #endregion }
private void ClearVisitInfo() { if (RegionManager.Regions.ContainsRegionWithName("VisitRegion")) { var activitiesRegion = RegionManager.Regions["VisitRegion"]; // Retain a reference to the Context before removing the View from the Region. // This is necessary because Prism sets the Region Context to null when a view is removed from it. var regionContext = activitiesRegion.Context; foreach (var view in activitiesRegion.Views) { if (view is FrameworkElement && (view as FrameworkElement).DataContext is IActivityViewModel) { activitiesRegion.Remove(view); } } activitiesRegion.Context = regionContext; } Visit = null; ProblemList = null; _statusQuestionAsked = false; }
public async Task Invoke(HttpContext context) { await _next(context); #region 记录访问记录 try { var userService = context.RequestServices.GetService <IUserService>(); var connection = context.Features.Get <IHttpConnectionFeature>(); var user = context.User; var isLogined = user?.Identity != null && user.Identity.IsAuthenticated; var visit = new VisitDto { Ip = connection.RemoteIpAddress.ToString(), LoginName = isLogined ? user.Identity.Name : string.Empty, Url = context.Request.Path, UserId = user.Identity.GetLoginUserId() }; await userService.VisitAsync(visit); } catch { //eat exception } #endregion }
public void OnActionExecuting(ActionExecutingContext filterContext) { #region 记录访问记录 try { var userService = DependencyResolver.Current.GetService <IUserService>(); var context = filterContext.HttpContext; var user = context.User; var isLogined = user != null && user.Identity != null && user.Identity.IsAuthenticated; var visit = new VisitDto { IP = filterContext.HttpContext.Request.UserHostAddress, LoginName = isLogined ? user.Identity.Name : string.Empty, Url = context.Request.Url.PathAndQuery, UserId = isLogined ? user.Identity.GetLoginUserId() : "0" }; Task.Run(async() => await userService.Visit(visit)); } catch (Exception ex) { Log.Error("SiteVisitFilterError", ex); } #endregion }
/// <summary> /// 记录访问记录 /// </summary> /// <param name="dto"></param> /// <returns></returns> public async Task <bool> VisitAsync(VisitDto dto) { var entity = _mapper.Map <VisitDto, PageViewEntity>(dto); entity.Init(); _context.PageViews.Add(entity); return(await _context.SaveChangesAsync() > 0); }
public async Task <ServiceResponse <VisitDto> > UpdateAsync(VisitDto model, int userId) { if (model == null) { throw new ArgumentNullException(nameof(model)); } var visit = UnitOfWork.Get <Visit>().Get(model.ID, v => v.Visitors); visit.LocationID = model.LocationID; visit.Code = model.Code; visit.Date = model.Date; visit.UpdateModifiedFields(userId); visit.Visitors.ToList().ForEach(v => UnitOfWork.Get <Visitor>().Delete(v)); visit.Visitors.Clear(); Regex.Matches(model.Code, @"^(([мМжЖ]+[1234]{1})+)$") .OfType <Match>() .ToList() .ForEach(visitorCode => { var code = visitorCode.Value; var ageGroup = (VisitorAgeGroups)Enum.Parse(typeof(VisitorAgeGroups), code.Last().ToString()); code.Substring(0, code.Length - 1) .ToLower() .Select(c => c) .ToList() .ForEach(genderCode => { var visitor = new Visitor { AgeGroup = ageGroup, Gender = genderCode.Equals('м') ? VisitorGenders.Male : VisitorGenders.Female }; visitor .UpdateCreatedFields(userId) .UpdateModifiedFields(userId); visit.Visitors.Add(visitor); }); }); var updated = UnitOfWork.Get <Visit>().Update(visit); await UnitOfWork.SaveAsync(); return(new SuccessResponse <VisitDto>(new VisitDto { ID = updated.ID, Code = updated.Code.ToUpper(), Date = updated.Date, LocationID = updated.LocationID, LocationName = updated.Location?.Name })); }
public static Visit ToEntity(this VisitDto dto) { return(new Visit { ID = dto.ID, Code = dto.Code, Date = dto.Date, LocationID = dto.LocationID }); }
private void HandleSaveVisitDtoCompleted(ReceivedResponses receivedResponses) { IsLoading = false; var response = receivedResponses.Get <DtoResponse <VisitDto> > (); var currentVisit = response.DataTransferObject; Visit = currentVisit; RaiseVisitChanged(); }
/// <summary> /// 记录访问记录 /// </summary> /// <param name="dto"></param> /// <returns></returns> public async Task <bool> VisitAsync(VisitDto dto) { using (var scope = _dbContextScopeFactory.Create()) { var db = scope.DbContexts.Get <JuCheapContext>(); var dbSet = db.Set <PageViewEntity>(); var entity = _mapper.Map <VisitDto, PageViewEntity>(dto); entity.Id = BaseIdGenerator.Instance.GetId(); dbSet.Add(entity); return(await scope.SaveChangesAsync() > 0); } }
private static void PrintVisit(VisitDto v) { Console.WriteLine("[{0}] [{1}||{2}] {3} {4}", v.ID, v.Utc, v.UtcOut, v.LocName, v.By); foreach (var c in v.Climbs) { Console.WriteLine("[{0}] {1} {2}", c.Name, c.Outcome, c.Experience); } foreach (var c in v.Media) { Console.WriteLine("[{0}] {1}", c.ID, c.ThumbUrl); } }
public void ThrowArgumentNullException_WhenInvokedWithInvalidParameter() { //Arrange var dbContextMock = new Mock <ISportscardSystemDbContext>(); var mapperMock = new Mock <IMapper>(); VisitDto visitDto = null; var visitService = new VisitService(dbContextMock.Object, mapperMock.Object); //Act && Assert Assert.ThrowsException <ArgumentNullException>(() => visitService.AddVisit(visitDto)); }
/// <summary> /// 记录访问记录 /// </summary> /// <param name="dto"></param> /// <returns></returns> public async Task <bool> Visit(VisitDto dto) { using (var scope = _dbContextScopeFactory.Create()) { var db = scope.DbContexts.Get <JuCheapContext>(); var entity = _mapper.Map <VisitDto, PageViewEntity>(dto); entity.Create(); db.PageViews.Add(entity); await scope.SaveChangesAsync(); return(true); } }
public IActionResult AddVisit([FromBody] VisitDto visitDto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var visitToAdd = _mapper.Map <Visit>(visitDto); _visitService.Add(visitToAdd); return(Ok(visitToAdd)); }
public async Task <ActionResult> AddVisit(VisitDto visit) { if (visit.ApiKey != _apiKey || string.IsNullOrEmpty(visit.PhoneNumber)) { return(StatusCode(500)); } _context.Visits.Add(new Visit { Name = visit.Name, Email = visit.Email, PhoneNumber = visit.PhoneNumber, VenueId = visit.VenueId, VisitTime = DateTime.UtcNow }); await _context.SaveChangesAsync(); return(StatusCode((int)HttpStatusCode.OK)); }
public async Task DeleteVisit(VisitDto visit) { using (var httpClient = new HttpClient()) { using (var response = await httpClient.DeleteAsync(uri.AbsoluteUri + visit.Id)) { if (!response.IsSuccessStatusCode) { //string apiResponse = await response.Content.ReadAsStringAsync(); throw new Exception(); } } } }
public async Task UpdateVisit(VisitDto visit) { using (var httpClient = new HttpClient()) { StringContent content = new StringContent(JsonConvert.SerializeObject(visit), Encoding.UTF8, "application/json"); using (var response = await httpClient.PutAsync(uri.AbsoluteUri + visit.Id, content)) { if (!response.IsSuccessStatusCode) { throw new Exception(); } } } }
public async Task <ServiceResponse <int> > CreateAsync(VisitDto model, int userId) { if (model == null) { throw new ArgumentNullException(nameof(model)); } var visit = model.ToEntity(); visit .UpdateCreatedFields(userId) .UpdateModifiedFields(userId); Regex.Matches(model.Code, @"^(([мМжЖ]+[1234]{1})+)$") .OfType <Match>() .ToList() .ForEach(visitorCode => { var code = visitorCode.Value; var ageGroup = (VisitorAgeGroups)Enum.Parse(typeof(VisitorAgeGroups), code.Last().ToString()); code.Substring(0, code.Length - 1) .ToLower() .Select(c => c) .ToList() .ForEach(genderCode => { var visitor = new Visitor { AgeGroup = ageGroup, Gender = genderCode.Equals('м') ? VisitorGenders.Male : VisitorGenders.Female }; visitor .UpdateCreatedFields(userId) .UpdateModifiedFields(userId); visit.Visitors.Add(visitor); }); }); var added = UnitOfWork.Get <Visit>().Add(visit); await UnitOfWork.SaveAsync(); return(new SuccessResponse <int>(added.ID)); }
public async Task <IActionResult> AddVisit(VisitDto visitDto) { Visit visit = _mapper.Map <Visit>(visitDto); visit.Arrival = DateTime.Now; visit.Departure = DateTime.Today.AddDays(1).AddSeconds(-1); visit = await _unitOfWork.RegisterRepository.LogIn(visit); if (await _unitOfWork.Complete()) { return(Ok()); } return(BadRequest("something went wrong")); }
public static VisitViewModel Create(VisitDto visit, string returnUrl, IEnumerable <VisitTypeDto> visitTypes, IEnumerable <EmployeeDto> employees, IEnumerable <OfficeDto> offices, IEnumerable <RegisterControlDto> registerControls, IEnumerable <VisitStateDto> visitStates) { return(new VisitViewModel { Visit = visit, ReturnUrl = returnUrl, VisitTypes = visitTypes, Employees = employees, Offices = offices, RegisterControls = registerControls, VisitStates = visitStates }); }
public static VisitViewModel Create(VisitDto visitDto) { var newVisitView = new VisitViewModel { Id = visitDto.Visit.Id, TaskName = visitDto.Visit.TaskName, Description = visitDto.Visit.Description, ClientAddress = visitDto.Visit.ClientAddress, StartTime = visitDto.Visit.StartTime.ToShortTimeString(), EndTime = visitDto.Visit.EndTime.ToShortTimeString(), ClientId = visitDto.Client.Id, ClientFirstName = visitDto.Client.FirstName, ClientLastName = visitDto.Client.LastName, }; return(newVisitView); }
public void AddVisitToDabatase_WhenInvokedWithValidParameters() { //Arrange var dbContextMock = new Mock <ISportscardSystemDbContext>(); var mapperMock = new Mock <IMapper>(); var expectedVisit = new Visit() { ClientId = Guid.NewGuid() }; var data = new List <Visit> { new Visit { CreatedOn = DateTime.Today.AddDays(-1) } }; var mockSet = new Mock <DbSet <Visit> >(); mockSet.SetupData(data); mockSet.Setup(m => m.Add(It.IsAny <Visit>())); dbContextMock .Setup(x => x.Visits) .Returns(mockSet.Object); var visitDto = new VisitDto() { ClientId = Guid.NewGuid() }; mapperMock .Setup(x => x.Map <Visit>(visitDto)) .Returns(expectedVisit); var visitService = new VisitService(dbContextMock.Object, mapperMock.Object); //Act visitService.AddVisit(visitDto); //Assert mockSet.Verify(x => x.Add(expectedVisit), Times.Once); }
public Message GetVisit(string id) { SvcContext ctx = InflateContext(); if (ctx.Invalid) { return(ctx.ContextMessage); } try { Guid ciID = Guid.ParseExact(id, "N"); var ci = visitsSvc.GetCheckInById(ciID); var loc = CfPerfCache.GetLocation(ci.LocationID); var ciDto = new VisitDto(ci, loc, CfIdentity.DisplayName, ""); return(ReturnAsJson(ciDto)); } catch { return(Failed("Query failed")); } }
public async Task <VisitDto> GetVisit(int id) { VisitDto visit = new VisitDto(); using (var httpClient = new HttpClient()) { using (var response = await httpClient.GetAsync(uri.AbsoluteUri + id)) { if (response.IsSuccessStatusCode) { string apiResponse = await response.Content.ReadAsStringAsync(); visit = JsonConvert.DeserializeObject <VisitResponseDto>(apiResponse).Visit; } } } return(visit); }
public IActionResult Create(VisitDto visitDto) { var customer = customerData.GetCustomerById(visitDto.CustomerId.GetValueOrDefault()); if (customer == null) { return(BadRequest()); } var visit = new Visit(); visit.CustomerId = visitDto.CustomerId; var shopItemsValues = (IEnumerable <int>)Enum.GetValues(typeof(ShopItemType)); foreach (var shopItem in visitDto.ShopItems) { if (!shopItemsValues.Any(x => x == shopItem.ShopItemType)) { ModelState.AddModelError("ShopItemType", $"ShopItemType[{visitDto.ShopItems.IndexOf(shopItem)}] {shopItem.ShopItemType} does not exists."); } if (ModelState.IsValid) { visit.ShopItems.Add(new ShopItem { Price = Math.Abs(shopItem.Price.GetValueOrDefault()), ShopItemType = (ShopItemType)shopItem.ShopItemType }); } } if (!ModelState.IsValid) { return(BadRequest(new ValidationProblemDetails(ModelState))); //return BadRequest(ModelState); } visitData.Create(visit); visitData.Commit(); return(CreatedAtRoute("FetchVisit", new { id = visit.Id }, visit)); }
public async Task <VisitDto> AddVisit(VisitDto visit) { VisitDto receivedVisit = new VisitDto(); using (var httpClient = new HttpClient()) { StringContent content = new StringContent(JsonConvert.SerializeObject(visit), Encoding.UTF8, "application/json"); using (var response = await httpClient.PostAsync(uri.AbsoluteUri, content)) { if (!response.IsSuccessStatusCode) { throw new Exception(); } string apiResponse = await response.Content.ReadAsStringAsync(); receivedVisit = JsonConvert.DeserializeObject <VisitResponseDto>(apiResponse).Visit; } } return(receivedVisit); }
public Message History(string id) { try { SvcContext ctx = InflateContext(); if (ctx.Invalid) { return(ctx.ContextMessage); } Guid uID; if (id == "me") { uID = CfIdentity.UserID; } else { uID = Guid.ParseExact(id, "N"); } //-- TODO: rewrite to use $expand and do single database call var usersCheckIns = visitsSvc.GetUsersHistory(uID).OrderByDescending(c => c.Utc).Take(15); var dto = new List <VisitDto>(); foreach (var ci in usersCheckIns) { //-- Here we use perf cache instead of Include()/join because it's likely the user will //-- have revisited the same place var loc = CfPerfCache.GetLocation(ci.LocationID); var ciDto = new VisitDto(ci, loc, "", ""); dto.Add(ciDto); } return(ReturnAsJson(dto)); } catch (Exception ex) { CfTrace.Error(ex); return(Failed("History query failed : " + ex.Message)); } }
public Message CheckIn(string loc, string isPrivate, string getAlerts, string comment) { SvcContext ctx = InflateContext(); if (ctx.Invalid) { return(ctx.ContextMessage); } try { Guid locID = Guid.ParseExact(loc, "N"); bool bIsPrivate = false; if (isPrivate == "y") { bIsPrivate = true; } bool bGetAlerts = true; if (isPrivate == "n") { bGetAlerts = false; } var location = CfPerfCache.GetLocation(locID); //-- TODO: Add GET ALERTS TO DB AND PASS IN HERE //var decodedComment = comment.ODataDecode(); var ci = visitsSvc.CreateCurrentCheckIn( new CheckIn() { LocationID = location.ID, Latitude = ctx.Lat, Longitude = ctx.Lon, Comment = comment, IsPrivate = bIsPrivate }); var dto = new VisitDto(ci, location, CfIdentity.DisplayName, ""); return(ReturnAsJson(dto)); } catch (Exception ex) { return(Failed("Check in failed : " + ex.Message)); } }