コード例 #1
0
ファイル: QBSDK.cs プロジェクト: GTravesty/QBSDK
 public static XElement ToQBXML(this BaseRef value, string name)
 {
     if (value == null)
     {
         return(null);
     }
     return(value.ToQBXML(name));
 }
コード例 #2
0
ファイル: Offset.cs プロジェクト: IMULMUL/npoi
        public ValueEval Evaluate(ValueEval[] args, int srcCellRow, int srcCellCol)
        {
            if (args.Length < 1 || args.Length > 5)
            {
                return(ErrorEval.VALUE_INVALID);
            }

            try
            {
                BaseRef baseRef = EvaluateBaseRef(args[0]);
                // optional arguments
                // If offsets are omitted, it is assumed to be 0.
                int rowOffset    = (args[1] is MissingArgEval) ? 0 : EvaluateIntArg(args[1], srcCellRow, srcCellCol);
                int columnOffset = (args[2] is MissingArgEval) ? 0 : EvaluateIntArg(args[2], srcCellRow, srcCellCol);
                int height       = baseRef.Height;
                int width        = baseRef.Width;
                // optional arguments
                // If height or width are omitted, it is assumed to be the same height or width as reference.
                switch (args.Length)
                {
                case 5:
                    if (!(args[4] is MissingArgEval))
                    {
                        width = EvaluateIntArg(args[4], srcCellRow, srcCellCol);
                    }
                    // fall-through to pick up height
                    if (!(args[3] is MissingArgEval))
                    {
                        height = EvaluateIntArg(args[3], srcCellRow, srcCellCol);
                    }
                    break;

                case 4:
                    if (!(args[3] is MissingArgEval))
                    {
                        height = EvaluateIntArg(args[3], srcCellRow, srcCellCol);
                    }
                    break;

                default:
                    break;
                }
                // Zero height or width raises #REF! error
                if (height == 0 || width == 0)
                {
                    return(ErrorEval.REF_INVALID);
                }
                LinearOffsetRange rowOffsetRange = new LinearOffsetRange(rowOffset, height);
                LinearOffsetRange colOffsetRange = new LinearOffsetRange(columnOffset, width);
                return(CreateOffset(baseRef, rowOffsetRange, colOffsetRange));
            }
            catch (EvaluationException e)
            {
                return(e.GetErrorEval());
            }
        }
コード例 #3
0
        public VerticalElementSpec(KeyValuePair <float, KeyValuePair <string, string>[]>[] tags, BaseRef bottomFloor, BaseRef topFloor)
        {
            Contract.Requires(tags != null);
            Contract.Requires(bottomFloor != null);
            Contract.Requires(topFloor != null);

            _tags        = tags;
            _topFloor    = topFloor;
            _bottomFloor = bottomFloor;
        }
コード例 #4
0
            public XElement GenerateAddRq(BaseRef OverrideItemAccountRef = null, List <LinkToTxn> LinkToTxn = null)
            {
                XElement xElement = new XElement(nameof(ItemGroupLine) + "Add");

                xElement.Add(ItemGroupRef.ToQBXML(nameof(ItemGroupRef)));
                xElement.Add(Quantity.ToQBXML(nameof(Quantity)));
                xElement.Add(UnitOfMeasure.ToQBXML(nameof(UnitOfMeasure)));
                xElement.Add(InventorySiteRef.ToQBXML(nameof(InventorySiteRef)));
                xElement.Add(InventorySiteLocationRef.ToQBXML(nameof(InventorySiteLocationRef)));
                xElement.Add(DataExt.ToQBXML(nameof(DataExt)));
                return(xElement);
            }
コード例 #5
0
            public XElement GenerateModRq(BaseRef OverrideItemAccountRef = null)
            {
                XElement xElement = new XElement(nameof(ItemLine) + "Mod");

                xElement.Add(TxnLineID.ToQBXML(nameof(TxnLineID)));
                xElement.Add(ItemGroupRef.ToQBXML(nameof(ItemGroupRef)));
                xElement.Add(Quantity.ToQBXML(nameof(Quantity)));
                xElement.Add(UnitOfMeasure.ToQBXML(nameof(UnitOfMeasure)));
                xElement.Add(OverrideUOMSetRef.ToQBXML(nameof(OverrideUOMSetRef)));
                xElement.Add(ItemLine.ToQBXML(nameof(ItemLine) + "Mod"));
                return(xElement);
            }
