Esempio n. 1
0
 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));
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        public static async Task <bool> RemoveFirmProductAsync(this IdapadDataAccess dataAccess,
                                                               int Id)
        {
            await dataAccess.ExecuteScalarAsync <bool>(
                "Delete FirmProducts WHERE Id = " + Id);

            return(true);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
        }