public static async Task <int> LinkFirmToUserAsync(this IdapadDataAccess dataAccess, FirmUser firmUser) { return(await dataAccess.ExecuteScalarAsync <int>( "Insert FirmUsers (FirmId, UserId) output inserted.Id values" + "(@FirmId, @UserId)", firmUser)); }
public static async Task <User> Register(this IdapadDataAccess dataAccess, UserRegister userRegister) { byte[] passwordHash, passwordSalt; CreatePasswordHash(userRegister.Password, out passwordHash, out passwordSalt); var userToRegister = new UserToRegister { FirstName = userRegister.FirstName, LastName = userRegister.LastName, UserName = userRegister.UserName.ToLower(), EmailAddress = userRegister.EmailAddress, PasswordHash = passwordHash, PasswordSalt = passwordSalt }; var id = await dataAccess.ExecuteScalarAsync <int>( @"INSERT Appuser(FirstName, LastName, UserName, EmailAddress, PasswordHash, PasswordSalt)" + " output inserted.Id VALUES(@FirstName, @LastName, @UserName, @EmailAddress, @PasswordHash, @PasswordSalt)", userToRegister); var user = new User(); user.Id = id; user.FirstName = userToRegister.FirstName; user.LastName = userToRegister.LastName; user.UserName = userToRegister.UserName; user.EmailAddress = userToRegister.EmailAddress; return(user); }
public static async Task <int> CreateOrderAsync(this IdapadDataAccess dataAccess, RedisDataAccess basketAccess, FirmOrder order, string Email, int DeliveryMethodId, int AddressId) { var basket = await basketAccess.GetBasketAsync(order.BasketId); decimal orderSubTotal = 0; var orderCreate = new { BuyerEmail = Email, OrderDate = order.OrderDate, DeliveryMethodId = DeliveryMethodId, ShipAddressId = AddressId, Status = order.Status }; var orderid = await dataAccess.ExecuteScalarAsync <int>( "Insert Orders (BuyerEmail, OrderDate, DeliveryMethodId, ShipAddressId, Status) " + "output inserted.Id " + "values(@BuyerEmail, @OrderDate, @DeliveryMethodId, @ShipAddressId, @Status)", orderCreate); var items = new List <FirmOrderItem>(); foreach (var item in basket.Items) { //var productItem = await dataAccess.GetFirmProductItemAsync(item.Id); var orderItemCreate = new { FirmProductId = item.Id, Price = item.Price, Quantity = item.Quantity, orderid = orderid, }; var orderitemid = await dataAccess.ExecuteScalarAsync <int>( "INSERT INTO[dbo].[OrderItems]([FirmProductId],[Price],[Quantity],[OrderId]) " + " VALUES( @FirmProductId, @Price, @Quantity, @OrderId)", orderItemCreate); orderSubTotal = orderSubTotal + (decimal)(item.Quantity * item.Price); } await dataAccess.ExecuteAsync( "UPDATE Orders SET SubTotal = " + orderSubTotal + " WHERE Id = " + orderid); return(orderid); }
public static async Task <bool> RemoveFirmProductAsync(this IdapadDataAccess dataAccess, int Id) { await dataAccess.ExecuteScalarAsync <bool>( "Delete FirmProducts WHERE Id = " + Id); return(true); }
public static async Task <int> CreateFirmAsync(this IdapadDataAccess dataAccess, Firm firm) { var firmId = await DoestheFirmExists(dataAccess, firm); if (firmId < 1) { return(await dataAccess.ExecuteScalarAsync <int>( "Insert Firm (Name, Type, AddressId) output inserted.Id values(@Name, @Type, @AddressId)", firm)); } return(firmId); }
public static async Task <int> AddFirmProductAsync(this IdapadDataAccess dataAccess, FirmProduct firmProduct) { var firmProductId = await DoestheFirmProductExists(dataAccess, firmProduct); if (firmProductId < 1) { return(await dataAccess.ExecuteScalarAsync <int>( "Insert FirmProducts (ProductId, FirmId) output inserted.Id values(@ProductId, @FirmId)", firmProduct)); } return(firmProductId); }
public static async Task <int> CreateFirmAddressAsync(this IdapadDataAccess dataAccess, FirmAddress firmaddress) { var firmAddressId = await DoestheAddressExists(dataAccess, firmaddress); if (firmAddressId < 1) { return(await dataAccess.ExecuteScalarAsync <int>( "Insert FirmAddress (TypeId, StreetAddress, AptAddress, City, State, ZipCode) output inserted.Id values" + "(1, @StreetAddress, @AptAddress, @City, @State, @ZipCode)", firmaddress)); } return(firmAddressId); }