コード例 #6
0
 public Customer(XElement xElement) : base(xElement)
 {
     if (xElement == null)
     {
         return;
     }
     ClassRef                  = (BaseRef)xElement.Element(nameof(ClassRef));
     CompanyName               = (string)xElement.Element(nameof(CompanyName));
     Salutation                = (string)xElement.Element(nameof(Salutation));
     FirstName                 = (string)xElement.Element(nameof(FirstName));
     MiddleName                = (string)xElement.Element(nameof(MiddleName));
     LastName                  = (string)xElement.Element(nameof(LastName));
     JobTitle                  = (string)xElement.Element(nameof(JobTitle));
     BillAddress               = (Address)xElement.Element(nameof(BillAddress));
     ShipAddress               = (Address)xElement.Element(nameof(ShipAddress));
     ShipToAddress             = (List <Address>)xElement.Elements(nameof(ShipToAddress));
     Phone                     = (string)xElement.Element(nameof(Phone));
     AltPhone                  = (string)xElement.Element(nameof(AltPhone));
     Fax                       = (string)xElement.Element(nameof(Fax));
     Email                     = (string)xElement.Element(nameof(Email));
     Cc                        = (string)xElement.Element(nameof(Cc));
     Contact                   = (string)xElement.Element(nameof(Contact));
     AltContact                = (string)xElement.Element(nameof(AltContact));
     AdditionalContactRef      = (List <ContactRef>)xElement.Elements(nameof(AdditionalContactRef));
     Contacts                  = (List <Contacts>)xElement.Elements(nameof(Contacts));
     CustomerTypeRef           = (BaseRef)xElement.Elements(nameof(CustomerTypeRef));
     TermsRef                  = (BaseRef)xElement.Element(nameof(TermsRef));
     SalesRepRef               = (BaseRef)xElement.Element(nameof(SalesRepRef));
     Balance                   = (decimal?)xElement.Element(nameof(Balance));
     OpenBalance               = (decimal?)xElement.Element(nameof(OpenBalance));
     OpenBalanceDate           = (DateTime?)xElement.Element(nameof(OpenBalanceDate));
     SalesTaxCodeRef           = (BaseRef)xElement.Element(nameof(SalesTaxCodeRef));
     ItemSalesTaxRef           = (BaseRef)xElement.Element(nameof(ItemSalesTaxRef));
     ResaleNumber              = (string)xElement.Element(nameof(ResaleNumber));
     AccountNumber             = (string)xElement.Element(nameof(AccountNumber));
     CreditLimit               = (decimal?)xElement.Element(nameof(CreditLimit));
     PreferredPaymentMethodRef = (BaseRef)xElement.Element(nameof(PreferredPaymentMethodRef));
     CreditCardInfo            = (CreditCard)xElement.Element(nameof(CreditCardInfo));
     JobStatus                 = (JobStatus?)xElement.Parse <JobStatus>();
     JobStartDate              = (DateTime?)xElement.Element(nameof(JobStartDate));
     JobProjectedEndDate       = (DateTime?)xElement.Element(nameof(JobProjectedEndDate));
     JobEndDate                = (DateTime?)xElement.Element(nameof(JobEndDate));
     JobDesc                   = (string)xElement.Element(nameof(JobDesc));
     JobTypeRef                = (BaseRef)xElement.Element(nameof(JobTypeRef));
     Notes                     = (string)xElement.Element(nameof(Notes));
     AdditionalNotes           = (List <AdditionalNote>)xElement.Elements(nameof(AdditionalNotes));
     PreferredDeliveryMethod   = (PreferredDeliveryMethod?)xElement.Parse <PreferredDeliveryMethod>();
     PriceLevelRef             = (BaseRef)xElement.Element(nameof(PriceLevelRef));
     ExternalGUID              = (string)xElement.Element(nameof(ExternalGUID));
     CurrencyRef               = (BaseRef)xElement.Element(nameof(CurrencyRef));
 }
