示例#1
0
        public IActionResult ForgotPassword(ForgotPasswordRequest forgotPassword)
        {
            try
            {
                ResponseData data = _userBusiness.ForgotPassword(forgotPassword);

                bool   success = false;
                string message, userFullName, jsonToken;

                if (data == null)
                {
                    message = "No User Found with that Email: " + forgotPassword.Email;
                    return(Ok(new { success, message }));
                }
                else
                {
                    success   = true;
                    jsonToken = CreateToken(data, "ForgotPassword");

                    MSMQSender.SendToMSMQ(data.Email, jsonToken);

                    userFullName = data.FirstName + " " + data.LastName;
                    message      = "The mail has been sent to " + forgotPassword.Email + " Successfully";

                    return(Ok(new { success, message, data, jsonToken }));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(new { ex.Message }));
            }
        }
示例#2
0
        static void Main(string[] args)
        {
            IMessageSender email = new EmailSender();
            IMessageSender queue = new MSMQSender();
            IMessageSender web   = new WebServiceSender();

            Message message = new SystemMessage();

            message.Subject = "Test Message";
            message.Body    = "Hi, This is a Test Message";

            message.MessageSender = email;
            message.Send();

            message.MessageSender = queue;
            message.Send();

            message.MessageSender = web;
            message.Send();

            UserMessage usermsg = new UserMessage();

            usermsg.Subject      = "Test Message";
            usermsg.Body         = "Hi, This is a Test Message";
            usermsg.UserComments = "I hope you are well";

            usermsg.MessageSender = email;
            usermsg.Send();

            Console.ReadKey();
        }
示例#3
0
        static void Main(string[] args)
        {
            IMessageSender email = new EmailSender();
            IMessageSender queue = new MSMQSender();
            IMessageSender web   = new WebServiceSender();

            Message message = new SystemMessage();

            message.Subject       = "Test Message";
            message.Body          = "This is a test message";
            message.MessageSender = email;
            message.Send();

            message.MessageSender = queue;
            message.Send();

            message.MessageSender = web;
            message.Send();

            UserMessage usermsg = new UserMessage();

            usermsg.Subject      = "Test user message";
            usermsg.Body         = "This is a test user message";
            usermsg.UserComments = "C# is awesome!";

            usermsg.MessageSender = email;
            usermsg.Send();
        }
示例#4
0
        public async Task <bool> ForgetPassword(ForgetPasswordModel forgetPasswordModel)
        {
            var user = await this.userManager.FindByEmailAsync(forgetPasswordModel.EmailID);

            MSMQSender msmq = new MSMQSender();

            if (user != null)
            {
                var tokenDescriptor = new SecurityTokenDescriptor
                {
                    Subject = new ClaimsIdentity(new Claim[]
                    {
                        new Claim("EmailID", user.Email.ToString())
                    }),

                    Expires            = DateTime.UtcNow.AddDays(1),
                    SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(this.applicationSetting.JWTSecret)), SecurityAlgorithms.HmacSha256Signature)
                };

                var tokenHandler  = new JwtSecurityTokenHandler();
                var securityToken = tokenHandler.CreateToken(tokenDescriptor);
                var token         = tokenHandler.WriteToken(securityToken);

                msmq.SendToQueue(forgetPasswordModel.EmailID, token);
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#5
0
        static void Main(string[] args)
        {
            Message systemMessage = new SystemMessage()
            {
                Subject = "System Message Subject",
                Body    = "System Message Body"
            };

            Message userMessage = new UserMessage()
            {
                Subject     = "ser Message Subject",
                Body        = "ser Message Body",
                UserComment = "User Message Comments"
            };

            IMessageSender emailSender      = new EmailSender();
            IMessageSender msmqSender       = new MSMQSender();
            IMessageSender webServiceSender = new WebServiceSender();

            SendMyMessage(systemMessage, emailSender);
            SendMyMessage(systemMessage, msmqSender);
            SendMyMessage(systemMessage, webServiceSender);
            SendMyMessage(userMessage, emailSender);
            SendMyMessage(userMessage, msmqSender);
            SendMyMessage(userMessage, webServiceSender);

            Console.ReadKey();
        }
