Пример #1
0
        public string OrderUpdate([FromQuery] updateOrders UpdateData, [FromBody] UpdateOrderDetails UpdateDetailData)
        {
            //required information
            if (UpdateData.OrderID == 0)
            {
                return("Please input OrderID");
            }
            string result, updateOrder, updateOrderDetial;
            var    Update = new DataUpdate();

            //Determine if Order need to update
            if (UpdateData.CustomerID != null || UpdateData.CustomerID != null || UpdateData.EmployeeID != null || UpdateData.OrderDate != null || UpdateData.RequiredDate != null || UpdateData.ShipVia != null ||
                UpdateData.Freight != null || UpdateData.ShipName != null || UpdateData.ShipAddress != null || UpdateData.ShipCity != null || UpdateData.ShipRegion != null || UpdateData.ShipPostalCode != null || UpdateData.ShipCountry != null)
            {
                updateOrder = Update.UpdateOrderData(UpdateData);
            }
            else
            {
                updateOrder = "Order not Edit";
            }
            //Determine if Order Detail need to update & ProductID is required information
            if (UpdateDetailData.ProductID != null & (UpdateDetailData.Quantity != null || UpdateDetailData.UnitPrice != null || UpdateDetailData.Discount != null))
            {
                updateOrderDetial = Update.UpdateOrderDetailData(UpdateDetailData, UpdateData.OrderID);
            }
            else
            {
                updateOrderDetial = "Order Detail not Edit";
            }
            result = updateOrder + " & " + updateOrderDetial;
            return(result);
        }
Пример #2
0
        public string UpdateOrderData(updateOrders UpdateData)
        {
            var dynamicParams = new DynamicParameters();//←動態參數

            dynamicParams.Add("OrderID", UpdateData.OrderID);
            var    sqlCondition = @"";
            string SqlString, result;
            var    Update = new SqlServices();

            SqlConnection conn = new SqlConnection("Data Source=howardorder.database.windows.net;Initial Catalog=OrderDatabase;Persist Security Info=True;User Id =howard;Password=Yihao1222");

            conn.Open();
            //Determine if HasValue
            if (UpdateData.EmployeeID.HasValue)
            {
                sqlCondition = sqlCondition + " EmployeeID = @EmployeeID,";
                dynamicParams.Add("EmployeeID", UpdateData.EmployeeID);
            }
            if (UpdateData.CustomerID != null)
            {
                dynamicParams.Add("CustomerID", UpdateData.CustomerID);
                var queryCustomer = conn.Query <updateOrders>("select CustomerID From Customers where CustomerID = @CustomerID", dynamicParams);
                conn.Close();
                if (queryCustomer.Count() != 0)
                {
                    sqlCondition = sqlCondition + "CustomerID = @CustomerID,";
                }
                else
                {
                    conn.Close();
                    return("No such CustomerID");
                }
            }
            if (UpdateData.RequiredDate.HasValue)
            {
                sqlCondition = sqlCondition + "RequiredDate = @RequiredDate,";
                dynamicParams.Add("RequiredDate", UpdateData.RequiredDate);
            }
            if (UpdateData.ShippedDate.HasValue)
            {
                sqlCondition = sqlCondition + "ShippedDate = @ShippedDate,";
                dynamicParams.Add("ShippedDate", UpdateData.ShippedDate);
            }
            if (UpdateData.ShipVia.HasValue)
            {
                sqlCondition = sqlCondition + "ShipVia = @ShipVia,";
                dynamicParams.Add("ShipVia", UpdateData.ShipVia);
            }
            if (UpdateData.Freight.HasValue)
            {
                sqlCondition = sqlCondition + "Freight = @Freight,";
                dynamicParams.Add("Freight", UpdateData.Freight);
            }
            if (UpdateData.ShipName != null)
            {
                sqlCondition = sqlCondition + "ShipName = @ShipName,";
                dynamicParams.Add("ShipName", UpdateData.ShipName);
            }
            if (UpdateData.ShipAddress != null)
            {
                sqlCondition = sqlCondition + "ShipAddress = @ShipAddress,";
                dynamicParams.Add("ShipAddress", UpdateData.ShipAddress);
            }
            if (UpdateData.ShipCity != null)
            {
                sqlCondition = sqlCondition + "ShipCity = @ShipCity,";
                dynamicParams.Add("ShipCity", UpdateData.ShipCity);
            }
            if (UpdateData.ShipRegion != null)
            {
                sqlCondition = sqlCondition + "ShipRegion = @ShipRegion,";
                dynamicParams.Add("ShipRegion", UpdateData.ShipRegion);
            }
            if (UpdateData.ShipPostalCode != null)
            {
                sqlCondition = sqlCondition + "ShipPostalCode = @ShipPostalCode,";
                dynamicParams.Add("ShipPostalCode", UpdateData.ShipPostalCode);
            }
            if (UpdateData.ShipCountry != null)
            {
                sqlCondition = sqlCondition + "ShipCountry = @ShipCountry,";
                dynamicParams.Add("ShipCountry", UpdateData.ShipCountry);
            }
            sqlCondition = sqlCondition.Remove(sqlCondition.LastIndexOf(","), 1);

            SqlString = $@"UPDATE Orders SET 
                {sqlCondition}
                WHERE OrderID = @OrderID";
            result    = Update.SqlUpdate(SqlString, dynamicParams);

            if (result.Equals("Update Success"))
            {
                result = "Edit Order - Success";
            }

            return(result);
        }