コード例 #7
0
        private WriteResponse[] ProcessRecordDeletesInBatchMode(BaseRef[] records, string methodName)
        {
            int batchSize        = Configuration.DeleteRequestSize;
            var beforeUploadArgs = new BeforeBatchDeleteEventArgs(methodName, records.Length, batchSize);

            var beforeUploadHandler = GetBeforeDeleteHandler();
            var afterUploadHandler  = GetAfterDeleteHandler();

            if (records.Length <= batchSize)
            {
                beforeUploadHandler(beforeUploadArgs.UpdateData(records, 1));
                var result = InvokeService <WriteResponse[]>(records, methodName);
                afterUploadHandler(new AfterBatchUploadEventArgs(beforeUploadArgs, result).UpdateData(0));
                return(result);
            }

            List <WriteResponse> responses = new List <WriteResponse>(records.Length);
            var afterUploadArgs            = new AfterBatchUploadEventArgs(null, responses);

            BaseRef[] batch         = new BaseRef[batchSize];
            int       leftOverCount = 0;
            int       batchNumber   = 1;
            int       responseStartIndex;

            for (int i = 0; i < records.Length; i++)
            {
                if (i != 0 && (i % Configuration.DeleteRequestSize == 0))
                {
                    beforeUploadHandler(beforeUploadArgs.UpdateData(batch, batchNumber));
                    responseStartIndex = responses.Count;
                    ProcessDeleteBatch(batch, responses, methodName);
                    afterUploadHandler(afterUploadArgs.UpdateData(responseStartIndex));
                    ++batchNumber;

                    leftOverCount = 0;
                    batch         = new BaseRef[Configuration.DeleteRequestSize];
                }
                batch[i % Configuration.DeleteRequestSize] = records[i];
                ++leftOverCount;
            }

            BaseRef[] leftOvers = new BaseRef[leftOverCount];
            Array.Copy(batch, leftOvers, leftOverCount);

            beforeUploadHandler(beforeUploadArgs.UpdateData(leftOvers, batchNumber));
            responseStartIndex = responses.Count;
            ProcessDeleteBatch(leftOvers, responses, methodName);
            afterUploadHandler(afterUploadArgs.UpdateData(responseStartIndex));
            return(responses.ToArray());
        }
コード例 #8
0
        private FacadeSpec(BaseFacadeConstraint[] constraints, KeyValuePair <float, KeyValuePair <string, string>[]>[] tags, BaseRef bottom, BaseRef top)
        {
            Contract.Requires(constraints != null);
            Contract.Requires(Contract.ForAll(constraints, c => c != null));
            Contract.Requires(tags != null);
            Contract.Requires(bottom != null);
            Contract.Requires(top != null);

            Constraints = constraints;
            _bottom     = bottom;
            _top        = top;

            _tags = tags;
        }
コード例 #9
0
        public virtual async System.Threading.Tasks.Task <ReadResponse> getAsync(BaseRef baseRef)
        {
            var request = new getRequest()
            {
                passport        = passport,
                tokenPassport   = tokenPassport,
                applicationInfo = applicationInfo,
                partnerInfo     = partnerInfo,
                preferences     = preferences,
                baseRef         = baseRef,
            };
            var response = await((NetSuitePortType)this).getAsync(request);

            return(response.readResponse);
        }
コード例 #10
0
        public virtual async System.Threading.Tasks.Task <WriteResponse> deleteAsync(BaseRef baseRef, DeletionReason deletionReason)
        {
            var request = new deleteRequest()
            {
                passport        = passport,
                tokenPassport   = tokenPassport,
                applicationInfo = applicationInfo,
                partnerInfo     = partnerInfo,
                preferences     = preferences,
                baseRef         = baseRef,
                deletionReason  = deletionReason,
            };
            var response = await((NetSuitePortType)this).deleteAsync(request);

            return(response.writeResponse);
        }
コード例 #11
0
        private static AreaEval CreateOffset(BaseRef baseRef,
                                             LinearOffsetRange orRow, LinearOffsetRange orCol)
        {
            LinearOffsetRange absRows = orRow.NormaliseAndTranslate(baseRef.FirstRowIndex);
            LinearOffsetRange absCols = orCol.NormaliseAndTranslate(baseRef.FirstColumnIndex);

            if (absRows.IsOutOfBounds(0, LAST_VALID_ROW_INDEX))
            {
                throw new EvaluationException(ErrorEval.REF_INVALID);
            }
            if (absCols.IsOutOfBounds(0, LAST_VALID_COLUMN_INDEX))
            {
                throw new EvaluationException(ErrorEval.REF_INVALID);
            }
            return(baseRef.Offset(orRow.FirstIndex, orRow.LastIndex, orCol.FirstIndex, orCol.LastIndex));
        }
コード例 #12
0
        public static HzdCore GetRefCore(HzdCore core, BaseRef reference)
        {
            if (reference != null)
            {
                if (reference.Type == BaseRef.Types.LocalCoreUUID || reference.Type == BaseRef.Types.UUIDRef)
                {
                    return(core);
                }
                if (reference.Type == BaseRef.Types.ExternalCoreUUID || reference.Type == BaseRef.Types.StreamingRef)
                {
                    return(IoC.Archiver.LoadGameFile(reference.ExternalFile));
                }
            }

            return(null);
        }
