public async Task <int> CreateAsync(string tenant, ItemVariantInfo variant) { string connectionString = FrapidDbServer.GetConnectionString(tenant); string sql = "EXECUTE inventory.create_item_variant @VariantOf, @ItemId, @ItemCode, @ItemName, @Variants, @UserId, @VariantId OUTPUT"; using (var connection = new SqlConnection(connectionString)) { using (var command = new SqlCommand(sql, connection)) { command.Parameters.AddWithNullableValue("@VariantOf", variant.VariantOf); command.Parameters.AddWithNullableValue("@ItemId", variant.ItemId); command.Parameters.AddWithNullableValue("@ItemCode", variant.ItemCode); command.Parameters.AddWithNullableValue("@ItemName", variant.ItemName); command.Parameters.AddWithNullableValue("@Variants", "{" + string.Join(",", variant.Variants) + "}"); command.Parameters.AddWithNullableValue("@UserId", variant.UserId); command.Parameters.Add("@VariantId", SqlDbType.Int).Direction = ParameterDirection.Output; connection.Open(); await command.ExecuteNonQueryAsync().ConfigureAwait(false); return(command.Parameters["@VariantId"].Value.To <int>()); } } }
public async Task <int> CreateAsync(string tenant, ItemVariantInfo variant) { string sql = "SELECT * FROM inventory.create_item_variant(@0,@1,@2,@3,@4,@5);"; string variants = "{" + string.Join(",", variant.Variants) + "}"; return(await Factory.ScalarAsync <int>(tenant, sql, variant.VariantOf, variant.ItemId, variant.ItemCode, variant.ItemName, variants, variant.UserId).ConfigureAwait(false)); }
public async Task <ActionResult> PostAsync(ItemVariantInfo model) { try { int variantId = await ItemVariants.CreateAsync(this.Tenant, model).ConfigureAwait(true); return(this.Ok(variantId)); } catch (Exception ex) { return(this.Failed(ex.Message, HttpStatusCode.InternalServerError)); } }
public static async Task <int> CreateAsync(string tenant, ItemVariantInfo variant) { var service = LocateService(tenant); return(await service.CreateAsync(tenant, variant).ConfigureAwait(false)); }