[]
        
(Showing Draft Content)

BarCodeViewModel Class

This topic covers the DataSource used for the QuickStart topic, that is, the BarCodeViewModel class.


public class BarCodeViewModel:ViewModelBase
    {
        public int counter = 0;
        //List of Barcodetypes which are visible in combobox
        private List<CodeType> _barcodes;
        public List<CodeType> Barcodes
        {
            get { return _barcodes; }
            set
            {
                _barcodes = value;
                OnPropertChanged("Barcodes");
            }
        }
        //List of Products which are visible in combobox
      
        //List of Categories which are visible in combobox
        private List<string> _category;
        public List<string> Categories
        {
            get { return _category; }
            set { _category = value;OnPropertChanged("Categories"); }
        }
        #region Properties
        private string _barcodesChanged;
        public string BarcodesChanged
        {
            get { return _barcodesChanged; }
            set { _barcodesChanged = value;OnPropertChanged("BarcodeChanged");CreateBarCode(); }
        }
        private string _categoriesChanged;
        public string CategoriesChanged
        {
            get { return _categoriesChanged; }
            set { _categoriesChanged = value;
                if(_categoriesChanged != null)
                {
                    IsBarCodeTypeEnabled = true;
                    if (_categoriesChanged=="Email")
                    {
                        Barcodes = new List<CodeType>() { CodeType.QRCode, CodeType.DataMatrix, CodeType.Pdf417, CodeType.Code39x };
                        PageToShow = new Email();
                    }
                    else if(_categoriesChanged=="Text")
                    {
                        Barcodes = new List<CodeType>() { CodeType.Bc412, CodeType.Code11, CodeType.HIBCCode128, CodeType.HIBCCode39, CodeType.Iata25, CodeType.IntelligentMailPackage, CodeType.ISBN, CodeType.ISMN, CodeType.ISSN, CodeType.ITF14, CodeType.MicroQRCode, CodeType.Pharmacode, CodeType.Plessey, CodeType.PZN, CodeType.SSCC18, CodeType.Telepen, CodeType.QRCode, CodeType.DataMatrix, CodeType.Pdf417, CodeType.Code39x };
                        PageToShow = new Text();
                    }
                    else if(_categoriesChanged=="Url")
                    {
                        Barcodes = new List<CodeType>() { CodeType.QRCode, CodeType.DataMatrix, CodeType.Pdf417, CodeType.Code39x };
                        PageToShow = new Url();
                    }
                    else
                    {
                        Barcodes = new List<CodeType>() { CodeType.QRCode, CodeType.DataMatrix, CodeType.Pdf417, CodeType.Code39x };
                        PageToShow = new VCard();
                    }
                  
                }
                CreateBarCode();
            }
        }
    
        private object _pageToshow;
        public object PageToShow
        {
            get { return _pageToshow; }
            set { _pageToshow = value;OnPropertChanged("PageToShow"); }
        }
        private string _url;
        public string Url
        {
            get { return _url; }
            set { _url = value;OnPropertChanged("Url"); }
        }
        private string _text;
        public string Text
        {
            get { return _text; }
            set { _text = value;OnPropertChanged("Text"); }
        }
        private string _email;
        public string Email
        {
            get { return _email; }
            set { _email = value; OnPropertChanged("Email"); }
        }
        private CodeType _barCodeType;
        public CodeType BarCodeType
        {
            get { return _barCodeType; }
            set { _barCodeType = value;OnPropertChanged("BarCodeType"); }
        }
        private string _barCodeText;
        public string BarCodeText
        {
            get { return _barCodeText; }
            set { _barCodeText = value;OnPropertChanged("BarCodeText"); }
        }
        private string _name;
        public string Name
        {
            get { return _name; }
            set { _name = value;OnPropertChanged("Name"); }
        }
        private string _organization;
        public string Organization
        {
            get { return _organization; }
            set { _organization = value;OnPropertChanged("Organization"); }
        }
        private string _address;
        public string Address
        {
            get { return _address; }
            set { _address = value;OnPropertChanged("Address"); }
        }
        private string _zip;
        public string Zip
        {
            get { return _zip; }
            set { _zip = value;OnPropertChanged("Zip"); }
        }
        private string _country;
        public string Country
        {
            get { return _country; }
            set { _country = value;OnPropertChanged("Country"); }
        }
        private string my_homePhone;
        public string HomePhone
        {
            get { return my_homePhone; }
            set { my_homePhone = value;OnPropertChanged("HomePhone"); }
        }
        private string _fax;
        public string Fax
        {
            get { return _fax; }
            set { _fax = value;OnPropertChanged("Fax"); }
        }
        private string _resultantCard;
        public string ResultantCard
        {
            get { return "Name:" + Name + "Organization:" + Organization + "Address:" + Address + "Zip:" + Zip + "Country:" + Country + "HomePhone:" + HomePhone + "Fax:" + Fax; }
            set
            {
                _resultantCard = value;
                OnPropertChanged("ResultantCard");
            }
        }
        private bool _isBarCodeTypeEnabled;
        public bool IsBarCodeTypeEnabled
        {
            get { return _isBarCodeTypeEnabled; }
            set { _isBarCodeTypeEnabled = value;OnPropertChanged("IsBarCodeTypeEnabled"); }
        }
        private bool _exportButtonVisibility;
        public bool ExportButtonVisibility
        {
            get { return _exportButtonVisibility; }
            set { _exportButtonVisibility = value;OnPropertChanged("ExportButtonVisibility"); }
        }
        #endregion Properties
        //Icommand for button used for regenerating the BarCode
        #region ICommand
        private ICommand _regenerateCode = null;
        public ICommand RegenerateCode
        {
            get
            {
                _regenerateCode = new RelayCommand(RegenerateBarCode);
                return _regenerateCode;
            }
            set { _regenerateCode = value; }
        }
        #endregion ICommand
        //Method called by Icommand to regerate the BarCode
        private void RegenerateBarCode(object obj)
        {
            counter += 1;
            CreateBarCode();
        }
        //Constructor
        #region Constructor
        public BarCodeViewModel()
        {
            //Initializng all the lists and populating them with Data
            //Barcodes = new List<CodeType>() { CodeType.Bc412, CodeType.Code11, CodeType.HIBCCode128, CodeType.HIBCCode39, CodeType.Iata25, CodeType.IntelligentMailPackage, CodeType.ISBN, CodeType.ISMN, CodeType.ISSN, CodeType.ITF14, CodeType.MicroQRCode, CodeType.Pharmacode, CodeType.Plessey, CodeType.PZN, CodeType.SSCC18, CodeType.Telepen,CodeType.QRCode,CodeType.DataMatrix,CodeType.Pdf417,CodeType.Code39x };
            Categories = new List<string>() { "Email", "Text", "Url", "VfCard" };
            IsBarCodeTypeEnabled = false;
            ExportButtonVisibility = false;
        }
        #endregion Constructor
        //Method to check which options are selected in ComboBox and create BarCode accordingly
        public void CreateBarCode()
        {
            if(BarcodesChanged != null && CategoriesChanged!=null)
            {
                ExportButtonVisibility = true;
                var codetype = BarcodesChanged;
                switch (codetype)
                {
                    case "HIBCCode128":
                        BarCodeType = CodeType.HIBCCode128;
                        if (counter == 1) { BarCodeText = Text; counter = 0; }
                        else
                        {
                            Text = "A123PROD78905/0123456789DATA";
                            BarCodeText = Text;
                        } 
                        break;
                    case "HIBCCode39":
                        BarCodeType = CodeType.HIBCCode39;
                        if(counter==1) { BarCodeText= Text;counter=0; }
                        else
                        {
                            Text = @"A123PROD78905/0123456789DATA";
                            BarCodeText = Text;
                        }
                        break;
                    case "IntelligentMailPackage":
                        BarCodeType = CodeType.IntelligentMailPackage;
                        if(counter==1) { BarCodeText= Text;counter = 0; }
                        else
                        {
                            Text = "9212391234567812345671";
                            BarCodeText = Text;
                        }
                        break;
                    case "ISBN":
                        BarCodeType = CodeType.ISBN;
                        if (counter == 1) { BarCodeText = Text; counter = 0; }
                        else
                        {
                            Text = "9790123456785";
                            BarCodeText = Text;
                        }
                        break;
                    case "ISMN":
                        BarCodeType = CodeType.ISMN;
                        if (counter == 1) { BarCodeText = Text; counter = 0; }
                        else
                        {
                            Text = "9790123456785";
                            BarCodeText = Text;
                        }
                        break;
                    case "ISSN":
                        BarCodeType = CodeType.ISSN;
                        if (counter == 1) { BarCodeText = Text; counter = 0; }
                        else
                        {
                            Text = "9790123456785";
                            BarCodeText = Text;
                        }
                        break;
                    case "PZN":
                        BarCodeType = CodeType.PZN;
                        if(counter==1) { BarCodeText= Text;counter = 0; }
                        else
                        {
                            Text = "01234562";
                            BarCodeText = Text;
                        }
                        break;
                    case "Pharmacode":
                        BarCodeType = CodeType.Pharmacode;
                        if (counter == 1) { BarCodeText = Text; counter = 0; }
                        else
                        {
                            Text = "131070";
                            BarCodeText = Text;
                        }
                        break;
                    case "Plessey":
                        BarCodeType = CodeType.Plessey;
                        if (counter == 1) { BarCodeText = Text; counter = 0; }
                        else
                        {
                            Text = "9790123456785";
                            BarCodeText = Text;
                        }
                        break;
                    case "SSCC18":
                        BarCodeType = CodeType.SSCC18;
                        if(counter==1) { BarCodeText = Text;counter = 0; }
                        else
                        {
                            Text = "1234t5+678912345678";
                            BarCodeText = Text;
                        }
                        break;
                    case "Telepen":
                        BarCodeType = CodeType.Telepen;
                        if (counter == 1) { BarCodeText = Text; counter = 0; }
                        else
                        {
                            Text = "9790123456785";
                            BarCodeText = Text;
                        }
                        break;
                    case "Bc412":
                        BarCodeType = CodeType.Bc412;
                        if(counter == 1) { BarCodeText = Text;counter = 0; }
                        else
                        {
                            Text = "AQ1557";
                            BarCodeText = Text;
                        }
                        break;
                    case "Code11":
                        BarCodeType = CodeType.Code11;
                        if (counter == 1) { BarCodeText = Text; counter = 0; }
                        else
                        {
                            Text = "9790123456785";
                            BarCodeText = Text;
                        }
                        break;
                    case "MicroQRCode":
                        BarCodeType = CodeType.MicroQRCode;
                        if(counter==1) { BarCodeText = Text;counter = 0; }
                        else
                        {
                            Text = "12345";
                            BarCodeText = Text;
                        }
                        break;
                    case "Iata25":
                        BarCodeType = CodeType.Iata25;
                        if(counter==1) { BarCodeText = Text;counter = 0; }
                        else
                        {
                            Text = "0123456789";
                            BarCodeText = Text;
                        }
                        break;
                    case "ITF14":
                        BarCodeType = CodeType.ITF14;
                        if (counter == 1) { BarCodeText = Text;counter = 0; }
                        else
                        {
                            Text = "1234567891011";
                            BarCodeText = Text;
                        }
                        break;
                    case "QRCode":
                       
                        BarCodeType = CodeType.QRCode;
                        if (CategoriesChanged == "Text")
                        {
                            if (counter == 1) { BarCodeText = Text;counter=0; }
                            else
                            {
                                Text = "Welcome to use FlexGrid control";
                                BarCodeText = Text;
                            }
                        }
                        else if (CategoriesChanged == "Url")
                        {
                            if(counter == 1) { BarCodeText = Url;counter=0;}
                            else
                            {
                                Url = "https://www.grapecity.com.cn/componentone";
                                BarCodeText = Url;
                            }
                        }
                        else if (CategoriesChanged == "Email")
                        {
                            if(counter==1) { BarCodeText = Email; counter=0; }
                            else
                            {
                                Email = "us.sales@mescius.com";
                                BarCodeText = Email;
                            }
                        }
                        else
                        {
                            if (counter == 1) { BarCodeText = ResultantCard; counter = 0; }
                            else
                            {
                                Name = "Mr.C1.Sales.Jr";
                                Organization = "MESCIUS";
                                Address = "Noida";
                                Zip = "11012";
                                Country = "India";
                                HomePhone = "987652232";
                                Fax = "102345";
                                BarCodeText = ResultantCard;
                            }
                        }
                        break;
                    case "DataMatrix":
                        BarCodeType = CodeType.DataMatrix;
                        if (CategoriesChanged == "Text")
                        {
                            if(counter == 1) { BarCodeText = Text; counter=0;}
                            else
                            {
                                Text = "Welcome to use FlexGrid control";
                                BarCodeText = Text;
                            }
                        }
                        else if (CategoriesChanged == "Url")
                        {
                            if (counter == 1) { BarCodeText = Url;counter=0;}
                            else
                            {
                                Url = "https://developer.mescius.com/componentone";
                                BarCodeText = Url;
                            }
                        }
                        else if (CategoriesChanged == "Email")
                        {
                            if (counter == 1) { BarCodeText = Email; counter=0;}
                            else
                            {
                                Email = "us.sales@mescius.com";
                                BarCodeText = Email;
                            }
                        }
                        else
                        {
                            if (counter == 1) { BarCodeText = ResultantCard; counter = 0; }
                            else
                            {
                                Name = "Mr.C1.Sales.Jr";
                                Organization = "MESCIUS";
                                Address = "Noida";
                                Zip = "11012";
                                Country = "India";
                                HomePhone = "987652232";
                                Fax = "102345";
                                BarCodeText = ResultantCard;
                            }
                        }
                        break;
                    case "Pdf417":
                        BarCodeType = CodeType.Pdf417;
                        if (CategoriesChanged == "Text")
                        {
                            if(counter==1) { BarCodeText = Text;counter = 0; }
                            else
                            {
                                Text = "Welcome to use FlexGrid control";
                                BarCodeText = Text;
                            }
                        }
                        else if (CategoriesChanged == "Url")
                        {
                            if (counter == 1) { BarCodeText = Url;counter=0;}
                            else
                            {
                                Url = "https://developer.mescius.com/componentone";
                                BarCodeText = Url;
                            }
                               
                        }
                        else if (CategoriesChanged == "Email")
                        {
                            if (counter == 1) { BarCodeText = Email;counter=0;}
                            else
                            {
                                Email = "us.sales@mescius.com";
                                BarCodeText = Email;
                            }
                        }
                        else
                        {
                            if (counter == 1) { BarCodeText = ResultantCard; counter = 0; }
                            else
                            {
                                Name = "Mr.C1.Sales.Jr";
                                Organization = "MESCIUS";
                                Address = "Noida";
                                Zip = "11012";
                                Country = "India";
                                HomePhone = "987652232";
                                Fax = "102345";
                                BarCodeText = ResultantCard;
                            }
                        }
                        break;
                    case "Code39x":
                        BarCodeType = CodeType.Code39x;
                        if (CategoriesChanged == "Text")
                        {
                            if (counter == 1) { BarCodeText= Text;counter=0;}
                            else
                            {
                                Text = "Welcome to use FlexGrid control";
                                BarCodeText = Text;
                            }
                        }
                        else if (CategoriesChanged == "Url")
                        {
                            if(counter==1) { BarCodeText= Url; counter=0;}
                            else
                            {
                                Url = "https://developer.mescius.com/componentone";
                                BarCodeText = Url;
                            }
                        }
                        else if (CategoriesChanged == "Email")
                        {
                            if (counter == 1) { BarCodeText= Email;counter=0;}
                            else
                            {
                                Email = "us.sales@mescius.com";
                                BarCodeText = Email;
                            }
                        }
                        else
                        {
                            if (counter == 1) { BarCodeText = ResultantCard; counter = 0; }
                            else
                            {
                                Name = "Mr.C1.Sales.Jr";
                                Organization = "MESCIUS";
                                Address = "Noida";
                                Zip = "11012";
                                Country = "India";
                                HomePhone = "987652232";
                                Fax = "102345";
                                BarCodeText = ResultantCard;
                            }
                        }
                        break;
                }
            }
        }
    }
    //Class handling INotifyChanges
    #region INotifyPropertyChanges
    public class ViewModelBase : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
        public void OnPropertChanged(string propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }
}
#endregion INotifyPropertyChanges