Skip to content

This project is my solution in C# to the State Machines practice found in section 07 practice 02 of the UiPath - RPA Developer Foundation course.

License

Notifications You must be signed in to change notification settings

ShonHarsh/RPADev-S07P02-StateMachines

Repository files navigation

S07P02 State Machines

This project is my solution in C# to the State Machines practice found in section 07 practice 02 of the UiPath - RPA Developer Foundation course.

Getting Started

After making a pull request or downloading the project, open the Main.xaml in UiPath Studio. The robot can be run with the play button in the ribbon and the result can be seen in output panel.

Vending

Practice Requirements

The Vending Machine

Create a workflow that simulates a vending machine. The functionality should be the following:

  • The user is asked to choose the initial credit ($5, $10, $20) and to choose if he/she wants to proceed or if they changed their mind and want to get the change;
  • If they want to continue: They are asked what drink they want: Coffee ($3) or Tea ($2).

Next, the vending machine should check if the user has enough credit for selected drink. If Yes, display a success message and subtract the price of the drink from the total amount.

The user is then asked if he/she wants to buy another drink or to get the change.

If they want to get the change, a message box is displayed with the value of the change to be given to the customer.

Details

Course: UiPath - RPA Developer Foundation

Section: 07 Project Organization

Practice: 02 State Machines

Project Format: Windows, C#

GitHub: https://github.com/ShonHarsh/RPADev-S07P02-StateMachines

Sample Output

Credit

Order Items

Item Select

Cash Out

05/15/2024 16:04:20 => [Info] RPADev-S07P02-StateMachines execution started
05/15/2024 16:04:20 => [Info] RPADev-S07P02-StateMachines.Main.Begin;
05/15/2024 16:04:28 => [Info] RPADev-S07P02-StateMachines.Dialog_CreditAccount.Credit; Account Credit: 50
05/15/2024 16:04:33 => [Info] RPADev-S07P02-StateMachines.Dialog_DispenseItems.TransactionCompleted; Transaction Complete.
Item: 7up, Cost: 2
Credit: 48
05/15/2024 16:04:38 => [Info] RPADev-S07P02-StateMachines.Dialog_DispenseItems.TransactionCompleted; Transaction Complete.
Item: Barqs Root Beer, Cost: 2
Credit: 46
05/15/2024 16:04:42 => [Info] RPADev-S07P02-StateMachines.Dialog_DispenseItems.TransactionCompleted; Transaction Complete.
Item: Cheerwine, Cost: 3
Credit: 43
05/15/2024 16:04:46 => [Info] RPADev-S07P02-StateMachines.Dialog_DispenseItems.TransactionCompleted; Transaction Complete.
Item: Coca-Cola, Cost: 2
Credit: 41
05/15/2024 16:04:56 => [Info] RPADev-S07P02-StateMachines.Dialog_DispenseItems.TransactionCompleted; Transaction Complete.
Item: Dr. Pepper, Cost: 2
Credit: 39
05/15/2024 16:05:00 => [Info] RPADev-S07P02-StateMachines.Dialog_DispenseItems.TransactionCompleted; Transaction Complete.
Item: Java Monster Café Latte, Cost: 3
Credit: 36
05/15/2024 16:05:05 => [Info] RPADev-S07P02-StateMachines.Dialog_DispenseItems.TransactionCompleted; Transaction Complete.
Item: Java Monster Irish Crème, Cost: 3
Credit: 33
05/15/2024 16:05:11 => [Info] RPADev-S07P02-StateMachines.Dialog_DispenseItems.TransactionCompleted; Transaction Complete.
Item: Java Monster Loca Moca, Cost: 3
Credit: 30
05/15/2024 16:05:16 => [Info] RPADev-S07P02-StateMachines.Dialog_DispenseItems.TransactionCompleted; Transaction Complete.
Item: Java Monster Mean Bean, Cost: 3
Credit: 27
05/15/2024 16:05:24 => [Info] RPADev-S07P02-StateMachines.Dialog_DispenseItems.TransactionCompleted; Transaction Complete.
Item: Java Monster Triple Shot French Vanilla, Cost: 4
Credit: 23
05/15/2024 16:05:29 => [Info] RPADev-S07P02-StateMachines.Dialog_DispenseItems.TransactionCompleted; Transaction Complete.
Item: Java Monster Triple Shot Mocha, Cost: 4
Credit: 19
05/15/2024 16:05:33 => [Info] RPADev-S07P02-StateMachines.Dialog_DispenseItems.TransactionCompleted; Transaction Complete.
Item: Vernors Ginger Ale, Cost: 3
Credit: 16
05/15/2024 16:05:37 => [Info] RPADev-S07P02-StateMachines.Dialog_DispenseItems.TransactionCompleted; Transaction Complete.
Item: Water, Cost: 1
Credit: 15
05/15/2024 16:05:38 => [Info] RPADev-S07P02-StateMachines.Dialog_DispenseItems.CashOut;
Returning funds in pennies: 15
Ordered Items:
7up
Barqs Root Beer
Cheerwine
Coca-Cola
Dr. Pepper
Java Monster Café Latte
Java Monster Irish Crème
Java Monster Loca Moca
Java Monster Mean Bean
Java Monster Triple Shot French Vanilla
Java Monster Triple Shot Mocha
Vernors Ginger Ale
Water
05/15/2024 16:05:38 => [Info] RPADev-S07P02-StateMachines.Main.End;
05/15/2024 16:05:38 => [Info] RPADev-S07P02-StateMachines execution ended in: 00:01:18

