Beispiel #1
0
        public void sandboxImport()
        {
            try
            {
                Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.NetSuiteService service = new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.NetSuiteService()
                {
                    Timeout = 1000 * 60 * 60 * 4
                };
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
                Deposits = new Dictionary <int, string>();
                var dc = service.getDataCenterUrls(txtAccount.Text);
                service.CookieContainer = new CookieContainer();
                service.preferences     = new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.Preferences();
                service.preferences.ignoreReadOnlyFields          = true;
                service.preferences.ignoreReadOnlyFieldsSpecified = true;

                Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.Passport passport = new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.Passport();

                passport.account = txtAccount.Text;
                passport.email   = txtUserName.Text;
                Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.RecordRef role = new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.RecordRef();
                role.internalId   = "3";
                passport.role     = role;
                passport.password = txtPassword.Text;

                Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.Status status = service.login(passport).status;

                CsvFileReader reader    = new CsvFileReader(txtFilePath.Text.Trim());
                CsvRow        row       = new CsvRow();
                var           firstline = reader.ReadRow(row);
                Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.Deposit baseDeposit = new com.netsuite.sandbox.webservices.Deposit();
                int l = 0;
                while (reader.ReadRow(row))
                {
                    Deposits.Add(l, row.LineText);
                    l++;
                }

                for (int i = 0; i < Deposits.Count;)
                {
                    List <string> lines = new List <string>();
                    lines.Add(Deposits[i]);
                    for (int j = i + 1; j < Deposits.Count; j++)
                    {
                        var values = Deposits[j].Split(',');
                        if (Convert.ToInt16(values[9]) != 1)
                        {
                            lines.Add(Deposits[j]);
                            i = j;
                        }
                        else
                        {
                            break;
                        }
                    }
                    createNSRecordSandbox(service, lines);
                    i++;
                }
                service.logout();
                lblError.Text = "Records are successfuly uploaded";
            }
            catch (Exception ex)
            {
                lblError.ForeColor = Color.Red;
                lblError.Text      = ex.Message;
            }
        }
Beispiel #2
0
        public void createNSRecordSandbox(Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.NetSuiteService service, List <string> lines)
        {
            try
            {
                string[] values = lines[0].Split(',');
                //string[] fieldNames = new string[] { "Account", "Tran Date", "Posting Period", "Memo", "To Be Printed", "Business Unit", "Department", "Location", "Subsidiary", "Name", "Amount", "Account", "Check No.", "Department", "Business Unit", "Location", "Memo" };
                Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.Deposit deposit = new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.Deposit();

                deposit.account            = new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.RecordRef();
                deposit.account.internalId = BankAccountList[values[0]];
                if (values[1] != null && values[1] != "")
                {
                    deposit.tranDate          = Convert.ToDateTime(values[1] + " 01:00:00");
                    deposit.tranDateSpecified = true;
                }

                //deposit.postingPeriod = new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.RecordRef();
                //deposit.postingPeriod.name = values[2];
                deposit.memo        = values[3];
                deposit.toBePrinted = Convert.ToBoolean(values[4]);

                if (ClassList.ContainsKey(values[5]))
                {
                    deposit.@class            = new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.RecordRef();
                    [email protected] = ClassList[values[5]];
                }

                if (DepartmentList.ContainsKey(values[6]))
                {
                    deposit.department            = new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.RecordRef();
                    deposit.department.internalId = DepartmentList[values[6]];
                }
                if (LocationList.ContainsKey(values[7]))
                {
                    deposit.location            = new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.RecordRef();
                    deposit.location.internalId = LocationList[values[7]];
                }

                deposit.subsidiary            = new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.RecordRef();
                deposit.subsidiary.internalId = SubsidiaryList[values[8]];
                //deposit.total = Convert.ToDouble(values[10]);
                Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.DepositOtherList depositOtherList = new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.DepositOtherList();

                depositOtherList.depositOther = new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.DepositOther[lines.Count];
                for (int i = 0; i < lines.Count; i++)
                {
                    var linevalues = lines[i].Split(',');
                    Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.DepositOther depositOther = new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.DepositOther();

                    if (EntityList.ContainsKey(linevalues[10]))
                    {
                        depositOther.entity            = new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.RecordRef();
                        depositOther.entity.internalId = EntityList[linevalues[10]];
                    }
                    depositOther.account            = new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.RecordRef();
                    depositOther.account.internalId = BankAccountList[linevalues[12]];

                    if (!String.IsNullOrEmpty(Convert.ToString(linevalues[13])))
                    {
                        depositOther.refNum = linevalues[13];
                    }

                    if (DepartmentList.ContainsKey(linevalues[14]))
                    {
                        depositOther.department =
                            new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.RecordRef();
                        depositOther.department.internalId = DepartmentList[linevalues[14]];
                    }

                    if (ClassList.ContainsKey(linevalues[15]))
                    {
                        depositOther.@class =
                            new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.RecordRef();
                        [email protected] = ClassList[linevalues[15]];
                    }
                    if (LocationList.ContainsKey(linevalues[16]))
                    {
                        depositOther.location =
                            new Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.RecordRef();
                        depositOther.location.internalId = LocationList[linevalues[16]];
                    }
                    depositOther.memo            = linevalues[17];
                    depositOther.amount          = Convert.ToDouble(linevalues[11]);
                    depositOther.amountSpecified = true;
                    deposit.total = Convert.ToDouble(linevalues[11]);
                    depositOtherList.depositOther[i] = depositOther;
                }
                deposit.otherList = depositOtherList;
                Netsuite_Record_Uploader.com.netsuite.sandbox.webservices.WriteResponse wr = service.add(deposit);
            }
            catch (Exception ex)
            {
                lblError.ForeColor = Color.Red;
                lblError.Text      = ex.Message;
                throw ex;
            }
        }