Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 7th, 2012  |  syntax: None  |  size: 15.57 KB  |  hits: 8  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Collections;
  6. using System.Media;
  7.  
  8. namespace projectdemo2
  9. {
  10.     class Program
  11.     {
  12.         static int count = 0;
  13.         static void Main(string[] args)
  14.         {
  15.             Contact[] ConObj = new Contact[5];
  16.             Message msgobj = new Message();
  17.             int choice;
  18.             int count2 = 1;
  19.             int count3;
  20.             do
  21.             {
  22.                 Console.Clear();
  23.                 Console.WriteLine("\n\t\t\tR & S MESSAGING SYSTEM");
  24.                 Console.WriteLine("\n\t1) Enter new IMContact");
  25.                 Console.WriteLine("\n\t2) Enter new SMSContact");
  26.                 Console.WriteLine("\n\t3) Display Contacts");
  27.                 Console.WriteLine("\n\t4) Create Message");
  28.                 Console.WriteLine("\n\t5) Display Message in Queue");
  29.                 Console.WriteLine("\n\t6) Flush Message");
  30.                 Console.WriteLine("\n\t7) Edit Contact Details");
  31.                 Console.WriteLine("\n\t0) Exit");
  32.  
  33.                 Console.Write("\tEnter choice : ");
  34.                 choice = int.Parse(Console.ReadLine());
  35.  
  36.                 switch (choice)
  37.                 {
  38.                     case 1:
  39.                         Console.Clear();
  40.                         if (count < 5)
  41.                         {
  42.                             ConObj[count] = new IMContact();
  43.                             ConObj[count].Add();
  44.                             count++;
  45.                         }
  46.                         else
  47.                         {
  48.                             Console.ForegroundColor = ConsoleColor.Red;
  49.                             Console.Beep(1500, 800);
  50.                             Console.WriteLine("Maximun Contact reached");
  51.                             Console.ReadLine();
  52.                             Console.ResetColor();
  53.                         }
  54.                         break;
  55.                     case 2:
  56.                         Console.Clear();
  57.                         if (count < 5)
  58.                         {
  59.                             ConObj[count] = new SMSContact();
  60.                             ConObj[count].Add();
  61.                             count++;
  62.                         }
  63.                         else
  64.                         {
  65.                             Console.ForegroundColor = ConsoleColor.Red;
  66.                             Console.Beep(1500, 800);
  67.                             Console.WriteLine("Maximun Contact reached");
  68.                             Console.ReadLine();
  69.                             Console.ResetColor();
  70.                         }
  71.                         break;
  72.                     case 3:
  73.                         Console.Clear();
  74.                         for (int i = 0; i < ConObj.Length; i++)
  75.                         {
  76.                             if (ConObj[i] != null)
  77.                             {
  78.                                 ConObj[i].Display();
  79.                             }
  80.                         }
  81.                         Console.ReadLine();
  82.                         break;
  83.                     case 4:
  84.                         Console.Clear();
  85.                         int choice2;
  86.                         for (int i = 0; i < ConObj.Length; i++)
  87.                         {
  88.                             if (ConObj[i] != null)
  89.                             {
  90.                                 Console.Write(count2 + ") ");
  91.                                 ConObj[i].DisplayName();
  92.                             }
  93.                             count2++;
  94.                         }
  95.  
  96.                         Console.Write("Make your choice : ");
  97.                         choice2 = int.Parse(Console.ReadLine());
  98.                         count3 = choice2 - 1;
  99.                         //msgobj.SendMessage(ConObj[count3].Name, ConObj[count3].Description);
  100.                         ConObj[count3].MessageToQueue(msgobj, ConObj[count3].Name);
  101.                         Console.WriteLine("Message has been saved");
  102.                         count2 = 1;
  103.                         //ConObj[count3].MessageToQueue();
  104.                         break;
  105.                     case 5:
  106.                         msgobj.ShowMessage();
  107.                         Console.ReadLine();
  108.                         break;
  109.                     case 6:
  110.                         msgobj.FlushMsg();
  111.                         Console.WriteLine("\n\tMessages Flushed");
  112.                         Console.ReadLine();
  113.                         break;
  114.                     case 7:
  115.                         int choose;
  116.                         Console.Clear();
  117.                         for (int i = 0; i < count; i++)
  118.                         {
  119.                             if (ConObj[i] != null)
  120.                             {
  121.                                 Console.Write(i + 1 + ") ");
  122.                                 ConObj[i].DisplayName();
  123.                             }
  124.                         }
  125.                         Console.Write("Enter choice : ");
  126.                         choose = int.Parse(Console.ReadLine());
  127.  
  128.                         ConObj[choose - 1].Edit();
  129.                         Console.ForegroundColor = ConsoleColor.Blue;
  130.                         Console.WriteLine("Contact Editted");
  131.                         Console.ReadLine();
  132.                         Console.ResetColor();
  133.                         break;
  134.                     case 0:
  135.                         Console.Clear();
  136.                         Console.BackgroundColor = ConsoleColor.DarkMagenta;
  137.                         Console.ForegroundColor = ConsoleColor.White;
  138.                         Console.WriteLine("\n\n\t\tBYE BYE");
  139.                         Console.ReadLine();
  140.                         break;
  141.                     default:
  142.                         Console.WriteLine("\n\tInvalid choice");
  143.                         break;
  144.                 }
  145.             } while (choice != 0);
  146.         }
  147.     }
  148.  
  149.     abstract class Contact : IMessage
  150.     {
  151.         private string description;
  152.         private string name;
  153.  
  154.         public string Description
  155.         {
  156.             get
  157.             {
  158.                 return description;
  159.             }
  160.             set
  161.             {
  162.                 description = value;
  163.             }
  164.         }
  165.  
  166.         public string Name
  167.         {
  168.             get
  169.             {
  170.                 return name;
  171.             }
  172.             set
  173.             {
  174.                 name = value;
  175.             }
  176.         }
  177.  
  178.         internal abstract void Add();
  179.         internal abstract void Display();
  180.         internal abstract void DisplayName();
  181.         internal abstract void Edit();
  182.  
  183.         public virtual void MessageToQueue(Message msg, string orgA)
  184.         {
  185.  
  186.         }
  187.     }
  188.  
  189.     class IMContact : Contact
  190.     {
  191.         private string iMAddress;
  192.         private bool onlinestatus;
  193.  
  194.         public string IMAddress
  195.         {
  196.             get
  197.             {
  198.                 return iMAddress;
  199.             }
  200.             set
  201.             {
  202.                 iMAddress = value;
  203.             }
  204.         }
  205.  
  206.         public bool OnlineStatus
  207.         {
  208.             get
  209.             {
  210.                 return onlinestatus;
  211.             }
  212.             set
  213.             {
  214.                 onlinestatus = value;
  215.             }
  216.         }
  217.  
  218.         internal override void Add()
  219.         {
  220.             Console.WriteLine("\n\t\t\tCreate New Messaging Contact");
  221.             Console.Write("\n\tEnter Name : ");
  222.             Name = Console.ReadLine();
  223.             Console.Write("\n\tEnter Instant Messaging Address :  ");
  224.             IMAddress = Console.ReadLine();
  225.             Description = "IMContact";
  226.             onlinestatus = true;
  227.         }
  228.  
  229.         internal override void Display()
  230.         {
  231.             Console.WriteLine("**********************************");
  232.             Console.WriteLine("Name : " + Name);
  233.             Console.WriteLine("Description : " + Description);
  234.             Console.WriteLine("Address : " + IMAddress);
  235.             Console.WriteLine("Online Status : " + OnlineStatus);
  236.  
  237.         }
  238.  
  239.         internal override void DisplayName()
  240.         {
  241.             Console.WriteLine(Name);
  242.         }
  243.  
  244.         internal override void Edit()
  245.         {
  246.             Console.BackgroundColor = ConsoleColor.Cyan;
  247.             Console.WriteLine("Name: " + Name);
  248.             Console.WriteLine("Current Instant Messaging Address: " + IMAddress);
  249.             Console.Write("Enter New Instant Messaging Address: ");
  250.             IMAddress = Console.ReadLine();
  251.             Console.ResetColor();
  252.         }
  253.  
  254.         public override void MessageToQueue(Message msg,string org)
  255.         {
  256.             msg.SendMessage(org, Description);
  257.         }
  258.     }
  259.  
  260.     class SMSContact : Contact
  261.     {
  262.         private int telNumber;
  263.  
  264.         public int TelNumber
  265.         {
  266.             get
  267.             {
  268.                 return telNumber;
  269.             }
  270.             set
  271.             {
  272.                 telNumber = value;
  273.             }
  274.         }
  275.  
  276.         internal override void Add()
  277.         {
  278.             Console.WriteLine("\n\t\t\tCreate New Messaging Contact");
  279.             do
  280.             {
  281.                 try
  282.                 {
  283.                     Console.Write("\n\tEnter Name : ");
  284.                     Name = Console.ReadLine();
  285.                     Console.Write("\n\tEnter Telephone Number : ");
  286.                     TelNumber = int.Parse(Console.ReadLine());
  287.                     if ((TelNumber < 80000000) || (TelNumber > 99999999))
  288.                     {
  289.                         Console.Beep(1000, 400);
  290.                         Console.ForegroundColor = ConsoleColor.Red;
  291.                         Console.WriteLine("\n\tPlease Enter Again");
  292.                         Console.ReadLine();
  293.                         Console.ResetColor();
  294.                         Console.Clear();
  295.                     }
  296.                 }
  297.                 catch (Exception ex)
  298.                 {
  299.                     Console.Beep(1000, 400);
  300.                     Console.ForegroundColor = ConsoleColor.Red;
  301.                     Console.WriteLine("\n\tEnter Valid Number When You Try Again");
  302.                     Console.ReadLine();
  303.                     Console.ResetColor();
  304.                     Console.Clear();
  305.                 }
  306.             } while ((TelNumber < 80000000) || (TelNumber > 99999999));
  307.             Description = "SMSContact";
  308.         }
  309.  
  310.         internal override void Display()
  311.         {
  312.             Console.WriteLine("**************************************");
  313.             Console.WriteLine("Name: " + Name);
  314.             Console.WriteLine("Description : " + Description);
  315.             Console.WriteLine("Telephone Number : " + TelNumber);
  316.  
  317.         }
  318.  
  319.         internal override void DisplayName()
  320.         {
  321.             Console.WriteLine(Name);
  322.         }
  323.  
  324.         internal override void Edit()
  325.         {
  326.             Console.BackgroundColor = ConsoleColor.Cyan;
  327.             Console.WriteLine("Name : " + Name);
  328.             Console.WriteLine("Current Telephone Number: " + TelNumber);
  329.             do
  330.             {
  331.                 try
  332.                 {
  333.                     Console.Write("Enter New Telephone Number: ");
  334.                     TelNumber = int.Parse(Console.ReadLine());
  335.                     if (TelNumber < 80000000 || TelNumber > 99999999)
  336.                     {
  337.                         Console.Beep(1000, 400);
  338.                         Console.ForegroundColor = ConsoleColor.Red;
  339.                         Console.Beep(1500, 800);
  340.                         Console.WriteLine("\n\tEnter Valid Phone Number");
  341.                         Console.ReadLine();
  342.                         Console.ResetColor();
  343.                     }
  344.                 }
  345.                 catch (Exception ex)
  346.                 {
  347.                     Console.Beep(1000, 400);
  348.                     Console.ForegroundColor = ConsoleColor.Red;
  349.                     Console.WriteLine("\n\tEnter Valid Number");
  350.                     Console.ReadLine();
  351.                     Console.ResetColor();
  352.                     Console.Clear();
  353.                 }
  354.             } while (TelNumber < 80000000 || TelNumber > 99999999);
  355.             Console.ResetColor();
  356.         }
  357.         public override void MessageToQueue(Message msg, string org)
  358.         {
  359.             msg.SendMessage(org, Description);
  360.         }
  361.  
  362.  
  363.     }
  364.  
  365.     public interface IMessage
  366.     {
  367.         void MessageToQueue(Message msg,string org);
  368.     }
  369.  
  370.     public class Message
  371.     {
  372.         private string message;
  373.         private string originator;
  374.         private string recipient;
  375.         private string type;
  376.         private int teln;
  377.         private Queue queueobj = new Queue(20);
  378.  
  379.         public Message()
  380.         {
  381.  
  382.         }
  383.  
  384.         public Message(string Originator, string Type)
  385.         {
  386.             originator = Originator;
  387.             type = Type;
  388.             message = "";
  389.             recipient = "";
  390.         }
  391.  
  392.         public void SendMessage(string xoriginator, string xdescript)
  393.         {
  394.             originator = xoriginator;
  395.             type = xdescript;
  396.             Console.Clear();
  397.             if (type == "IMContact")
  398.             {
  399.                 Console.WriteLine("\n\t\t\tMessage Creating Center");
  400.                 Console.Write("\n\tEnter Message : ");
  401.                 message = Console.ReadLine();
  402.                 Console.Write("\n\tEnter IM Address : ");
  403.                 recipient = Console.ReadLine();
  404.             }
  405.             if (type == "SMSContact")
  406.             {
  407.                 do
  408.                 {
  409.                     Console.WriteLine("\n\t\t\tMessage Creating Center");
  410.                     try
  411.                     {
  412.                         Console.Write("\n\tEnter Message : ");
  413.                         message = Console.ReadLine();
  414.                         Console.Write("\n\tEnter Tel number(8 Digit Phone Number) : ");
  415.                         teln = int.Parse(Console.ReadLine());
  416.                         if ((teln == 911) || (teln == 999) || (teln == 995))
  417.                         {
  418.                             break;
  419.                         }
  420.                         if (teln < 80000000 || teln > 99999999)
  421.                         {
  422.                             Console.Beep(1000, 400);
  423.                             Console.ForegroundColor = ConsoleColor.Red;
  424.                             Console.WriteLine("\n\tPlease Enter Again");
  425.                             Console.ReadLine();
  426.                             Console.ResetColor();
  427.                             Console.Clear();
  428.                         }
  429.                     }
  430.                     catch (Exception ex)
  431.                     {
  432.                         Console.Beep(1000, 400);
  433.                         Console.ForegroundColor = ConsoleColor.Red;
  434.                         Console.WriteLine("\n\tEnter Valid Number WWhen You Try Again");
  435.                         Console.ReadLine();
  436.                         Console.ResetColor();
  437.                         Console.Clear();
  438.                     }
  439.                 } while (teln < 80000000 || teln > 99999999);
  440.                 recipient = teln.ToString(); ;
  441.             }
  442.  
  443.  
  444.             queueobj.Enqueue("Originator: " + originator + " Recipient: " + recipient + " Message: " + message);
  445.         }
  446.  
  447.         public void ShowMessage()
  448.         {
  449.             Console.Clear();
  450.             Console.BackgroundColor = ConsoleColor.Green;
  451.             foreach (string asd in queueobj)
  452.             {
  453.                 Console.WriteLine(asd);
  454.             }
  455.             Console.ResetColor();
  456.         }
  457.  
  458.         public void FlushMsg()
  459.         {
  460.             ShowMessage();
  461.             queueobj.Clear();
  462.         }
  463.     }
  464. }