private Method ExtendDeleteByPrimaryKeysMethod(Model model) { Method method = new Method { Name = "DeleteBy" + MappingExtenderHelper.GetPrimaryKeyNamesConnectedWithAnd(model, true), // TODO: Embed string into resource file later. Description = string.Format(CultureInfo.InvariantCulture, "Delete {0}s by primary keys. (Auto generated)", model.Name), CommandType = CommandType.Text, MethodType = MethodType.ExecuteNonQuery, }; // Add parameters. foreach (var property in model.Properties) { if (property.IsPrimaryKey && !property.IsExtended) { method.Parameters.Add(MappingExtenderHelper.PropertyToParameter(provider, property, true)); } } // Add return result parameter. //method.Parameters.Add(MappingExtenderHelper.BuildReturnResultParameter(provider)); // Add result. //method.Results.Add(MappingExtenderHelper.BuildReturnResult(provider)); return(method); }
private Method ExtendGetByPrimaryKeyMethod(Model model) { if (model.IsView) { return(null); } Method method = new Method { Name = "GetBy" + MappingExtenderHelper.GetPrimaryKeyNamesConnectedWithAnd(model), Description = string.Format(CultureInfo.InvariantCulture, "Get {0} item by primary key. (Auto generated)", model.Name), CommandType = CommandType.Text, MethodType = MethodType.ExecuteReader }; // Add parameters. foreach (var property in model.Properties) { if (property.IsPrimaryKey) { method.Parameters.Add(MappingExtenderHelper.PropertyToParameter(provider, property)); } } // Add result. method.Results.Add( new Result { Name = model.Name + "Model", Type = string.Format(CultureInfo.InvariantCulture, "Models.{0}.{1}Model", model.Namespace, model.Name), Description = model.Name + " Model.", IsOutputParameter = false }); StringBuilder sb = new StringBuilder(); sb.AppendLine("SELECT"); sb.AppendLine("FROM"); foreach (var property in model.Properties) { } sb.AppendLine(); sb.AppendLine("WHERE"); foreach (var property in model.Properties) { if (property.IsPrimaryKey) { sb.AppendFormat("\t{0}.{1} = @{1} AND", model.MappingName, property.Name); sb.AppendLine(); // Environment.NewLine } } sb.Length = sb.Length - " AND".Length - Environment.NewLine.Length; sb.AppendLine("\t{0} = @{0}"); return(method); }