public IActionResult Post(PersonAccessDto p) { if ((p.BuildingId == 0) || (p.TranDate.Year == 1)) { return(BadRequest()); } var lastPerson = _personTrackingService.GetLastPersonTracking(p.BuildingId); var person = new PersonAccess { BuildingId = p.BuildingId, NumberFail = p.Failed, NumberPass = p.Total - p.Failed, NumberTotal = p.Total, RemainFail = p.Failed, RemainPass = p.Total - p.Failed, TranDate = p.TranDate }; if ((lastPerson != null) && (lastPerson.Equals(person))) { _logger.LogWarning($"Equal previous record BuildingId:{p.BuildingId},NumberPass:{p.Total - p.Failed},NumberFail:{p.Failed},TranDate:{person.TranDate.ToLongDateString()}"); } else { _logger.LogInformation($"Insert BuildingId:{p.BuildingId},NumberPass:{p.Total - p.Failed},NumberFail:{p.Failed},TranDate:{person.TranDate.ToLongDateString()}"); _personTrackingService.InsertPersonTracking(person); } return(NoContent()); }
private void UpdatePersonAccess(int buildingId, int total, int failed, PersonAccess personTran) { personTran.NumberFail = failed; personTran.NumberPass = total - failed; personTran.NumberTotal = total; _personTrackingService.UpdatePersonTracking(personTran); log.Info($"Update BuildingId:{buildingId},NumberPass:{total - failed},NumberFail:{failed},TranDate:{personTran.TranDate.ToShortTimeString()}"); }
/// <summary> /// Marks person as deleted /// </summary> /// <param name="person">PersonTracking</param> public virtual void DeletePersonTracking(PersonAccess person) { if (person == null) { throw new ArgumentNullException(nameof(person)); } _personRepository.Delete(person); }
public User MapToEntity(UserModel model, User entity) { var t = _mapper.Map <UserModel>(entity); // Save the user access foreach (var accessModel in model.Access) { PersonAccess accessObj = null; if (accessModel.Id != Guid.Empty) { accessObj = entity.Person.Access.FirstOrDefault(x => x.Id == accessModel.Id); } if (accessObj == null) { accessObj = new PersonAccess() { Id = SequentialGuid.NewGuid(), PersonId = entity.PersonId, }; entity.Person.Access.Add(accessObj); } //Mapper.Map(accessModel, accessObj); } //// Save the roles foreach (var roleModel in model.Roles) { PersonRole roleObj = null; if (roleModel.Id != Guid.Empty) { roleObj = entity.Person.Roles.FirstOrDefault(x => x.Id == roleModel.Id); } if (roleObj == null) { roleObj = new PersonRole { Id = SequentialGuid.NewGuid(), PersonId = entity.PersonId }; entity.Person.Roles.Add(roleObj); } roleObj.RoleId = roleModel.RoleId; roleObj.Deleted = roleModel.Deleted; } return(entity); }
private async Task <PersonAccess> GetPersonTrackingByTranDate(int buildingId, string tranDate) { string path = $"{ConfigurationManager.AppSettings["BaseAddress"]}/api/PersonTracking/{buildingId}/{tranDate}"; PersonAccess person = null; HttpResponseMessage response = await client.GetAsync(path); if (response.IsSuccessStatusCode && !response.ReasonPhrase.Equals("No Content")) { string json = await response.Content.ReadAsStringAsync(); person = JsonConvert.DeserializeObject <PersonAccess>(json); } return(person); }
private async Task <PersonAccess> UpdatePersonAccessAsync(PersonAccess p) { string uri = $"{ConfigurationManager.AppSettings["BaseAddress"]}/api/PersonTracking"; HttpResponseMessage response = await client .PutAsync(uri, new StringContent(JsonConvert.SerializeObject(p), Encoding.UTF8, "application/json")); response.EnsureSuccessStatusCode(); PersonAccess person = null; if (response.IsSuccessStatusCode && !response.ReasonPhrase.Equals("No Content")) { string json = await response.Content.ReadAsStringAsync(); person = JsonConvert.DeserializeObject <PersonAccess>(json); } return(person); }
public ActionResult <PersonAccess> Put(PersonAccess p) { if ((p.BuildingId == 0) || (p.NumberTotal == 0) || (p.TranDate.Year == 1)) { return(BadRequest()); } var p1 = _personTrackingService.GetPersonTrackingByTranDate(p.BuildingId.Value, p.TranDate); if (p1 == null) { _logger.LogInformation($"Update Not found BuildingId:{p.BuildingId},TranDate:{p.TranDate.ToLongDateString()}"); } _personTrackingService.UpdatePersonTracking(p); _logger.LogInformation($"Update BuildingId:{p.BuildingId},NumberPass:{p.NumberTotal - p.NumberFail},NumberFail:{p.NumberFail},TranDate:{p.TranDate.ToLongDateString()}"); return(p); }
private void InsertPersonAccess(int buildingId, int total, int failed, DateTime tranDate) { var lastPerson = _personTrackingService.GetLastPersonTracking(buildingId); int remainFail; int remainPass; int remainTotal; if (lastPerson != null) { if (total > lastPerson.NumberTotal) { remainTotal = total - lastPerson.NumberTotal; remainFail = failed - lastPerson.NumberPass; remainPass = remainTotal - remainFail; } else { remainTotal = total; remainFail = failed; remainPass = remainTotal - remainFail; } } else { remainPass = total - failed; remainFail = failed; } var person = new PersonAccess { BuildingId = buildingId, NumberFail = failed, NumberPass = total - failed, NumberTotal = total, RemainFail = remainFail, RemainPass = remainPass, TranDate = tranDate }; log.Info($"Insert BuildingId:{buildingId},NumberPass:{total - failed},NumberFail:{failed},TranDate:{person.TranDate.ToShortTimeString()}"); _personTrackingService.InsertPersonTracking(person); }