วันศุกร์ที่ 21 ธันวาคม พ.ศ. 2561

C# Select Data by Lambda (Sql Server)



using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            Data.GetDataUser("Kriangkrai.R");         
            Console.WriteLine($"Manager       = {Data.getNameManager()}");
            Console.WriteLine($"Director      = {Data.getNameDirector()}");
            Console.WriteLine($"Administrator = {Data.getNameAdmin()}");

            Console.ReadKey();
        }
    }
    public class Data
    {
        public string Name;
        public string Location;
        public string Department;
        public string Permission;
        public string Groups;
        public static string Manager;
        public static string Director;
        public static string Admin;

        public Data(string Name,string Location, string Department, string Permission,string Groups)
        {
            this.Name = Name;
            this.Location = Location;
            this.Department = Department;
            this.Permission = Permission;
            this.Groups = Groups;
        }

        public static void GetDataUser(string Name)
        {
            List<Data> listData = new List<Data>();
            SqlConnection con = new SqlConnection("Data Source=DESKTOP-BMFLGER\\SA;Initial Catalog=DataUser;User ID = sa; Password = 123456;");
            con.Open();
            SqlCommand cmd = new SqlCommand("SELECT * FROM [User]", con);
            SqlDataReader dr = cmd.ExecuteReader();

            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    Data d = new Data(dr["Name"].ToString(), dr["LOcation"].ToString(), dr["Department"].ToString(), dr["Permission"].ToString(), dr["Groups"].ToString());
                    listData.Add(d);
                }
                dr.Close();
            }
            con.Close();

            string department = "";
            string Location = "";
            foreach (var v in listData)
            {
                if(Name == v.Name)
                {
                    department = v.Department;
                    Location = v.Location;
                    break;
                }
            }

            //Get Name Manager
            var NameManager = listData.Where(x => x.Department == department && x.Permission == "M").Select(x => x.Name).ToList();
            foreach(var v in NameManager)
            {
                Manager += v.ToString() + ",";
            }
            Manager = Manager.Remove(Manager.Length - 1);



            //Get Name Director
            if (Location == "Bangkok" || Location == "Konkaen")
            {
                var NameDirector = listData.Where(x => x.Permission == "D" && (x.Location == "Bangkok")).Select(x => new DataDirector { Name = x.Name, Location = x.Location }).ToList();
                foreach (var v in NameDirector)
                {
                    Director = v.Name + ",";
                }
                Director = Director.Remove(Director.Length - 1);
            }
            else if(Location == "Rayong")
            {
                var NameDirector = listData.Where(x => x.Permission == "D" && (x.Location == "Rayong")).Select(x => new DataDirector { Name = x.Name, Location = x.Location }).ToList();
                foreach (var v in NameDirector)
                {
                    Director = v.Name + ",";
                }
                Director = Director.Remove(Director.Length - 1);
            }

            //Get Name Admin
            var NameAdmin = listData.Where(x => x.Permission == "Admin").Select(x => x.Name).ToList();
            foreach(var v in NameAdmin)
            {
                Admin += v.ToString() + ",";
            }
            Admin = Admin.Remove(Admin.Length - 1);
        }
        
        public static string getNameManager()
        {
            return Manager;
        }
        public static string getNameDirector()
        {
            return Director;
        }
        public static string getNameAdmin()
        {
            return Admin;
        }
    }

   class DataDirector
    {
        public string Name { get; set; }
        public string Location { get; set; }       
    }
    
}




วันพุธที่ 18 เมษายน พ.ศ. 2561

Random Lot

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            List<string> ReadFile = File.ReadAllLines(@"D:\Data.txt").ToList();
            List<string> random = new List<string>();
            Random rnd = new Random();

            Console.Write("Do you want to Number of value : ");
            string number = Console.ReadLine();
            int want = 100- ReadFile.Count -(Int32.Parse(number))-1;
            for (int j = 0; j <100; j++)
            {
                random.Add(j.ToString());
       
            }
            for (int i = 0; i < ReadFile.Count; i++)
            {
                random.Remove(ReadFile[i]);
            }

            for (int j = 0; j < want; j++)
            {
                for (int i = 0; i < 1; i++)
                {
                    int k = rnd.Next(0, random.Count);
                    random.Remove(random[k]);

                }
                int count = 0;
                int row=20;
                foreach (string ii in random)
                {
                    if (Int32.Parse(count.ToString()) % row != 0)
                    {
                        if (Int32.Parse(ii) == Int32.Parse(random.Last()))
                        {
                            if (Int32.Parse(ii) < 10)
                            {
                                Console.Write("0" + ii.ToString());
                            }
                            else
                            {
                                Console.Write(ii.ToString());
                            }
                        }
                        else
                        {
                            if (Int32.Parse(ii) < 10)
                            {
                                Console.Write("0" + ii.ToString() + ",");
                            }
                            else
                            {
                                Console.Write(ii.ToString() + ",");
                            }
                        }                       
                    }
                    else
                    {
                        Console.WriteLine();
                    }
                    count++;
                    Thread.Sleep(10);
                }
                Console.WriteLine("\n");
            }
        }
    }
}