public async Task <long> PostAsync(string tenant, OpeningInventory model) { string connectionString = FrapidDbServer.GetConnectionString(tenant); string sql = @"SELECT * FROM inventory.post_opening_inventory ( @OfficeId, @UserId, @LoginId, @ValueDate::date, @BookDate::date, @ReferenceNumber, @StatementReference, ARRAY[{0}] );"; sql = string.Format(sql, this.GetParametersForDetails(model.Details)); using (var connection = new NpgsqlConnection(connectionString)) { using (var command = new NpgsqlCommand(sql, connection)) { command.Parameters.AddWithNullableValue("@OfficeId", model.OfficeId); command.Parameters.AddWithNullableValue("@UserId", model.UserId); command.Parameters.AddWithNullableValue("@LoginId", model.LoginId); command.Parameters.AddWithNullableValue("@ValueDate", model.ValueDate); command.Parameters.AddWithNullableValue("@BookDate", model.BookDate); command.Parameters.AddWithNullableValue("@ReferenceNumber", model.ReferenceNumber.Or("")); command.Parameters.AddWithNullableValue("@StatementReference", model.StatementReference.Or("")); command.Parameters.AddRange(this.AddParametersForDetails(model.Details).ToArray()); connection.Open(); var awaiter = await command.ExecuteScalarAsync().ConfigureAwait(false); return(awaiter.To <long>()); } } }
public async Task <ActionResult> PostAsync(OpeningInventory model) { if (!this.ModelState.IsValid) { return(this.InvalidModelState(this.ModelState)); } var meta = await AppUsers.GetCurrentAsync().ConfigureAwait(true); model.UserId = meta.UserId; model.OfficeId = meta.OfficeId; model.LoginId = meta.LoginId; long tranId = await DAL.Backend.Setup.OpeningInventories.PostAsync(this.Tenant, model).ConfigureAwait(true); return(this.Ok(tranId)); }
public async Task <long> PostAsync(string tenant, OpeningInventory model) { string connectionString = FrapidDbServer.GetConnectionString(tenant); string sql = @"EXECUTE inventory.post_opening_inventory @OfficeId, @UserId, @LoginId, @ValueDate, @BookDate, @ReferenceNumber, @StatementReference, @Details, @TransactionMasterId OUTPUT ;"; using (var connection = new SqlConnection(connectionString)) { using (var command = new SqlCommand(sql, connection)) { command.Parameters.AddWithNullableValue("@OfficeId", model.OfficeId); command.Parameters.AddWithNullableValue("@UserId", model.UserId); command.Parameters.AddWithNullableValue("@LoginId", model.LoginId); command.Parameters.AddWithNullableValue("@ValueDate", model.ValueDate); command.Parameters.AddWithNullableValue("@BookDate", model.BookDate); command.Parameters.AddWithNullableValue("@ReferenceNumber", model.ReferenceNumber.Or("")); command.Parameters.AddWithNullableValue("@StatementReference", model.StatementReference.Or("")); using (var details = this.GetDetails(model.Details)) { command.Parameters.AddWithNullableValue("@Details", details, "inventory.opening_stock_type"); } command.Parameters.Add("@TransactionMasterId", SqlDbType.BigInt).Direction = ParameterDirection.Output; connection.Open(); await command.ExecuteNonQueryAsync().ConfigureAwait(false); return(command.Parameters["@TransactionMasterId"].Value.To <long>()); } } }
public async Task <ActionResult> PostAsync(OpeningInventory model) { if (!this.ModelState.IsValid) { return(this.InvalidModelState(this.ModelState)); } var meta = await AppUsers.GetCurrentAsync().ConfigureAwait(true); model.UserId = meta.UserId; model.OfficeId = meta.OfficeId; model.LoginId = meta.LoginId; try { long tranId = await DAL.Backend.Setup.OpeningInventories.PostAsync(this.Tenant, model).ConfigureAwait(true); return(this.Ok(tranId)); } catch (Exception ex) { return(this.Failed(ex.Message, HttpStatusCode.InternalServerError)); } }
public static async Task <long> PostAsync(string tenant, OpeningInventory model) { var entry = LocateService(tenant); return(await entry.PostAsync(tenant, model).ConfigureAwait(false)); }