/// <summary> /// Saves or updates the entity without its children. /// </summary> /// /// <param name="entity"> /// Entity to save or update. /// </param> /// /// <param name="options"> /// Optional options. /// </param> /// /// <returns> /// The number of affected rows. /// </returns> private int Persist(ref VahapYigit.Test.Models.Translation entity, SaveOptions options = null) { if (entity.State != VahapYigit.Test.Models.EntityState.ToInsert && entity.State != VahapYigit.Test.Models.EntityState.ToUpdate) { return(0); } IList <TranslationEnum> errors; if (!entity.IsValid(out errors)) { throw new EntityValidationException(errors); } int rowCount = 0; using (var et = new ExecutionTracerService(tag: entity.State.ToString())) { if (options.CheckUniqueConstraints) { IList <TranslationEnum> ucErrors = new List <TranslationEnum>(); SearchOptions searchOpts = new SearchOptions(); searchOpts.Clear(); if (entity.State == VahapYigit.Test.Models.EntityState.ToUpdate) { searchOpts.Filters.Add(VahapYigit.Test.Models.Translation.ColumnNames.Id, FilterOperator.Different, entity.Id); } searchOpts.Filters.Add(VahapYigit.Test.Models.Translation.ColumnNames.Key, FilterOperator.Equals, entity.Key); if (this.HasResult(searchOpts)) { ucErrors.Add(TranslationEnum.CrudTranslationKeyUniqueConstraint); } if (ucErrors.Count != 0) { throw new EntityValidationException(ucErrors); } } var parameters = new Dictionary <string, object>(); parameters.Add("@Translation_Id", entity.Id); parameters.Add("@Translation_Key", entity.Key); parameters.Add("@Translation_Value_EN", entity.Value["EN"]); var collection = base.ToEntityCollection("Translation_Save", parameters, withDeepMapping: false); if (!collection.IsNullOrEmpty()) { entity.Map(collection[0]); rowCount = 1; } return(rowCount); } }
/// <summary> /// Saves or updates the entity without its children. /// </summary> /// /// <param name="entity"> /// Entity to save or update. /// </param> /// /// <param name="options"> /// Optional options. /// </param> /// /// <returns> /// The number of affected rows. /// </returns> private int Persist(ref VahapYigit.Test.Models.User entity, SaveOptions options = null) { if (entity.State != VahapYigit.Test.Models.EntityState.ToInsert && entity.State != VahapYigit.Test.Models.EntityState.ToUpdate) { return(0); } IList <TranslationEnum> errors; if (!entity.IsValid(out errors)) { throw new EntityValidationException(errors); } int rowCount = 0; using (var et = new ExecutionTracerService(tag: entity.State.ToString())) { if (options.CheckUniqueConstraints) { IList <TranslationEnum> ucErrors = new List <TranslationEnum>(); SearchOptions searchOpts = new SearchOptions(); searchOpts.Clear(); if (entity.State == VahapYigit.Test.Models.EntityState.ToUpdate) { searchOpts.Filters.Add(VahapYigit.Test.Models.User.ColumnNames.Id, FilterOperator.Different, entity.Id); } searchOpts.Filters.Add(VahapYigit.Test.Models.User.ColumnNames.Email, FilterOperator.Equals, entity.Email); if (this.HasResult(searchOpts)) { ucErrors.Add(TranslationEnum.CrudUserEmailUniqueConstraint); } searchOpts.Clear(); if (entity.State == VahapYigit.Test.Models.EntityState.ToUpdate) { searchOpts.Filters.Add(VahapYigit.Test.Models.User.ColumnNames.Id, FilterOperator.Different, entity.Id); } searchOpts.Filters.Add(VahapYigit.Test.Models.User.ColumnNames.Username, FilterOperator.Equals, entity.Username); if (this.HasResult(searchOpts)) { ucErrors.Add(TranslationEnum.CrudUserUsernameUniqueConstraint); } if (ucErrors.Count != 0) { throw new EntityValidationException(ucErrors); } } var parameters = new Dictionary <string, object>(); parameters.Add("@User_Id", entity.Id); parameters.Add("@User_Username", entity.Username); parameters.Add("@User_Password", entity.Password); parameters.Add("@User_Email", entity.Email); parameters.Add("@User_PasswordQuestion", entity.PasswordQuestion); parameters.Add("@User_PasswordResponse", entity.PasswordResponse); parameters.Add("@User_RegistrationDate", entity.RegistrationDate); parameters.Add("@User_LastConnectionDate", entity.LastConnectionDate); parameters.Add("@User_Culture", entity.Culture); var collection = base.ToEntityCollection("User_Save", parameters, withDeepMapping: false); if (!collection.IsNullOrEmpty()) { entity.Map(collection[0]); rowCount = 1; } return(rowCount); } }