public IActionResult AddBeer(AddBeerVM vm) { TapRoom tapRoom = _dal.TapRooms.Where(x => x.Id == vm.TapRoomId).Include(x => x.Beers).Include(x => x.SeasonMember).ThenInclude(x => x.Season).FirstOrDefault(); if (tapRoom.UserId != _session.UserId) { return(Json(new { ErrorMessage = "Unauthorized" })); } DataValidationResult validationResult = TapRoomValidator.AddBeerValidator(vm, tapRoom); if (!validationResult.IsValid) { return(Json(new { ErrorMessage = validationResult.ErrorMessages.First() })); } Beer beer = new Beer() { TapRoomId = vm.TapRoomId, BeerName = vm.BeerName, BreweryName = vm.BreweryName, StyleName = vm.StyleName, StyleFamily = vm.StyleFamily, UntappdId = vm.UntappdId }; _dal.Beers.Add(beer); _dal.SaveChanges(); return(Json(new { })); }
public override IDataValidationResult <TKey> Deleting(TKey id, object arg, IDataValidationResults <TKey> validationResults) { IDataValidationResult <TKey> result = null; TXPORole role = arg as TXPORole; if (role != null) { int userCount = (int)role.Session.Evaluate(typeof(XpoDxUser), CriteriaOperator.Parse("Count"), CriteriaOperator.Parse("Roles[Id == ?]", role.ID)); if (userCount > 0) { result = new DataValidationResult <TKey> { ResultType = DataValidationResultType.Error, ID = role.ID, Message = String.Format("Role '{0}' cannot be deleted because there are users in this Role", role.Name) } } ; } if (result == null) { result = base.Deleting(id, arg, validationResults); } validationResults.Add(result); return(result); } }
public override IDataValidationResult <TKey> Deleting(TKey id, IDataValidationResults <TKey> validationResults, params object[] args) { if (args == null || args.Length == 0) { throw new ArgumentNullException("args[0] should contain reference to XPO entity"); } IDataValidationResult <TKey> result = null; TXPORole role = args[0] as TXPORole; if (role != null) { int userCount = (int)role.Session.Evaluate(typeof(XpoDxUser), CriteriaOperator.Parse("Count"), CriteriaOperator.Parse("Roles[Id == ?]", role.ID)); if (userCount > 0) { result = new DataValidationResult <TKey> { ResultType = DataValidationResultType.Error, ID = role.ID, Message = String.Format("Role '{0}' cannot be deleted because there are users in this Role", role.Name) } } ; } if (result == null) { result = base.Deleting(id, validationResults, args); } validationResults.Add(result); return(result); } }
private void AssertAreEqual(DataValidationResult expected, DataValidationResult actual) { Func <ValidationError, ValidationError, bool> equalityFunc = (e1, e2) => e1.ErrorMessage == e2.ErrorMessage && e1.PropertyName == e2.PropertyName; Assert.AreEqual(expected.Entry, actual.Entry); AssertEx.AreEquivalent(actual.Errors, equalityFunc, expected.Errors.ToArray()); }
public void Serialize_MoreEntitiesWithMoreErrors_DeserializedIsSame() { var errors1 = new[] { new ValidationError("UserName", "error1"), new ValidationError("UserEmail", "error2") }; var entityErrors1 = new DataValidationResult(new EntryDouble(new User(1)), errors1); var errors2 = new[] { new ValidationError("RoleName", "error3"), new ValidationError("AccessRights", "error4") }; var entityErrors2 = new DataValidationResult(new EntryDouble(new Role(2)), errors2); DataValidationException e = new DataValidationException(string.Empty, new[] { entityErrors1, entityErrors2 }); using (Stream s = new MemoryStream()) { BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(s, e); s.Position = 0; // Reset stream position e = (DataValidationException)formatter.Deserialize(s); } DataValidationResult[] actual = e.ValidationErrors.ToArray(); AssertAreEqual(entityErrors1, actual[0]); AssertAreEqual(entityErrors2, actual[1]); }
/// <summary> /// Writes DataValidationResult into JSON. /// </summary> /// <param name="jsonWriter">The <see cref="JsonWriter"/>.</param> /// <param name="dataValidationResult">The DataValidationResult.</param> /// <returns>This <see cref="JsonWriter"/> for fluent coding.</returns> public static JsonWriter Write(this JsonWriter jsonWriter, DataValidationResult dataValidationResult) { return(jsonWriter .WriteStartObject() .WriteNameStringPair(DATA_ROW, dataValidationResult.DataRow.ToString()).WriteComma() .WriteNameArrayPair <DataValidationError>(ERRORS, dataValidationResult.Errors, (writer, validationMessage) => writer.Write(validationMessage)) .WriteEndObject()); }
public override IDataValidationResult <TKey> Updating(TModel model, IDataValidationResults <TKey> validationResults) { var result = new DataValidationResult <TKey> { ResultType = DataValidationResultType.Success, ID = model.ID }; validationResults.Add(result); return(result); }
public override IDataValidationResult <TKey> Inserted(TModel model, TXPOClass dbModel, IDataValidationResults <TKey> validationResults) { var result = new DataValidationResult <TKey> { ResultType = DataValidationResultType.Success, ID = dbModel.ID }; validationResults.Add(result); return(result); }
public override IDataValidationResult <TKey> Deleting(TKey id, object arg, IDataValidationResults <TKey> validationResults) { var result = new DataValidationResult <TKey> { ResultType = DataValidationResultType.Success, ID = id }; validationResults.Add(result); return(result); }
public override IDataValidationResult <TKey> Deleted(TKey id, TXPOClass dbModel, IDataValidationResults <TKey> validationResults) { var result = new DataValidationResult <TKey> { ResultType = DataValidationResultType.Success, ID = id }; validationResults.Add(result); return(result); }
// Token: 0x06003135 RID: 12597 RVA: 0x0012238C File Offset: 0x0012058C internal static string ValidatePhoneNumbers(UnifiedMessagingUtilities.ValidatePhoneNumber validatePhoneNumber, params string[] phoneNumbers) { IDataValidationResult dataValidationResult = new DataValidationResult(); string data = string.Empty; string result = null; foreach (string text in phoneNumbers) { if (!validatePhoneNumber(text, out dataValidationResult)) { data = text; break; } } if (dataValidationResult.PAAValidationResult != PAAValidationResult.Valid) { result = UnifiedMessagingUtilities.GetErrorResourceId(dataValidationResult.PAAValidationResult, data); } return(result); }