Architecture Requirements

A standard UiPath, Studio to Orchestrator cloud setup is the base of operation. It is easy to setup and free.

  1. An Orchestrator connection - Visit https://cloud.uipath.com/ and authenticate or sign up.
  2. UiPath Studio is used to run the robot. Note that Studio Web can be used directly in Orchestrator but I recommend installing the Studio IDE application.

UiPath Setup Guide

Git Notes

Clone the project to develop or change it.

git clone https://github.com/ShonHarsh/RPADev-S07P02-StateMachines

Links

RPS Developer Foundation Sections

  1. Get Started With RPA Development

  2. Variables, Data Types And Control Flow In Studio

    P01 RPADev-S02P01-ForEachIfStatement [C#] [VB] [Windows Legacy]

    P02 RPADev-S02P02-GenericValue [C#] [VB] [Windows Legacy]

    P03 RPADev-S02P03-Switch [C#] [VB] [Windows Legacy]

  3. Data Manipulation In Studio

    P01 RPADev-S03P01-Lists [C#] [VB] [Windows Legacy]

    P02 RPADev-S03P03-Dictionaries-Integers [C#] [VB] [Windows Legacy]

    P03 RPADev-S03P04-Dictionaries-Doubles [C#] [VB] [Windows Legacy]

    P04 RPADev-S03P05-InputValidation [C#] [VB] [Windows Legacy]

    P05 RPADev-S03P06-ReplacingPlaceholders [C#] [VB] [Windows Legacy]

    P06 RPADev-S03P07-ExtractEmailAddress [C#] [VB] [Windows Legacy]

    P07 RPADev-S03P08-ExtractEmailAddressRegEx [C#] [VB] [Windows Legacy]

  4. Excel And Data Tables With Studio

    P01 RPADev-S04P01-CalculatingSums [C#] [VB] [Windows Legacy]

    P02 RPADev-S04P02-CalculatingLossInvoices [C#] [VB] [Windows Legacy]

    P03 RPADev-S04P03-CalculatingPercentagesOfExpenses [C#] [VB] [Windows Legacy]

  5. UI Automation With Studio

    P01 RPADev-S05P01-PasswordGenerator [C#] [VB] [Windows Legacy]

    P02 RPADev-S05P02-TheRPAChallenge [C#] [VB] [Windows Legacy]

    P03 RPADev-S05P03-InputActions [C#] [VB] [Windows Legacy]

    P04 RPADev-S07P02-StateMachines [C#] [VB] [Windows Legacy]

    P05 RPADev-S05P05-DataScraping [C#] [VB] [Windows Legacy]

  6. Selectors In Studio

    P01 RPADev-S06P01-GetAndSortData [C#] [VB] [Windows Legacy]

    P02 RPADev-S06P02-SetData [C#] [VB] [Windows Legacy]

    P03 RPADev-S06P03-Highlight-TypeItems [C#] [VB] [Windows Legacy]

  7. Project Organization In Studio

    P02 RPADev-S07P02-StateMachines [C#] [VB] [Windows Legacy]

    P03 RPADev-S07P03-FixMyWorkflow [C#] [VB] [Windows Legacy]

    P04 RPADev-S07P04-Libraries

  8. Error And Exception Handling In Studio

  9. Debugging In Studio

  10. PDF Automation In Studio

  11. Email Automation With Studio

  12. Orchestrator For RPA Developers

  13. Robotic Enterprise Framework Overview

Releases

No releases published

Packages

No packages published

Languages