• 1405/03/17

پروژه ای ساده با کمک اینتر فیس و چند مورد دیگر :

سلام استاد در توضیح این پروژه :وقتی برنامه ران میشه یه فرمی باز میشه که در آن نام ماشین و کشور و کارخانه ماشین نوشته شده و اگر کاربر خواست می تواند با کلیک کردن هر باتن مربوط به هر ماشین که مربوط به مشخصات همان ماشین هست مشخصات آن ماشین را که به کمک اینترفیس ها و کلاس ها ساخته شده ببیند و بعد از اینکه کاربر بر ماشین مورد نظر کلیک کرد یه فورمی باز میشه که در آن قیمت ماشین نوشته شده هست و من با کانستراکتور کاری کردم که فقط با یه فرم بشود برای چندین ماشین و قیمت مورد نظر همان ماشین نوشته شود در یه لیبل و خلاصه بعد از اینکه کلیک کرد و فرم جدید باز شد در آن کاربر باید شماره کارت و رمز کارت را وارد کند مبلغ پرداخت را (ویزیبل )کردم و مبلغ پرداختی را با همان لیبل تکسش را یکی کردم تا مبلغ پرداختی با مبلغ همان ماشین سیو باشد و کاربرم نمی تواند تغییرش دهد و اینکه قانونی گذاشتم که شماره کارت حتما 16 رقم و رمز کارت حتما 4 رقم باشد و بعدش با زدن پرداخت خرید کاربر ثبت خواهد شد.(حدود 5 ساعت زمان برد ) کد هایش هم براتون میذارم (اصلا از هوش مصنوعی هیچگونه کمکی نگرفتم) با تشکر فراوان بابت زحماتتون



using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using System.Text;
using System.Threading.Tasks;

namespace _67Interface
{

 //وضع قوانین مخصوص هر کارخانه
    internal interface ICarfactory
    {
        string Moshakhasat();
        string LimitSpeed();
        string Sellar(BigInteger Amount,string Rahnama);

       
    }
}

//کارخانه سایپا
public  class SaipaFactory :ICarfactory
{
    public  string Moshakhasat()
    {
        string Size = "Small";
        string Model = "Pride";
        return $"Size : {Size}\n Model : {Model}";

    }

    public  string LimitSpeed()
    {
        int Speed = 130;
        return $"Speed :{Speed}";
    }

    public  string Sellar(BigInteger Amount, string Rahnama)
    {

        return $"Sellar : {Amount} {Rahnama}";
    }
}
//کارخانه نیسان
   public class NeisanFactory:ICarfactory
   {
       public string Moshakhasat()
       {
           string Size = "Big";
           string Model = "Tiana";
           return $"Size : {Size}\n Model : {Model}";

       }

       public string LimitSpeed()
       {
           int Speed = 240;
           return $"Speed :{Speed}";
       }

       public string Sellar(BigInteger Amount, string Rahnama)
       {

           return $"Sellar : {Amount} {Rahnama}";
       }

   }
// کارخانه بی ام دابلیو
    public class BMWFactory : ICarfactory
{
    public string Moshakhasat()
    {
        string Size = "Average";
        string Model = "BMW730";
        return $"Size : {Size}\n Model : {Model}";

    }

    public string LimitSpeed()
    {
        int Speed = 280;
        return $"Speed :{Speed}";
    }

    public string Sellar(BigInteger Amount, string Rahnama)
    {

        return $"Sellar : {Amount} {Rahnama}";
    }
}
//کارخانه مرسدس بنز
public class MersedesFactory : ICarfactory
{
    public string Moshakhasat()
    {
        string Size = "Average";
        string Model = "EQS2025";
        return $"Size : {Size}\n Model : {Model}";

    }

    public string LimitSpeed()
    {
        int Speed = 380;
        return $"Speed :{Speed}";
    }

    public string Sellar(BigInteger Amount, string Rahnama)
    {

        return $"Sellar : {Amount} {Rahnama}";
    }
}




//فورم مربوط به اطلاعات خرید نهایی ماشین 
namespace _67Interface
{
    public partial class FrmBuing : Form
    {
        public FrmBuing(string Price, string Name)
        {
            InitializeComponent();
            LblAmount.Text = Price;
            LblNameCar.Text = Name;
            TxtMablagh.Text = Price;
            LblAmount.Text = TxtMablagh.Text;
            TxtCart.MaxLength = 16;
            TxtPassword.MaxLength = 4;

        }

        public bool NubMablagh { get; private set; }


        private void button1_Click(object sender, EventArgs e)
        {
            if (TxtCart.Text.Length != 16)
            {

                MessageBox.Show(" شماره کارت باید 16 رقم باشد");

                return;
            }
            if (TxtPassword.Text.Length != 4)
            {

                MessageBox.Show(" رمز کارت باید 4 رقم باشد");

                return;
            }

            if (MessageBox.Show("آیا از پرداخت مطمئن هستید", "?", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                Pardakht pardakht = new Pardakht();
                pardakht.ShowDialog();
            }
            else
            {

            }




        }

        private void BtnBazgasht_Click(object sender, EventArgs e)
        {
          this.Close();
        }
    }
}


/ فورم مربوط به توضیحات و مشخصات و خرید ماشین  
namespace _67Interface
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnPride_Click(object sender, EventArgs e)
        {
            FrmBuing Pride = new FrmBuing("300,000,000", "Pride");
            Pride.ShowDialog();
        }

        private void btnTiana_Click(object sender, EventArgs e)
        {
            FrmBuing Tiana = new FrmBuing("3,000,000,000", "Tiana");
            Tiana.ShowDialog();
        }

        private void btnBMW730_Click(object sender, EventArgs e)
        {
            FrmBuing BMW730 = new FrmBuing("30,000,000,000", "BMW730");
            BMW730.ShowDialog();
        }

        private void btnBenzEQS_Click(object sender, EventArgs e)
        {
            FrmBuing MersedesBenzEQS = new FrmBuing("50,000,000,000", "Benz EQS");
            MersedesBenzEQS.ShowDialog();

        }

        private void button5_Click(object sender, EventArgs e)
        {
            SaipaFactory saipa = new SaipaFactory();
            MessageBox.Show($"{saipa.Moshakhasat()}\n {saipa.LimitSpeed()}\n{saipa.Sellar(300000000, "تومان")}");
        }

        private void button6_Click(object sender, EventArgs e)
        {
            NeisanFactory neisan = new NeisanFactory();
            MessageBox.Show($"{neisan.Moshakhasat()}\n {neisan.LimitSpeed()}\n{neisan.Sellar(3000000000, "تومان")}");
        }

        private void button7_Click(object sender, EventArgs e)
        {
            BMWFactory bMW = new BMWFactory();
            MessageBox.Show($"{bMW.Moshakhasat()}\n {bMW.LimitSpeed()}\n{bMW.Sellar(30000000000, "تومان")}");
        }

        private void button8_Click(object sender, EventArgs e)
        {
            MersedesFactory mersedes = new MersedesFactory();
            MessageBox.Show($"{mersedes.Moshakhasat()}\n {mersedes.LimitSpeed()}\n{mersedes.Sellar(50000000000, "تومان")}");
        }
    }
}