Exemple #1
0
        public async Task <ActionResult <int> > RegisterFirm(
            [FromBody] FirmAddressDto model)
        {
            var firmaddress = new FirmAddress
            {
                AptAddress    = (string)model.AptAddress,
                StreetAddress = (string)model.StreetAddress,
                City          = (string)model.City,
                State         = (string)model.State,
                ZipCode       = (string)model.Zip,
            };

            var addressId = await _dataAccess.CreateFirmAddressAsync(firmaddress);

            var firm = new Firm
            {
                Name      = (string)model.Name,
                Type      = (string)model.Type,
                AddressId = addressId
            };

            var firmId = await _dataAccess.CreateFirmAsync(firm);

            var user = await _dataAccess.GetUserByUserNameAsync(model.UserName);

            var firmUser = new FirmUser
            {
                FirmId = (int)firmId,
                UserId = (int)user.Id,
            };

            await _dataAccess.LinkFirmToUserAsync(firmUser);

            return(firmId);
        }
Exemple #2
0
        private static async Task <int> DoestheAddressExists(this IdapadDataAccess dataAccess,
                                                             FirmAddress firmaddress)
        {
            int firmAddressId = await dataAccess.QueryFirstOrDefaultAsync <int>(
                "select Id from FirmAddress where " +
                "StreetAddress = @StreetAddress " +
                "AND isnull(AptAddress, 'AptAddress') = ISNULL(@AptAddress, isnull(AptAddress, 'AptAddress')) " +
                "AND City = @City AND State =@State AND ZipCode= @ZipCode", firmaddress);

            return(firmAddressId);
        }
Exemple #3
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);
        }
        public IActionResult SaveFirmDetails([FromBody] FirmAddress firmAddress)
        {
            if (firmAddress == null)
            {
                return(BadRequest());
            }
            try
            {
                _registrationService.SaveFirmDetails(firmAddress);
            }
            catch (Exception ex)
            {
                return(Problem(detail: ex.StackTrace, title: ex.Message, statusCode: 500));
            }

            return(Ok());
        }
        public void SaveFirmDetails(FirmAddress firmAddress)
        {
            try
            {
                using (SqlCommand sqlCommand = new SqlCommand())
                {
                    sqlCommand.Connection  = _connection;
                    sqlCommand.CommandType = System.Data.CommandType.StoredProcedure;
                    sqlCommand.CommandText = "spInsertIntoFirmDetails";
                    sqlCommand.Parameters.AddWithValue("Address1", firmAddress.Address1);
                    sqlCommand.Parameters.AddWithValue("Address2", firmAddress.Address2);
                    sqlCommand.Parameters.AddWithValue("City", firmAddress.City);
                    sqlCommand.Parameters.AddWithValue("State", firmAddress.State);
                    sqlCommand.Parameters.AddWithValue("Zip", firmAddress.Zip);
                    sqlCommand.Parameters.AddWithValue("FirmId", firmAddress.FirmId);

                    if (_connection.State == System.Data.ConnectionState.Closed)
                    {
                        _connection.Open();
                    }

                    int rowsAffected = sqlCommand.ExecuteNonQuery();

                    //Sending notification after saving the firm additional details.

                    NotificationDetails notificationDetails = new NotificationDetails()
                    {
                        NotificationType = NotificationType.FirmAdditionalDetailsSave.ToString(),
                        Body             = "Your firm details with firmID " + firmAddress.FirmId + " are saved . Below are the details provided ." +
                                           Environment.NewLine + Environment.NewLine +
                                           "Address1 : " + firmAddress.Address1 +
                                           Environment.NewLine + "Address2 : " + firmAddress.Address2 +
                                           Environment.NewLine + "City : " + firmAddress.City +
                                           Environment.NewLine + "State : " + firmAddress.State +
                                           Environment.NewLine + "Zip : " + firmAddress.Zip,
                        Subject = "FinancingPMS Firm additional details update."
                    };

                    _notificationService.SendNotification(notificationDetails);
                }
            }
            finally
            {
                _connection.Close();
            }
        }
