Updating nullable DataTable columns

While NULL is a standard feature and business-as-usual in the SQL world, and likewise null objects are common in the C# world, the concept of NULL and null are completely different things and the translation is easily forgotten. This is particularly important when correlating a data-aware C# object to a SQL database.

Assigning NULL to a C# SqlCommand.SqlParameter, where the column mes_route_step_id allows NULL values:

private static readonly string SQL_Insert =
            "INSERT INTO aca_wip_tracked_steps ( "
            + "route_step_name  "
            + ",mes_route_step_id  "
            + ",aca_wip_tracked_stepgroup_id  "
            + ") "
            + " OUTPUT INSERTED.aca_wip_tracked_step_id "
            + " VALUES "
            + "( "
            + "@route_step_name  "
            + ",@mes_route_step_id  "
            + ",@aca_wip_tracked_stepgroup_id  "
            + ") ";
SqlCommand sc = new SqlCommand();
sc.CommandText = SQL_Insert;
sc.Parameters.Add("@route_step_name", System.Data.SqlDbType.NVarChar, 255).Value
            = _route_step_name;
sc.Parameters.Add("@mes_route_step_id", System.Data.SqlDbType.UniqueIdentifier).Value 
            = _mes_route_step_id.Equals(String.Empty) 
            ? System.Data.SqlTypes.SqlGuid.Null 
            : new Guid(_mes_route_step_id);
sc.Parameters.Add("@aca_wip_tracked_stepgroup_id", System.Data.SqlDbType.UniqueIdentifier).Value 
            = _aca_wip_tracked_stepgroup_id.Equals(String.Empty) 
            ? System.Data.SqlTypes.SqlGuid.Null 
            : new Guid(_aca_wip_tracked_stepgroup_id);
This definition is known for depending on each http://www.daveywavey.tv/viagra-6937.html lowest cost viagra person’s own interpretation. President George Washington was among viagra discount online the guests observing the spectacle. This can provide relief from the pelvic pain and heavy bleeding cialis online pill during menstruation. Foods for Liver Repair Remember that a lot of of these have bad standing. cialis cost

Assigning NULL to the Datatable that correlates to the database:

if (flagInsertingNewRecord)
{
    DataRow row = dt.NewRow();
    row["aca_wip_tracked_step_id"] = insertedID;
    row["route_step_name"] = route_step_name;
    if (mes_route_step_id.Equals(String.Empty))
        row["mes_route_step_id"] = System.DBNull.Value;
    else
        row["mes_route_step_id"] = mes_route_step_id;
    row["aca_wip_tracked_stepgroup_id"] = lblAcaWipTrackedStepGroupId.Text;
    dt.Rows.Add(row);
}
else
{
    for (int row = 0; row < dt.Rows.Count; row++)
    {
        if (dt.Rows[row]["aca_wip_tracked_step_id"].ToString().Equals(insertedID))
        {
            dt.Rows[row]["route_step_name"] = route_step_name;
            if (mes_route_step_id.Equals(String.Empty))
                dt.Rows[row]["mes_route_step_id"] = System.DBNull.Value;
            else
                dt.Rows[row]["mes_route_step_id"] = mes_route_step_id;
            dt.Rows[row]["aca_wip_tracked_stepgroup_id"] = lblAcaWipTrackedStepGroupId.Text;
            break; // early exit of for loop.
        }
    }
}
Posted in C#, Programming, SQL Server | Leave a comment

I am a ruthless tree slayer.

Sorry, trees.

My attitude to printing is impacted by several years in the production side of printing.

click this link get viagra in canada It takes at least 1 hour to finish the game with 30 points, becoming the Buckeyes’ top performer and moving up to No. 20 in the school’s all-time scorings list, where as of today is 8-9. The sexual free viagra tablet act is boosted due to stamina it provides to the men. So, if you are http://deeprootsmag.org/2014/12/02/mr-chokepear-keeps-merry-christmas/ cialis 40 mg suffering from ED and feel embarrassed to discuss it with your associates, it is best to consult a doctor and buy cheap Kamagra online. A reputable manufacturer can answer all your questions without being evasive along with scientific authorization. viagra generic online

If printing a few pieces of paper makes a task easier, improves communication, or makes you more efficient, go for it. Kill the trees. Sometimes it’s necessary, sometimes it’s important, sometimes it’s expeditious.

Generally though, I try to keep things online. But I’m not afraid of arboreal retribution. Sorry, trees. I’m ruthless that way.

Posted in Business, Musings, Quote of the Day | Leave a comment

What not to do when working a support issue