コード例 #13
0
        public static async Task <HzdCore> GetRefCoreAsync(HzdCore core, BaseRef reference)
        {
            if (reference != null)
            {
                if (reference.Type == BaseRef.Types.LocalCoreUUID || reference.Type == BaseRef.Types.UUIDRef)
                {
                    return(core);
                }
                if (reference.Type == BaseRef.Types.ExternalCoreUUID || reference.Type == BaseRef.Types.StreamingRef)
                {
                    return(await IoC.Archiver.LoadGameFileAsync(reference.ExternalFile));
                }
            }

            return(await Task.FromResult <HzdCore>(null));
        }
コード例 #14
0
 public Account(XElement xElement) : base(xElement)
 {
     if (xElement == null)
     {
         return;
     }
     AccountType        = (AccountType?)xElement.Element(nameof(AccountType)).Parse <AccountType>();
     SpecialAccountType = (SpecialAccountType?)xElement.Element(nameof(SpecialAccountType)).Parse <SpecialAccountType>();
     AccountNumber      = (string)xElement.Element(nameof(AccountNumber));
     BankNumber         = (string)xElement.Element(nameof(BankNumber));
     Desc                   = (string)xElement.Element(nameof(Desc));
     Balance                = (decimal?)xElement.Element(nameof(Balance));
     TotalBalance           = (decimal?)xElement.Element(nameof(TotalBalance));
     TaxLineID              = (int?)xElement.Element(nameof(TaxLineInfoRet))?.Element(nameof(TaxLineID));
     TaxLineName            = (string)xElement.Element(nameof(TaxLineInfoRet))?.Element(nameof(TaxLineName));
     CashFlowClassification = (CashFlowClassification?)xElement.Element(nameof(CashFlowClassification)).Parse <CashFlowClassification>();
     CurrencyRef            = (BaseRef)xElement.Element(nameof(CurrencyRef));
 }
コード例 #15
0
            public XElement ToQBXML(string name, BaseRef OverrideItemAccountRef = null)
            {
                XElement xElement = new XElement(name);

                xElement.Add(TxnLineID.ToQBXML(nameof(TxnLineID)));
                xElement.Add(ItemRef.ToQBXML(nameof(ItemRef)));
                xElement.Add(InventorySiteRef.ToQBXML(nameof(InventorySiteRef)));
                xElement.Add(InventorySiteLocationRef.ToQBXML(nameof(InventorySiteLocationRef)));
                xElement.Add(SerialNumber.ToQBXML(nameof(SerialNumber)));
                xElement.Add(LotNumber.ToQBXML(nameof(LotNumber)));
                xElement.Add(Desc.ToQBXML(nameof(Desc)));
                xElement.Add(UnitOfMeasure.ToQBXML(nameof(UnitOfMeasure)));
                xElement.Add(OverrideUOMSetRef.ToQBXML(nameof(OverrideUOMSetRef)));
                xElement.Add(Cost.ToQBXML(nameof(Cost)));
                xElement.Add(Amount.ToQBXML(nameof(Amount)));
                xElement.Add(CustomerRef.ToQBXML(nameof(CustomerRef)));
                xElement.Add(ClassRef.ToQBXML(nameof(ClassRef)));
                xElement.Add(BillableStatus.ToQBXML(nameof(BillableStatus)));
                xElement.Add(OverrideItemAccountRef.ToQBXML(nameof(OverrideItemAccountRef)));
                xElement.Add(SalesRepRef.ToQBXML(nameof(SalesRepRef)));
                return(xElement);
            }
コード例 #16
0
        public ValueEval Evaluate(ValueEval[] args, int srcCellRow, int srcCellCol)
        {
            if (args.Length < 3 || args.Length > 5)
            {
                return(ErrorEval.VALUE_INVALID);
            }

            try
            {
                BaseRef baseRef      = EvaluateBaseRef(args[0]);
                int     rowOffset    = EvaluateIntArg(args[1], srcCellRow, srcCellCol);
                int     columnOffset = EvaluateIntArg(args[2], srcCellRow, srcCellCol);
                int     height       = baseRef.Height;
                int     width        = baseRef.Width;
                switch (args.Length)
                {
                case 5:
                    width = EvaluateIntArg(args[4], srcCellRow, srcCellCol);
                    break;

                case 4:
                    height = EvaluateIntArg(args[3], srcCellRow, srcCellCol);
                    break;
                }
                // Zero height or width raises #REF! error
                if (height == 0 || width == 0)
                {
                    return(ErrorEval.REF_INVALID);
                }
                LinearOffsetRange rowOffsetRange = new LinearOffsetRange(rowOffset, height);
                LinearOffsetRange colOffsetRange = new LinearOffsetRange(columnOffset, width);
                return(CreateOffset(baseRef, rowOffsetRange, colOffsetRange));
            }
            catch (EvaluationException e)
            {
                return(e.GetErrorEval());
            }
        }