Exemple #6
0
        public static async Task <List <FirmOrder> > GetOrderAsync(this IdapadDataAccess dataAccess, string email)
        {
            string SQL = "SELECT o.Id, o.[BuyerEmail], o.[OrderDate], o.[DeliveryMethodId], o.[ShipAddressId], " +
                         "o.[Subtotal], o.[Status], o.[PaymentInterestId], " +
                         "i.[FirmProductId], i.[FirmProductId], p.Id ProductId, p.[Name] ProductName, " +
                         "p.[Description] ProductDescription, p.PictureUrl ProductPictureUrl, " +
                         "i.[Price], i.[Quantity], i.[SizeId], i.[OrderId], i.Id OrderItemId, " +
                         "d.ShortName DelShortName, d.[DeliveryTime], d.[Description] DelDescription, d.[Price] DelPrice, " +
                         "a.[StreetAddress], a.[AptAddress], a.[City], a.[State], a.[ZipCode] " +
                         "FROM [dbo].[Orders] o " +
                         "INNER JOIN [dbo].[OrderItems] i ON o.Id = i.OrderId " +
                         "INNER JOIN [dbo].[FirmProducts] fp ON i.FirmProductId = fp.Id " +
                         "INNER JOIN [dbo].[Products] p ON fp.ProductId = p.Id " +
                         "INNER JOIN [dbo].[Firm] f ON i.FirmProductId = f.Id " +
                         "INNER JOIN [dbo].[DeliveryMethod] d on o.[DeliveryMethodId] = d.Id " +
                         "INNER JOIN FirmAddress a on a.Id = o.Id " +
                         "WHERE o.BuyerEmail = '" + email + "'";

            var ordersflat = await dataAccess.QueryAsync <OrderFlat>(SQL);

            List <FirmOrder> orders = new List <FirmOrder>();

            //
            HashSet <int> orderIds = new HashSet <int>();

            foreach (var item in ordersflat)
            {
                if (!orderIds.Contains(item.Id))
                {
                    var order = new FirmOrder();
                    order.Id         = item.Id;
                    order.BuyerEmail = item.BuyerEmail;
                    order.OrderDate  = item.OrderDate;
                    order.Subtotal   = item.Subtotal;


                    FirmAddress shipaddress = new FirmAddress();
                    shipaddress.StreetAddress = item.StreetAddress;
                    shipaddress.AptAddress    = item.AptAddress;
                    shipaddress.City          = item.City;
                    shipaddress.State         = item.State;
                    shipaddress.ZipCode       = item.ZipCode;
                    order.ShipToAddress       = shipaddress;

                    OrderDelivery delivery = new OrderDelivery();
                    delivery.DeliveryTime = item.DeliveryTime;
                    delivery.ShortName    = item.DelShortName;
                    delivery.Description  = item.DelDescription;
                    delivery.Price        = item.DelPrice;
                    order.DeliveryMethod  = delivery;

                    order.OrderItems = new List <FirmOrderItem>();

                    foreach (var orderitem in ordersflat.Where(oi => oi.OrderId == order.Id))
                    {
                        FirmOrderItem firmorderItem = new FirmOrderItem();

                        firmorderItem.OrderId  = orderitem.OrderId;
                        firmorderItem.Id       = orderitem.OrderItemId;
                        firmorderItem.Price    = orderitem.Price;
                        firmorderItem.Quantity = orderitem.Quantity;

                        FirmProductItem firmProductItem = new FirmProductItem();
                        firmProductItem.ProductId   = orderitem.FirmProductId;
                        firmProductItem.ProductName = orderitem.ProductName;
                        firmProductItem.PictureUrl  = orderitem.ProductPictureUrl;
                        firmorderItem.ItemOrdered   = firmProductItem;

                        order.OrderItems.Add(firmorderItem);
                    }

                    orderIds.Add(order.Id);
                    orders.Add(order);
                }
            }
            return(orders);
        }