示例#6
0
        private static void Bridge()
        {
            IMessageSender email = new EmailSender();
            IMessageSender queue = new MSMQSender();
            IMessageSender web   = new WebServiceSender();

            Message message = new SystemMessage();

            message.Subject = "Test Message";
            message.Body    = "Hi, This is a Test Message";

            message.MessageSender = email; //<----------Hace referencia a la propiedad IMessageSender
            message.Send();

            message.MessageSender = queue;
            message.Send();

            message.MessageSender = web;
            message.Send();

            UserMessage usermsg = new UserMessage();

            usermsg.Subject      = "Test Message";
            usermsg.Body         = "Hi, This is a Test Message";
            usermsg.UserComments = "I hope you are well";

            usermsg.MessageSender = email;
            usermsg.Send();

            Console.ReadKey();
        }
示例#7
0
        static void Main(string[] args)
        {
            IMessageSender email = new EmailSender();
            IMessageSender queue = new MSMQSender();
            IMessageSender web   = new WebServiceSender();

            Message message = new SystemMessage();

            message.Subject = "Mensagem teste";
            message.Body    = "Olá, Essa é uma mensagem de teste";

            message.MessageSender = email;
            message.Send();

            message.MessageSender = queue;
            message.Send();

            message.MessageSender = web;
            message.Send();

            UserMessage usermsg = new UserMessage();

            usermsg.Subject      = "Mensagem Teste";
            usermsg.Body         = "Olá, Essa é uma mensagem de teste";
            usermsg.UserComments = "Espero que todos consigam fazer o exemplo";

            usermsg.MessageSender = email;
            usermsg.Send();

            Console.ReadKey();
        }