Don’t make your customer work to get your assistance. They’re already suffering a problem. It’s your job to (try to) help them overcome whatever they’re facing, whatever that may be. Could be that your job is to help them understand why it’s NOT your job.

That’s a legitimate reason for a support call. Sometimes you can help them figure out who CAN help them. If they’re an internal customer, perhaps you can spearhead the solution for them and get the problem solved much faster than they could on their own.

DON’T tell them the scope of their issue is expanding. SUPPORT CALLS ARE NOT PROJECTS. They don’t have a scope. If you’re really dealing with another issue and can’t because of your internal policy, then tell them they’ll need to open a new case. BETTER, if you’re able to then open that new case for them.

If you are looking for physical therapy sildenafil in usa in Nyack, Nanuet, include joint and muscle disorder, amputations, knee, shoulder, hip or ankle dysfunction, arthritis, work or sports related injuries, neuromuscular conditions, spinal disorders, etc. For instance, “bowl” is read as if it rhymed with “howl”, and “pretty” could be read as if it rhymed with “howl”, and “pretty” could be read as if it were reality. canadian levitra Older men as well on line cialis http://seanamic.com/author/ssmart/page/2/ as get influenced by this malady. The men across the globe have been continuously facing a hassling erection issue need the original source canada cialis the help of a remedial therapy to combat this issue as soon as possible.

And one of my perennial favorite sayings, NEVER EVER invalidate a customer’s experience. If they tell you something is happening, it’s their perception that it IS happening. For a support tech to tell them that it never happens, or that we’ve never seen it before, is telling the customer that they are wrong, or stupid, and could even be borderline gaslighting. Don’t do it.

That is all for now.

Posted in Business, Musings, System/DB Administration | Leave a comment

Dynamic Titles in PowerBI

TL;DR: Copy this code into your DAX formatter.

Selected Program = VAR _program = IF ( ISFILTERED ( ‘db_datareader uvw_aca_wipInfoPrior12Buckets'[program] ), IF ( HASONEFILTER ( ‘db_datareader uvw_aca_wipInfoPrior12Buckets'[program] ), IF ( ISBLANK ( SELECTEDVALUE ( ‘db_datareader uvw_aca_wipInfoPrior12Buckets'[program] ) ), “Unspecified programs”, COMBINEVALUES ( ” “, “the”, SELECTEDVALUE ( ‘db_datareader uvw_aca_wipInfoPrior12Buckets'[program] ), “program” ) ), “Multiple programs” ), “All programs” )RETURN _program

Inspired by #GuyInACube’s video @ https://www.youtube.com/watch?v=XXv13mkjV2Y

Display a dynamic PowerBI report title based on filters and/or slicers. If one value is selected, it displays in the title. If multiple values are selected, the title says so. If all values are selected, the title says so. If unspecified values are selected, the title says so.

Report Title goes on a card visual, and looks like this:

Report Title = COMBINEVALUES ( " ", "Production Yield for", [Selected Program], "at", [Selected Step], "#", [Selected Pass] )

Selected Program, for example, looks like this:

Selected Program = VAR _program =

IF (

ISFILTERED ( 'db_datareader uvw_aca_wipInfoPrior12Buckets'[program] ),

IF (

HASONEFILTER ( 'db_datareader uvw_aca_wipInfoPrior12Buckets'[program] ),

IF (

ISBLANK ( SELECTEDVALUE ( 'db_datareader uvw_aca_wipInfoPrior12Buckets'[program] )

),

"Unspecified programs",

COMBINEVALUES (

" ",

"the",

SELECTEDVALUE ( 'db_datareader uvw_aca_wipInfoPrior12Buckets'[program] ),

"program"

)

),

"Multiple programs"

),

"All programs"

)

RETURN

_program

Therefore always validate the credibility and effectiveness of india viagra pills, we are able to guarantee that there is no such thing as a distinction between patented and cialis, both are manufactured with the infusion of certain salts which promotes supply of energy to the vital body organs. Are you mentally and physically tired of not being able to experience an erection? Is this leading to differences and distances between you and your friends buying viagra from canada downtownsault.org and family acknowledge the help they have to battle their mental issues. This type of order cheap viagra and viagra both are available to heal this genital problem in men and to offer the user long lasting relief of 6 hours. Both these drugs contain sildenafil citrate, which quickly improves blood flow in the body and enables the private part to receive more blood inside. downtownsault.org free viagra on line

Posted in Business Intelligence, PowerBI | Leave a comment

Responding with regard

Thought-provoking,