コード例 #17
0
            public virtual XElement GenerateModRq(BaseRef OverrideItemAccountRef = null)
            {
                XElement xElement = new XElement(nameof(ItemLine) + "Mod");

                xElement.Add(TxnLineID.ToQBXML(nameof(TxnLineID)));
                xElement.Add(ItemRef.ToQBXML(nameof(ItemRef)));
                xElement.Add(InventorySiteRef.ToQBXML(nameof(InventorySiteRef)));
                xElement.Add(InventorySiteLocationRef.ToQBXML(nameof(InventorySiteLocationRef)));
                xElement.Add(SerialNumber.ToQBXML(nameof(SerialNumber)));
                xElement.Add(LotNumber.ToQBXML(nameof(LotNumber)));
                xElement.Add(Desc.ToQBXML(nameof(Desc)));
                xElement.Add(Quantity.ToQBXML(nameof(Quantity)));
                xElement.Add(UnitOfMeasure.ToQBXML(nameof(UnitOfMeasure)));
                xElement.Add(OverrideUOMSetRef.ToQBXML(nameof(OverrideUOMSetRef)));
                xElement.Add(Cost.ToQBXML(nameof(Cost)));
                xElement.Add(Amount.ToQBXML(nameof(Amount)));
                xElement.Add(CustomerRef.ToQBXML(nameof(CustomerRef)));
                xElement.Add(ClassRef.ToQBXML(nameof(ClassRef)));
                xElement.Add(BillableStatus.ToQBXML(nameof(BillableStatus)));
                xElement.Add(OverrideItemAccountRef.ToQBXML(nameof(OverrideItemAccountRef)));
                xElement.Add(SalesRepRef.ToQBXML(nameof(SalesRepRef)));
                return(xElement);
            }
コード例 #18
0
ファイル: Offset.cs プロジェクト: ChiangHanLung/PIC_VDS
        private static AreaEval CreateOffset(BaseRef baseRef,
            LinearOffsetRange orRow, LinearOffsetRange orCol)
        {

            LinearOffsetRange absRows = orRow.NormaliseAndTranslate(baseRef.FirstRowIndex);
            LinearOffsetRange absCols = orCol.NormaliseAndTranslate(baseRef.FirstColumnIndex);

            if (absRows.IsOutOfBounds(0, LAST_VALID_ROW_INDEX))
            {
                throw new EvaluationException(ErrorEval.REF_INVALID);
            }
            if (absCols.IsOutOfBounds(0, LAST_VALID_COLUMN_INDEX))
            {
                throw new EvaluationException(ErrorEval.REF_INVALID);
            }
            return baseRef.Offset(orRow.FirstIndex, orRow.LastIndex, orCol.FirstIndex, orCol.LastIndex);
        }
コード例 #19
0
 internal NetSuiteReadWriteResult(Status status, RecordType recordType, NetSuiteOperationType operationType, Record record, BaseRef baseRef)
     : base(status, recordType, operationType)
 {
     _record  = record;
     _baseRef = baseRef;
 }
コード例 #20
0
ファイル: ExpenseLine.cs プロジェクト: GTravesty/QBSDK
 public XElement ToQBXML(string name, BaseRef OverrideItemAccountRef = null)
 {
     throw new NotImplementedException();
 }
 /// <summary>
 /// Invokes NetSuite's get(..) method.
 /// </summary>
 /// <param name="baseRef">The item to be retrieved.</param>
 /// <returns>Response from the WebService.</returns>
 public virtual ReadResponse Get(BaseRef baseRef)
 {
     return(InvokeService <ReadResponse>(baseRef, "get"));
 }
 /// <summary>
 /// Invokes NetSuite's delete(..) method.
 /// </summary>
 /// <param name="baseRef">The item to be deleted.</param>
 /// <returns>Response from the WebService.</returns>
 public virtual WriteResponse Delete(BaseRef baseRef)
 {
     return(InvokeService <WriteResponse>(baseRef, "delete"));
 }