/// <summary> /// 更新 /// </summary> /// <param name="model">The model.</param> /// <returns> /// <c>true</c> if XXXX, <c>false</c> otherwise. /// </returns> /// <exception cref="System.ArgumentNullException">model</exception> public async Task <IResult> UpdateAsync(FooModel model) { var stepName = $"{nameof(FooRepository)}.UpdateAsync"; using (ProfilingSession.Current.Step(stepName)) { if (model.EqualNull()) { throw new ArgumentNullException(nameof(model)); } var exists = await this.IsExistsAsync(model.FooId); if (exists.Equals(false)) { return(new Result(false) { Message = "資料不存在" }); } using (var conn = (_databaseHelper.GetConnection(_databaseHelper.WLDOConnectionString))) { var sqlCommand = new StringBuilder(); sqlCommand.AppendLine(" begin tran "); sqlCommand.AppendLine(" Update [dbo].[Foo] "); sqlCommand.AppendLine(" SET "); sqlCommand.AppendLine(" Name = @Name ,"); sqlCommand.AppendLine(" Description = @Description ,"); sqlCommand.AppendLine(" Enable = @Enable ,"); sqlCommand.AppendLine(" UpdateTime = @UpdateTime "); sqlCommand.AppendLine(" WHERE FooId = @FooId "); sqlCommand.AppendLine(" commit "); var parameters = new DynamicParameters(); parameters.Add("FooId", model.FooId); parameters.Add("Name", model.Name.IsNullOrWhiteSpace() ? string.Empty : model.Name.Trim().Length > 50 ? model.Name.Trim().Substring(0, 50) : model.Name.Trim()); parameters.Add("Description", model.Description.IsNullOrWhiteSpace() ? string.Empty : model.Description.Trim().Length > 100 ? model.Description.Trim().Substring(0, 100) : model.Description.Trim()); parameters.Add("Enable", model.Enable); parameters.Add("UpdateTime", model.UpdateTime); var executeResult = await conn.ExecuteAsync ( sql : sqlCommand.ToString(), param : parameters ); IResult result = new Result(false); if (executeResult.Equals(1)) { result.Success = true; result.AffectRows = executeResult; return(result); } result.Message = "資料更新錯誤"; return(result); } } }
/// <summary> /// 新增 /// </summary> /// <param name="model">The model.</param> /// <returns> /// <c>true</c> if XXXX, <c>false</c> otherwise. /// </returns> public async Task <IResult> InsertAsync(FooModel model) { var stepName = $"{nameof(FooRepository)}.InsertAsync"; using (ProfilingSession.Current.Step(stepName)) { if (model.EqualNull()) { throw new ArgumentNullException(nameof(model)); } using (var conn = (_databaseHelper.GetConnection(_databaseHelper.WLDOConnectionString))) { var sqlCommand = new StringBuilder(); sqlCommand.AppendLine("begin tran"); sqlCommand.AppendLine("INSERT INTO [dbo].[Foo]"); sqlCommand.AppendLine("("); sqlCommand.AppendLine(" [FooId],"); sqlCommand.AppendLine(" [Name],"); sqlCommand.AppendLine(" [Description],"); sqlCommand.AppendLine(" [Enable],"); sqlCommand.AppendLine(" [CreateTime],"); sqlCommand.AppendLine(" [UpdateTime] "); sqlCommand.AppendLine(")"); sqlCommand.AppendLine("VALUES"); sqlCommand.AppendLine("("); sqlCommand.AppendLine(" @FooId,"); sqlCommand.AppendLine(" @Name,"); sqlCommand.AppendLine(" @Description,"); sqlCommand.AppendLine(" @Enable,"); sqlCommand.AppendLine(" @CreateTime,"); sqlCommand.AppendLine(" @UpdateTime "); sqlCommand.AppendLine(");"); sqlCommand.AppendLine("commit"); var parameters = new DynamicParameters(); parameters.Add("FooId", model.FooId); parameters.Add("Name", model.Name.IsNullOrWhiteSpace() ? string.Empty : model.Name.Trim().Length > 50 ? model.Name.Trim().Substring(0, 50) : model.Name.Trim()); parameters.Add("Description", model.Description.IsNullOrWhiteSpace() ? string.Empty : model.Description.Trim().Length > 100 ? model.Description.Trim().Substring(0, 100) : model.Description.Trim()); parameters.Add("Enable", model.Enable); parameters.Add("CreateTime", model.CreateTime); parameters.Add("UpdateTime", model.UpdateTime); var executeResult = await conn.ExecuteAsync ( sql : sqlCommand.ToString(), param : parameters ); IResult result = new Result(false); if (executeResult.Equals(1)) { result.Success = true; result.AffectRows = executeResult; return(result); } result.Message = "資料新增錯誤"; return(result); } } }