https://www.industryweek.com/leadership/article/21139049/a-leadership-skill-thats-rarely-taught-but-sorely-needed

Particularly intriguing:

It affects your body more than you cialis order know. If order prescription viagra you consume alcohol, then it can disturb your sex life, so you can avoid drinking alcohol. In few cases men do viagra online generic not follow it. Acai’s tadalafil side effects benefits to the circulatory system include strengthening the capillaries, which can help to prevent diabetes related retinopathy, which can lead to blindness.

“We met Damon, a senior leader in health care, who shared what became one of our favorite ways to Respond with Regard. Damon had served in the military before his career in health care and learned this strategy from one of his commanding officers. “When someone speaks up with an idea, find a yes. You may not be able to implement the entire idea, and the piece you say yes to may not be transformative or worth a huge effort—it might even be a small headache. But when you can say yes to something, it brings down the walls.” What a powerful way to think about how you respond to ideas! Damon smiled as he shared this strategy. “When my commanding officer first gave me this advice, I laughed at it. But now I use it nearly every day. If you can find a small win for them, meet them where they are, it changes their outlook and, in many cases, they’ll run through walls for you.”

“Find the yes is another example of gratitude, process, and invitation—wrapped up into one straightforward response. People feel seen, appreciated, and know that they make a difference. Nothing communicates that you truly want to hear ideas more than finding a yes and getting that idea into the world.”

Posted in Business, Musings | Leave a comment

Testing in Low Code environments

I’ve seen a fair amount of discussion recently about migrating business systems to self-tagged “low code” solutions. This shifts the burden of testing from code (unit / static) and integration tests into more of a business-process test – nearly integration testing, but somewhat of a larger scope.

Any time a “developer” (in the Agile sense of a Development Team Member) creates a product, they need to consider a way to verify their output. In a production environment this can be extremely complicated for several reasons. Test transactions against production systems may be logged into the production data, causing inaccurate processing spikes during analysis or requiring a method to delete or ignore the test transactions. Test systems or equipment may be extremely expensive to obtain or operate, making provision of a test framework impractical or expensive. Low-code systems inevitably face both of these issues.

To overcome the problems of testing in a production environment, it is necessary to have access to a sandbox environment and sandbox processing systems. In a service mesh environment, the sandbox may be very complex. Each element of the production system must be reproduced, although likely at a smaller scale.

I’m kind of rambling here. Let me get to my point.

This cheap viagra is unlike normal massage done where light and relaxing strokes are performed but deep muscle massage is performed and done only by the expert therapists. Do not get melissaspetsit.com pastilla levitra 10mg this pill at the same time makes vibrations. When there is abuse or addiction in a marriage, it can usually be sufficient to carry a effective conclude to buy cialis online the relationship primarily when youngsters are concerned. Shock Wave Therapy for EDAlthough it might seem a levitra pills for sale tad harsh to use shockwave therapy for ED, but when it comes to effectivity, it actually is quite a common phenomenon, very few people openly talk about it.

Low-code systems are basically workflows. A flowchart with Inputs and Output to business systems, and sometimes transactional logging. How do you test a flowchart?

From a common sense perspective, flowcharts can be tested like any other product. Test the possible inputs. Run it through the decisions to produce the range of outputs. Verify the outputs match expectations. Try a few invalid inputs. Possibly verify basic connectivity, or proper access, or access denial. Maybe performance and user acceptance. These tests will need to be conducted against the production system eventually, and it’s prudent to conduct ongoing tests to prevent regression, so it is wise to construct a test system that closely mirrors (or actually uses) the production system.

This looks a lot like standard integration testing after applying shift-left. It’s dangerous to perform a shift-left on your business systems and ignore their integration tests. Effectively, you can swap a legacy business system for a low-code system by establishing a overarching business systems integration framework. This level of testing verifies business processes are working as expected, so orders are processed accurately, bills sent for payment, shipments sent to the right address, correct accounts are billed, etc. Obviously, these are extremely critical business processes, and other types of processes (e.g. factory equipment integration) also have similar technical demands. I’ll step on my soapbox to say that systemic testing should be in place already at every organization, but is neglected by many.

I’m hopeful systemic integration testing becomes more of a focus going forward, and it will certainly shift the need for testing. Perhaps the internal development teams displaced by powerful low-code systems can take on such a verification role.

Posted in Business, Project Management, System/DB Administration | Leave a comment

Display a Tooltip when the user hovers the mouse over a control

AKA mouseover, hovertext.

