Beispiel #1
0
 public FormCustomers(LinkarClt linkarClt)
 {
     _LinkarClt = linkarClt;
     InitializeComponent();
     txtHelp.Text = "In this form the \"Select\" method is used with \"calculated\" option to load all data selected.\r\nIn the select box you can write a customer name or id.\r\nTo load the data, a standard class is used that collects the MV buffer and assigns it to each property.\r\nThis class has CRUD methods to see how they work.";
     cLkCustomersBindingSource.DataSource = new Customers();
 }
        public async Task <Item> GetItemAsync(string id)
        {
            Item item = null;

            if (id != null)
            {
                //LkData lkdata = LinkarClt.GetVersion(credentialsOptions);

                //var json = await client.GetStringAsync($"api/Linkar/GetItem?token=" + App.Token + "&code=" + id);
                //return await Task.Run(() => JsonConvert.DeserializeObject<Item>(json));

                string lkstring = LinkarClt.Read_Text(credentialsOptions, "LK.ITEMS", id, "", new ReadOptions(true), DataFormat.TYPE.MV, "", 0);

                char     delimiter         = ASCII_Chars.FS_chr;
                char     delimiterThisList = DBMV_Mark.AM;
                string   records           = "";
                string   recordCalculateds = "";
                string[] parts             = lkstring.Split(delimiter);
                if (parts.Length >= 1)
                {
                    string[] ThisList    = parts[0].Split(delimiterThisList);
                    int      numElements = ThisList.Length;
                    for (int i = 1; i < numElements; i++)
                    {
                        if (ThisList[i].Equals("RECORD"))
                        {
                            records = parts[i];
                        }
                        if (ThisList[i].Equals("CALCULATED"))
                        {
                            recordCalculateds = parts[i];
                        }
                        //if (ThisList[i].Equals("ERRORS"))
                        //{
                        //    if (parts[i] != null && parts[i].Length > 0)
                        //        this.LstErrors = new List<string>(parts[i].Split(DBMV_Mark.AM));
                        //    else
                        //        this.LstErrors = new List<string>();
                        //}
                    }
                }

                //Fill the class with response data
                if (records != null && records != "")
                {
                    item = LkItem.GetRecord(id, records, recordCalculateds);
                }
            }

            return(item);
        }
Beispiel #3
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            string username   = txtUsername.Text;
            string password   = txtPassword.Text;
            string entrypoint = txtEntryPoint.Text;
            string host       = txtLinkarHost.Text;
            short  port       = (short)txtLinkarPort.Value;
            string language   = txtLanguage.Text;
            string freeText   = txtFreeText.Text;

            try
            {
                //Create CredentialsOptions object with connection data
                CredentialsOptions credentialOptions = new CredentialsOptions(host, entrypoint, port, username, password, language, freeText);
                //Create LinkarClt client
                this._LinkarClt = new LinkarClt();
                //Execute client Login
                this._LinkarClt.Login(credentialOptions);
            }
            catch (Exception ex)
            {
                string msgErr = GetExceptionInfo(ex);
                MessageBox.Show(this, msgErr, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            txtUsername.Enabled   = false;
            txtPassword.Enabled   = false;
            txtEntryPoint.Enabled = false;
            txtLinkarHost.Enabled = false;
            txtLinkarPort.Enabled = false;
            txtLanguage.Enabled   = false;
            txtFreeText.Enabled   = false;
            btnLogin.Enabled      = false;

            btnLogout.Enabled    = true;
            btnCustomers.Enabled = true;
        }
        public async Task <IEnumerable <Item> > GetItemsAsync()
        {
            //var json = await client.GetStringAsync($"api/Linkar/GetItems?token=" + App.Token);
            //items = await Task.Run(() => JsonConvert.DeserializeObject<IEnumerable<Item>>(json));

            //LkData lkdata = LinkarClt.GetVersion(credentialsOptions);
            List <Item> items    = null;
            string      lkstring = LinkarClt.Select_Text(credentialsOptions, "LK.ITEMS", "", "BY CODE", "", "", new SelectOptions(false, false, 10, 1, true), DataFormat.TYPE.MV, "", 0);

            if (!string.IsNullOrEmpty(lkstring))
            {
                char     delimiter         = ASCII_Chars.FS_chr;
                char     delimiterThisList = DBMV_Mark.AM;
                String   recordIds         = "";
                String   records           = "";
                String   recordCalculateds = "";
                String[] parts             = lkstring.Split(delimiter);
                if (parts.Length >= 1)
                {
                    String[] ThisList    = parts[0].Split(delimiterThisList);
                    int      numElements = ThisList.Length;
                    for (int i = 1; i < numElements; i++)
                    {
                        if (ThisList[i].Equals("RECORD_ID"))
                        {
                            recordIds = parts[i];
                        }
                        if (ThisList[i].Equals("RECORD"))
                        {
                            records = parts[i];
                        }
                        if (ThisList[i].Equals("CALCULATED"))
                        {
                            recordCalculateds = parts[i];
                        }
                        //if (ThisList[i].Equals("ERRORS"))
                        //{
                        //    if (parts[i] != null && parts[i].Length > 0)
                        //        this.LstErrors = new List<string>(parts[i].Split(DBMV_Mark.AM));
                        //    else
                        //        this.LstErrors = new List<string>();
                        //}
                    }
                }

                //Fill all the records with response data
                String[] lstids   = recordIds.Split(ASCII_Chars.RS_chr);
                String[] lstregs  = records.Split(ASCII_Chars.RS_chr);
                String[] lstcalcs = recordCalculateds.Split(ASCII_Chars.RS_chr);

                items = new List <Item>();

                for (int i = 0; i < lstids.Length; i++)
                {
                    Item record = new Item(); //_LinkarClt);
                                              //record.RecordOriginalContent = lstregs[i];
                    if (recordCalculateds != null && recordCalculateds != "")
                    {
                        //record.RecordOriginalContentItypes = lstcalcs[i];
                        record = LkItem.GetRecord(lstids[i], lstregs[i], lstcalcs[i]);
                    }
                    else
                    {
                        record = LkItem.GetRecord(lstids[i], lstregs[i], "");
                    }

                    //if (this.LstErrors != null && this.LstErrors.Count > 0)
                    //{
                    //    for (int j = 0; j < this.LstErrors.Count; j++)
                    //    {
                    //        if (!string.IsNullOrEmpty(this.LstErrors[i]))
                    //        {
                    //            string[] errorParts = this.LstErrors[i].Split(DBMV_Mark.VM);
                    //            if (errorParts.Length > 2 && errorParts[2] == record.Code)
                    //                record.LstErrors.Add(this.LstErrors[i]);
                    //        }
                    //    }
                    //}

                    //record.Status = LinkarMainClass.StatusTypes.READED;
                    items.Add(record);
                }
            }

            return(items);
        }