private async Task <bool> SaveUsersChanges(UsersChanges changesData, int userId) { changesData.UserId = userId; changesData.DeviceTag = GetDeviceTag(); changesData.When = DateTime.Now; changesData.ChangeType = 11; Entity.UsersChanges.Add(changesData); var validationErrors = Entity.GetValidationErrors().ToList(); if (validationErrors.Count > 0) { foreach (var item in validationErrors) { Log.Error(LogTag.SaveUsersChanges_EntityValidationErrors, Request, new { item.ValidationErrors }); } return(false); } try { await Entity.SaveChangesAsync(); } catch (Exception e) { Log.Error(LogTag.SaveUsersChanges_EntityError, Request, e); return(false); } return(true); }
public IHttpActionResult GetLastUsersChanges() { try { UsersChanges user_changes = this.ef_uc.Get().OrderByDescending(u => u.id).FirstOrDefault(); if (user_changes == null) { return(NotFound()); } return(Ok(user_changes)); } catch (Exception e) { String.Format("Ошибка выполнения метода API:GetLastUsersChanges()").SaveError(e); return(NotFound()); } }
private async Task <UserProfileChangedData> GetChangedPropertiesList(UserProfileModel model, AspNetUser identityUser, User userData) { var changedValues = new UsersChanges(); var changedProperties = new List <string>(); if (model.Email != identityUser.Email) { if (await UpdateUserEmailAsync(model.Email)) { changedValues.Email = identityUser.Email; changedProperties.Add(nameof(identityUser.Email)); } else { return new UserProfileChangedData { IsEmailValid = false } } } ; if (model.BirthYear != userData.BirthYear) { changedValues.BirthYear = userData.BirthYear; changedProperties.Add(nameof(userData.BirthYear)); } if (model.BirthMonth != userData.BirthMonth) { changedValues.BirthMonth = userData.BirthMonth; changedProperties.Add(nameof(userData.BirthMonth)); } if (model.Country != userData.CountryId) { changedValues.Country = userData.CountryId; changedProperties.Add(nameof(userData.CountryId)); } if (model.Location != userData.Location) { changedValues.Location = userData.Location; changedProperties.Add(nameof(userData.Location)); } if (model.Knows != userData.KnowsId) { changedValues.KnowsId = userData.KnowsId; changedProperties.Add(nameof(userData.KnowsId)); } if (model.Knows2 != userData.Knows2Id) { changedValues.Knows2Id = userData.Knows2Id; changedProperties.Add(nameof(userData.Knows2Id)); } if (model.Knows2 != userData.Knows3Id) { changedValues.Knows2Id = userData.Knows2Id; changedProperties.Add(nameof(userData.Knows3Id)); } if (model.Learns != userData.LearnsId) { changedValues.LearnsId = userData.LearnsId; changedProperties.Add(nameof(userData.LearnsId)); } if (model.Learns2 != userData.Learns2Id) { changedValues.Learns2Id = userData.Learns2Id; changedProperties.Add(nameof(userData.Learns2Id)); } if (model.Learns3 != userData.Learns3Id) { changedValues.Learns3Id = userData.Learns3Id; changedProperties.Add(nameof(userData.Learns3Id)); } if (model.Introduction != userData.Introduction) { changedValues.Introduction = userData.Introduction; changedProperties.Add(nameof(userData.Introduction)); } bool isTagsNeedToUpdate = CheckUpdatedTags(model, userData); UserProfileChangedData changedData = new UserProfileChangedData { ChangedProperties = changedProperties, IsTagsUpdated = isTagsNeedToUpdate }; if (changedData.ChangedProperties.Count > 0) { changedData.ChangedValues = changedValues; } return(changedData); }