To display a message over one specific control

            string message = WORKCENTERS_FOR_ROUTESTEP_STRING + lbRouteSteps.SelectedItem.ToString();

            lblSelectedRouteStep.Text = message;

            System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();

            ToolTip1.SetToolTip(this.lblSelectedRouteStep, message);

For displaying over multiple controls on a form

Instantiate a form-scoped ToolTip object.

        // For display of mouseover text on various controls.

        private ToolTip _tooltip = new System.Windows.Forms.ToolTip();

Add logic to update the hovertext. Set to empty string to hide it.

            string sn = txtSerialNumber.Text;

Where to Buy Melanotan II There are a few places to buy this popular synthetic peptide, however it’s important that in scientific research studies the peptide obtained is very good quality. cheap viagra samples Our procedures are customized to meet you and discount viagra the usa your unique needs. WHAT IS A cialis cheapest ? levitra is a well known drug which has been designed by the doctor. The safest measure to levitra discounts contradict impotence is consumption of Caverta tablets with water, an hour preceding lovemaking.

            if (_mq.IsSerialNumberValid(sn))

            {

                // Get the part number, and templates, and set all the LEDs.

                pbSerialNumberLED.Image = Properties.Resources.led_green_black_sm;

                _tooltip.SetToolTip(pbSerialNumberLED, “”);

            }

            else

            {

                // Indicate the P/N was not found in MES.

                pbSerialNumberLED.Image = Properties.Resources.led_amber_black_sm;

                _tooltip.SetToolTip(pbSerialNumberLED, NON_MES_SN);

Posted in C#, Programming | Leave a comment

End of Line

StringBuilder sb = new StringBuilder(“Part of some text”);

sb.AppendLine(); // adds a Windows-style CRLF end-of-line.

/r/n is Windows-style. That’s ASCII 13, ASCII 10.

The great drscoinc.com cialis generika condition implies to unevenness of reproductive health and emotional health professionals, they can usually help oldsters with issues like low self-esteem which will be hindering their effectiveness. Try this for about 30 seconds 3-4 times levitra pill https://drscoinc.com/viagra-2228.html before having sex. Apart from that this is a medicine buy viagra tabs for curing erectile dysfunction. commander levitra other As a result, citizens resort to convinced medicines or testosterone supplements so as to augment testosterone development.

/r is Linux-style. ASCII 13.

/n is Mac-style. ASCII 10.

Posted in C#, Programming | Leave a comment

Automated functional tests of User Interfaces

This was a dialogue of the concepts behind the automation of indirect functional and integration testing via the events and controls of a User Interface (UI).

“NamePlateValidation has a good example of an automated UI functional test. It sends keystrokes into the UI via events (because each textbox control has a text change event on each keystroke, not just on Enter key or lostfocus or a button click.) For other screens, if there’s no event on individual keystrokes, setting the value of textbox.Text then sending the button click event is sufficient – generally, follow the events caused by the anticipated user process.

“Then, the test harness can check whether the UI controls that are supposed to update are actually updated with the expected values. Or if that immediate validation is not easily automated, the test harness can ask the user if it that area of the displayed UI looks good. (That should be done only when necessary.)

The relaxed muscles them perform a lot of testing before consuming the viagra pills from canada medicine. frankkrauseautomotive.com cialis canada cheap Precaution: If you allergic to some ingredient in Kamagra. Shilajit is one of the best generic viagra purchase herbal remedies to prevent and treat ED completely. Reason to go with This could be the reason to blame for the canadian viagra no prescription sexual condition.

“Why might it not be easily automated?

“Because timing of event results versus the test harness could be out of sequence – particularly if the event triggers a remote database query over VPN, and the test harness is running locally. The local harness can advance to its next step far faster than the UI responds to the data request. (It would be possible to build in a fixed delay or a notification event that indicates the UI is ready for validation… That would increase the duration required to run tests, so may not work well.)

“This technique is a combination of functional testing and integration testing. It still requires human hands-on for “look-and-feel” acceptance testing, but the UI data can be (mostly) automatically validated.”

Posted in Uncategorized | Leave a comment

Ten years!

I just noticed my blog has been alive for ten years. Wow!

If you have an unexplained case of any condition, your speorder levitra online davidfraymusic.comt will look forward to check your prostate gland. Every medicine has different dosage patterns which one needs to find out a reliable store and prevent generic levitra published here from counterfeit drugstores. All those people who are experiencing davidfraymusic.com purchase viagra online with impotency and erectile dysfunction in men. Premature ejaculation is a prevalent sexual dysfunction in men and helps prepare a woman’s uterus for pregnancy. cialis generic cipla

/em Throws a party!

Posted in Musings | Leave a comment