示例#8
0
        /// <summary>
        /// user signup method
        /// </summary>
        /// <param name="adminShowModel"></param>
        /// <returns></returns>
        public ResponseModel UserSignUp(ShowModel adminShowModel)
        {
            try
            {
                DatabaseConnection databaseConnection = new DatabaseConnection(this.configuration);
                var userType = "user";
                var password = PasswordEncrypt.Encryptdata(adminShowModel.Password);
                List <StoredProcedureParameterData> paramList = new List <StoredProcedureParameterData>();
                paramList.Add(new StoredProcedureParameterData("@FirstName", adminShowModel.FirstName));
                paramList.Add(new StoredProcedureParameterData("@LastName", adminShowModel.LastName));
                paramList.Add(new StoredProcedureParameterData("@Email", adminShowModel.Email));
                paramList.Add(new StoredProcedureParameterData("@Password", password));
                paramList.Add(new StoredProcedureParameterData("@IsActive", adminShowModel.IsActive));
                paramList.Add(new StoredProcedureParameterData("@UserRole", userType));
                paramList.Add(new StoredProcedureParameterData("@CreatedDate", DateTime.Now));
                paramList.Add(new StoredProcedureParameterData("@ModifiedDate", DateTime.Now));
                DataTable table    = databaseConnection.StoredProcedureExecuteReader("AddUser", paramList);
                var       userData = new ResponseModel();

                foreach (DataRow dataRow in table.Rows)
                {
                    userData              = new ResponseModel();
                    userData.Id           = (int)dataRow["Id"];
                    userData.FirstName    = dataRow["FirstName"].ToString();
                    userData.LastName     = dataRow["LastName"].ToString();
                    userData.Email        = dataRow["Email"].ToString();
                    userData.IsActive     = Convert.ToBoolean(dataRow["IsActive"]);
                    userData.UserRole     = dataRow["UserRole"].ToString();
                    userData.CreatedDate  = Convert.ToDateTime(dataRow["CreatedDate"]);
                    userData.ModifiedDate = Convert.ToDateTime(dataRow["ModifiedDate"]);
                }
                if (userData.Email != null)
                {
                    MSMQSender mSMQSender = new MSMQSender();
                    mSMQSender.Message(userData.Email);
                    return(userData);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception exception)
            {
                throw new Exception(exception.Message);
            }
        }
示例#9
0
        static void Main(string[] args)
        {
            IMessageSender queueSender = new MSMQSender();
            IMessageSender emailSender = new EmailSender();
            IMessageSender webSender   = new WebServiceSender();

            #region [System Message]
            IMessage systemMessage = new SystemMessage
            {
                Subject = "Test Message From System",
                Body    = "Just a simple system message based on Bridge Pattern"
            };

            systemMessage.MessageSender = queueSender;
            systemMessage.Send();

            systemMessage.MessageSender = emailSender;
            systemMessage.Send();

            systemMessage.MessageSender = webSender;
            systemMessage.Send();
            #endregion

            #region [User Message]
            IMessage userMessage = new UserMessage
            {
                Subject  = "Test Message From User",
                Body     = "Just a simple user message based on Bridge Pattern",
                Comments = "Best example I found"
            };

            userMessage.MessageSender = queueSender;
            userMessage.Send();

            userMessage.MessageSender = emailSender;
            userMessage.Send();

            userMessage.MessageSender = webSender;
            userMessage.Send();
            #endregion

            Console.ReadLine();
        }
示例#10
0
        public bool ForgetPassword(string emailAddress)
        {
            try
            {
                var checkEmail = this._userContext.Users.Where(x => x.Email == emailAddress).FirstOrDefault();

                if (checkEmail != null)
                {
                    MSMQSender.SendMessage();
                    string body = MSMQReceiver.receiverMessage();
                    EmailService.Email(emailAddress, body);
                    return(true);
                }
                return(false);
            }
            catch (Exception ex)
            {
                throw new Exception("Error in base64Encode" + ex.Message);
            }
        }
示例#11
0
            public static void Main()
            {
                MSMQSender msmqSender = new MSMQSender();

                Console.WriteLine("** Please enter the queue path:");
                Console.WriteLine(@"Example private queue path: ComputerName\PRIVATE$\QueueName  ");
                Console.WriteLine(@"Example public queue path: ComputerName\QueueName ");
                string queuePath = Console.ReadLine();

                try
                {
                    if (!MessageQueue.Exists(queuePath))
                    {
                        MessageQueue.Create(queuePath);
                        Console.WriteLine("Queue created: " + queuePath);
                    }

                    using (MessageQueue messageQueue = new MessageQueue(queuePath))
                    {
                        while (true)
                        {
                            Console.WriteLine();
                            Console.Write("** Please enter the message: ");

                            string msg = Console.ReadLine();
                            messageQueue.Send(msg);
                            Console.WriteLine("Sent message to queue " + queuePath + ": " + msg);
                        }
                    }
                }
                catch (MessageQueueException)
                {
                    Console.WriteLine("Message queue internal error.");
                }
                catch (InvalidOperationException e)
                {
                    Console.WriteLine(e.Message);
                }

                Console.ReadKey();
            }
示例#12
0
 public IActionResult ForgotPassword(ForgotPasswordRequest forgot)
 {
     try
     {
         if (!ValidateForgotPasswordRequest(forgot))
         {
             return(BadRequest(new { Message = "Enter Email ID Properly!" }));
         }
         bool   success = false;
         string message, token;
         var    data = _adminBusiness.ForgotPassword(forgot);
         if (data != null)
         {
             token = GenerateToken(data, _forgotPassword);
             MSMQSender.SendToMsmq(data.Email, token);
             success = true;
             message = "Token Sent Successfully";
             return(Ok(new { success, message, data, token }));
             //sentMail = SendMail(data, token);
             //if (sentMail)
             //{
             //    success = true;
             //    message = "Token Sent Successfully";
             //    return Ok(new { success, message, data, token });
             //}
             //message = "Mail Not sent, Try again";
             //return Ok(new { success, message });
         }
         else
         {
             message = "Email Not Found!";
             return(NotFound(new { success, message }));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(new { ex.Message }));
     }
 }
        public IActionResult PurchaseBook(ShowPurchaseBookModel showPurchaseBookModel)
        {
            try
            {
                var claim = Convert.ToInt32(HttpContext.User.Claims.FirstOrDefault(c => c.Type == "Id").Value);
                var data  = this.purchaseBL.BookPurchase(claim, showPurchaseBookModel);
                if (data != null)
                {
                    var        email      = HttpContext.User.Claims.FirstOrDefault(c => c.Type == "Email").Value;
                    MSMQSender mSMQSender = new MSMQSender();
                    mSMQSender.Message(email);
                    return(this.Ok(new { status = "True", message = "Book Ordred Successfully", data }));
                }
                else
                {
                    return(this.NotFound(new { status = "False", message = "Not Found Cart Id Or May Be Already In Use" }));
                }
            }
            catch (Exception exception)

            {
                return(BadRequest(new { status = "False", message = exception.Message }));
            }
        }
示例#14
0
        private static void Main(string[] args)
        {
            #region AbstactFactoryDesignPattern

            /* Factory factory = new Factory();
             * IVehicleFactory bike = factory.GetVehicle(EVehicleType.Bike);
             * bike.Drive();
             * IVehicleFactory scooter = factory.GetVehicle(EVehicleType.Scooter);
             * scooter.Drive();
             * IVehicleFactory car = factory.GetVehicle(EVehicleType.Car);
             * car.Drive();
             * IVehicleFactory bus = factory.GetVehicle(EVehicleType.Bus);
             * bus.Drive();
             * IVehicleFactory lorry = factory.GetVehicle(EVehicleType.Lorry);
             * lorry.Drive();
             * IVehicleFactory train = factory.GetVehicle(EVehicleType.Train);
             * train.Drive();
             * IVehicleFactory ship = factory.GetVehicle(EVehicleType.Ship);
             * ship.Drive();
             * IVehicleFactory helicopter = factory.GetVehicle(EVehicleType.Helicopter);
             * helicopter.Drive();
             */

            #endregion AbstactFactoryDesignPattern

            #region Adapter

            ITarget Itarget = new EmployeeAdapter();
            ThirdPartyBillingSystem client = new ThirdPartyBillingSystem(Itarget);
            client.ShowEmployeeList();

            #endregion Adapter

            #region Bridge

            IMessageSender email = new EmailSender();
            IMessageSender queue = new MSMQSender();
            IMessageSender web   = new WebServiceSender();

            Message message = new SystemMessage();
            message.Subject = "Test Message";
            message.Body    = "Hi, This is a Test Message";

            message.MessageSender = email;
            message.Send();

            message.MessageSender = queue;
            message.Send();

            message.MessageSender = web;
            message.Send();

            UserMessage usermsg = new UserMessage();
            usermsg.Subject      = "Test Message";
            usermsg.Body         = "Hi, This is a Test Message";
            usermsg.UserComments = "I hope you are well";

            usermsg.MessageSender = email;
            usermsg.Send();

            #endregion Bridge

            #region Builder

            var vehicleCreator = new VehicleCreator(new HeroBuilder());
            vehicleCreator.CreateVehicle();
            var vehicle = vehicleCreator.GetVehicle();
            vehicle.ShowInfo();

            Console.WriteLine("---------------------------------------------");

            vehicleCreator = new VehicleCreator(new HondaBuilder());
            vehicleCreator.CreateVehicle();
            vehicle = vehicleCreator.GetVehicle();
            vehicle.ShowInfo();

            #endregion Builder

            #region ChainOfResponsiblity

            Approver rohit = new Clerk();
            Approver rahul = new AssistantManager();
            Approver manoj = new Manager();

            rohit.Successor = rahul;
            rahul.Successor = manoj;

            // Generate and process loan requests
            var loan = new Loan {
                Number = 2034, Amount = 24000.00, Purpose = "Laptop Loan"
            };
            rohit.ProcessRequest(loan);

            loan = new Loan {
                Number = 2035, Amount = 42000.10, Purpose = "Bike Loan"
            };
            rohit.ProcessRequest(loan);

            loan = new Loan {
                Number = 2036, Amount = 156200.00, Purpose = "House Loan"
            };
            rohit.ProcessRequest(loan);

            #endregion ChainOfResponsiblity

            #region Command

            Console.WriteLine("Enter Commands (ON/OFF) : ");
            string   cmd        = Console.ReadLine();
            Light    lamp       = new Light();
            ICommand switchUp   = new FlipUpCommand(lamp);
            ICommand switchDown = new FlipDownCommand(lamp);

            Switch s = new Switch();

            if (cmd == "ON")
            {
                s.StoreAndExecute(switchUp);
            }
            else if (cmd == "OFF")
            {
                s.StoreAndExecute(switchDown);
            }
            else
            {
                Console.WriteLine("Command \"ON\" or \"OFF\" is required.");
            }

            #endregion Command

            #region Composite

            Employee Rahul = new Employee {
                EmpID = 1, Name = "Rahul"
            };

            Employee Amit = new Employee {
                EmpID = 2, Name = "Amit"
            };
            Employee Mohan = new Employee {
                EmpID = 3, Name = "Mohan"
            };

            Rahul.AddSubordinate(Amit);
            Rahul.AddSubordinate(Mohan);

            Employee Rita = new Employee {
                EmpID = 4, Name = "Rita"
            };
            Employee Hari = new Employee {
                EmpID = 5, Name = "Hari"
            };

            Amit.AddSubordinate(Rita);
            Amit.AddSubordinate(Hari);

            Employee Kamal = new Employee {
                EmpID = 6, Name = "Kamal"
            };
            Employee Raj = new Employee {
                EmpID = 7, Name = "Raj"
            };

            Contractor Sam = new Contractor {
                EmpID = 8, Name = "Sam"
            };
            Contractor tim = new Contractor {
                EmpID = 9, Name = "Tim"
            };

            Mohan.AddSubordinate(Kamal);
            Mohan.AddSubordinate(Raj);
            Mohan.AddSubordinate(Sam);
            Mohan.AddSubordinate(tim);

            Console.WriteLine("EmpID={0}, Name={1}", Rahul.EmpID, Rahul.Name);

            foreach (Employee manager in Rahul)
            {
                Console.WriteLine("\n EmpID={0}, Name={1}", manager.EmpID, manager.Name);

                foreach (var employee in manager)
                {
                    Console.WriteLine(" \t EmpID={0}, Name={1}", employee.EmpID, employee.Name);
                }
            }

            #endregion Composite

            #region Decorator

            HondaCity car = new HondaCity();
            Console.WriteLine("Honda City base price are : {0}", car.Price);
            SpecialOffer offer = new SpecialOffer(car);
            offer.DiscountPercentage = 25;
            offer.Offer = "25 % discount";

            Console.WriteLine("{1} @ Diwali Special Offer and price are : {0} ", offer.Price, offer.Offer);

            #endregion Decorator

            #region Facade

            CarFacade facade = new CarFacade();
            facade.CreateCompleteCar();

            #endregion Facade

            #region Flyweight

            ShapeObjectFactory sof = new ShapeObjectFactory();

            IShape shape = sof.GetShape("Rectangle");
            shape.Print();
            shape = sof.GetShape("Rectangle");
            shape.Print();
            shape = sof.GetShape("Rectangle");
            shape.Print();

            shape = sof.GetShape("Circle");
            shape.Print();
            shape = sof.GetShape("Circle");
            shape.Print();
            shape = sof.GetShape("Circle");
            shape.Print();

            int NumObjs = sof.TotalObjectsCreated;
            Console.WriteLine("\nTotal No of Objects created = {0}", NumObjs);

            #endregion Flyweight

            #region FactoryDesignPattern

            Factory factory = new Factory();
            FactoryDesignPattern.IVehicleFactory bike = factory.GetVehicle(EVehicleType.Bike);
            bike.Drive();
            FactoryDesignPattern.IVehicleFactory scooter = factory.GetVehicle(EVehicleType.Scooter);
            scooter.Drive();
            FactoryDesignPattern.IVehicleFactory fcar = factory.GetVehicle(EVehicleType.Car);
            fcar.Drive();
            FactoryDesignPattern.IVehicleFactory bus = factory.GetVehicle(EVehicleType.Bus);
            bus.Drive();
            FactoryDesignPattern.IVehicleFactory lorry = factory.GetVehicle(EVehicleType.Lorry);
            lorry.Drive();
            FactoryDesignPattern.IVehicleFactory train = factory.GetVehicle(EVehicleType.Train);
            train.Drive();
            FactoryDesignPattern.IVehicleFactory ship = factory.GetVehicle(EVehicleType.Ship);
            ship.Drive();
            FactoryDesignPattern.IVehicleFactory helicopter = factory.GetVehicle(EVehicleType.Helicopter);
            helicopter.Drive();

            #endregion FactoryDesignPattern

            #region Prototype

            Developer dev = new Developer();
            dev.Name = "Rahul";
            dev.Role = "Team Leader";
            dev.PreferredLanguage = "C#";

            Developer devCopy = (Developer)dev.Clone();
            devCopy.Name = "Arif"; //Not mention Role and PreferredLanguage, it will copy above

            Console.WriteLine(dev.GetDetails());
            Console.WriteLine(devCopy.GetDetails());

            Typist typist = new Typist();
            typist.Name           = "Monu";
            typist.Role           = "Typist";
            typist.WordsPerMinute = 120;

            Typist typistCopy = (Typist)typist.Clone();
            typistCopy.Name           = "Sahil";
            typistCopy.WordsPerMinute = 115;//Not mention Role, it will copy above

            Console.WriteLine(typist.GetDetails());
            Console.WriteLine(typistCopy.GetDetails());

            #endregion Prototype

            #region Proxy

            ProxyClient proxy = new ProxyClient();
            Console.WriteLine("Data from Proxy Client = {0}", proxy.GetData());

            #endregion Proxy

            #region Singleton

            EagerSingleton.Instance.Show();
            LazySingleton.Instance.Show();
            Singleton.Instance.Show();

            #endregion Singleton

            Console.ReadKey();
        }
示例#15
0
        static void Main(string[] args)
        {
            //Behavioral Patterns
            Console.WriteLine("Behavioral");
            // Wait for user
            Console.ReadKey();

            //1 - Command
            Console.WriteLine("Command");
            Console.WriteLine("Enter Commands (ON/OFF) : ");
            string   cmd        = Console.ReadLine();
            Light    lamp       = new Light();
            ICommand switchUp   = new FlipUpCommand(lamp);
            ICommand switchDown = new FlipDownCommand(lamp);
            Switch   s          = new Switch();

            if (cmd == "ON")
            {
                s.StoreAndExecute(switchUp);
            }
            else if (cmd == "OFF")
            {
                s.StoreAndExecute(switchDown);
            }
            else
            {
                Console.WriteLine("Command \"ON\" or \"OFF\" is required");
            }
            // Wait for user
            Console.ReadKey();

            //2 - Chain of responsability
            Console.WriteLine("Chain of responsability");
            Approver rohit = new Clerk();
            Approver rahul = new AssistantManager();
            Approver manoj = new Manager();

            rohit.Successor = rahul;
            rahul.Successor = manoj;
            var loan = new Loan {
                Number = 2034, Amount = 24000.00, Purpose = "Laptop Loan"
            };

            rohit.ProcessRequest(loan);
            loan = new Loan {
                Number = 2035, Amount = 42000.10, Purpose = "Bike Loan"
            };
            rohit.ProcessRequest(loan);
            loan = new Loan {
                Number = 2036, Amount = 156200.00, Purpose = "House Loan"
            };
            rohit.ProcessRequest(loan);
            // Wait for user
            Console.ReadKey();

            //3 - Memento
            Console.WriteLine("Memento");
            SalesProspect sp = new SalesProspect();

            sp.Name   = "Noel van Halen";
            sp.Phone  = "(412) 256-0990";
            sp.Budget = 25000.0;
            // Store internal state
            ProspectMemory m = new ProspectMemory();

            m.Memento = sp.SaveMemento();
            // Continue changing originator
            sp.Name   = "Leo Welch";
            sp.Phone  = "(310) 209-7111";
            sp.Budget = 1000000.0;
            // Restore saved state
            sp.RestoreMemento(m.Memento);
            // Wait for user
            Console.ReadKey();


            //Creational Patterns
            Console.WriteLine("Creational");
            // Wait for user
            Console.ReadKey();

            //1-Singleton
            Console.WriteLine("Singleton");
            Singleton.Instance.Show();
            // Wait for user
            Console.ReadKey();

            //2-Prototype
            Console.WriteLine("Prototype");
            Developper dev = new Developper {
                Name = "Antoine", Role = "Team Leader", PrefferedLanguage = "C#", WordsPerMinute = 42
            };
            Typist typ = new Typist {
                Name = "Casper", Role = "Typist", WordsPerMinute = 175
            };

            Console.WriteLine(typ.GetDetails());
            Console.WriteLine(dev.GetDetails());
            // Wait for user
            Console.ReadKey();

            //3-AbstractFactory
            Console.WriteLine("Abstract Factory");
            DesignPatterns.Creational.AbstractFactory.Sample.VehiculeFactory honda = new HondaFactory();
            VehiculeClient hondaclient = new VehiculeClient(honda, "Regular");

            Console.WriteLine("****** Honda ******");
            Console.WriteLine(hondaclient.GetBikeName());
            Console.WriteLine(hondaclient.GetScooterName());
            VehiculeClient hondaclient2 = new VehiculeClient(honda, "Sports");

            Console.WriteLine(hondaclient.GetBikeName());
            Console.WriteLine(hondaclient.GetScooterName());
            DesignPatterns.Creational.AbstractFactory.Sample.VehiculeFactory hero = new HondaFactory();
            VehiculeClient heroclient = new VehiculeClient(hero, "Regular");

            Console.WriteLine("****** Hero ******");
            Console.WriteLine(heroclient.GetBikeName());
            Console.WriteLine(heroclient.GetScooterName());
            VehiculeClient heroclient2 = new VehiculeClient(hero, "Sports");

            Console.WriteLine(heroclient.GetBikeName());
            Console.WriteLine(heroclient.GetScooterName());
            // Wait for user
            Console.ReadKey();

            //4- Factory Method
            Console.WriteLine("Factory Method");
            DesignPatterns.Creational.FactoryMethod.Sample.VehiculeFactory factory = new ConcreteVehiculeFactory();
            IFactory scooter = factory.GetVehicule("Scooter");

            scooter.Drive(10);
            IFactory bike = factory.GetVehicule("Bike");

            bike.Drive(20);
            // Wait for user
            Console.ReadKey();

            //5- Builder
            Console.WriteLine("Builder");
            var vehicleCreator = new VehicleCreator(new HeroBuilder());

            vehicleCreator.CreateVehicle();
            var vehicle = vehicleCreator.GetVehicle();

            vehicle.ShowInfo();
            Console.WriteLine("---------------------------------------------");
            vehicleCreator = new VehicleCreator(new HondaBuilder());
            vehicleCreator.CreateVehicle();
            vehicle = vehicleCreator.GetVehicle();
            vehicle.ShowInfo();
            // Wait for user
            Console.ReadKey();

            //Structural
            Console.WriteLine("Structural");
            // Wait for user
            Console.ReadKey();

            //1 - Proxy
            Console.WriteLine("Proxy");
            ProxyClient proxy = new ProxyClient();

            Console.WriteLine("Data from Proxy Client = {0}", proxy.GetData());
            // Wait for user
            Console.ReadKey();

            //2 - Flyweight
            Console.WriteLine("Flyweight");
            ShapeObjectFactory sof   = new ShapeObjectFactory();
            IShape             shape = sof.GetShape("Rectangle");

            shape.Print();
            shape = sof.GetShape("Rectangle");
            shape.Print();
            shape = sof.GetShape("Rectangle");
            shape.Print();
            shape = sof.GetShape("Circle");
            shape.Print();
            shape = sof.GetShape("Circle");
            shape.Print();
            shape = sof.GetShape("Circle");
            shape.Print();
            int NumObjs = sof.TotalObjectsCreated;

            Console.WriteLine("\nTotal No of Objects created = {0}", NumObjs);
            // Wait for user
            Console.ReadKey();

            //3 - Facade
            Console.WriteLine("Facade");
            CarFacade facade = new CarFacade();

            facade.CreateCompleteCar();
            // Wait for user
            Console.ReadKey();

            //4 - Bridge
            Console.WriteLine("Bridge");
            IMessageSender email   = new EmailSender();
            IMessageSender queue   = new MSMQSender();
            IMessageSender web     = new WebServiceSender();
            Message        message = new SystemMessage();

            message.Subject       = "Test Message";
            message.Body          = "Hi, This is a Test Message";
            message.MessageSender = email;
            message.Send();
            message.MessageSender = queue;
            message.Send();
            message.MessageSender = web;
            message.Send();
            UserMessage usermsg = new UserMessage();

            usermsg.Subject       = "Test Message";
            usermsg.Body          = "Hi, This is a Test Message";
            usermsg.UserComments  = "I hope you are well";
            usermsg.MessageSender = email;
            usermsg.Send();
            // Wait for user
            Console.ReadKey();

            //5 - Adapter
            Console.WriteLine("Adapter");
            ITarget Itarget = new EmployeeAdapter();
            ThirdPartyBillingSystem client = new ThirdPartyBillingSystem(Itarget);

            client.ShowEmployeeList();
            // Wait for user
            Console.ReadKey();

            //6 - Decorator
            Console.WriteLine("Decorator");
            HondaCity car = new HondaCity();

            Console.WriteLine("Honda City base price are : {0}", car.Price);
            SpecialOffer offer = new SpecialOffer(car);

            offer.DiscountPercentage = 25;
            offer.Offer = "25 % discount";
            Console.WriteLine("{1} @ Diwali Special Offer and price are : {0} ", offer.Price, offer.Offer);
            // Wait for user
            Console.ReadKey();
        }
示例#16
0
 //Sender
 public void sender(String textmessage)
 {
     AUOMQ.MSMQ.MSMQSender b = new MSMQSender(this, "192.168.222.135");
     b.connect();
     b.send(textmessage);
 }