Пример #1
0
        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>());
                }
            }
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
            }
        }
Пример #4
0
        public static async Task <int> CreateAsync(string tenant, ItemVariantInfo variant)
        {
            var service = LocateService(tenant);

            return(await service.CreateAsync(tenant, variant).ConfigureAwait(false));
        }