public static Contracts SearchContract(String clientIIN, String contractNumber, int baseType)
        {
            AppJournal.Write("1C Transport", "Search contract", true);

            ChooseBaseType(baseType);

            var contractSearch = new ContractSearch();

            contractSearch.ClientIIN      = clientIIN;
            contractSearch.ContractNumber = contractNumber;

            try
            {
                responseData = baseConn.readContract(contractSearch);
            }
            catch (Exception) { }

            if (responseData.RequestSuccess)
            {
                return(responseData.ResponseObject as Contracts);
            }
            else
            {
                AppJournal.Write("1C Transport", "Search contract error :" + responseData.ErrorMsg, true);
                return(null);
            }
        }
示例#2
0
        public async Task <bool> LoadCustomerData()
        {
            ContractSearch  search       = new ContractSearch();
            SearchParamItem searchParams = new SearchParamItem();

            searchParams.CurrentType         = SearchParamItem.SearchType.Customers;
            searchParams.Customer.Namesearch = this.FullName;
            await search.StartSearch(searchParams);

            try
            {
                var items = search.CustomerItems;
                var item  = items.FirstOrDefault();
                if (item != null)
                {
                    Customer           = item;
                    this.ContractCount = Customer.ContractsCount;
                    this.ContractSum   = Customer.ContractsSum;
                }
            }
            catch
            {
            }

            return(true);
        }
示例#3
0
        public async Task <Roadmap> UpdateRoadmapAsync(ContractSearch userContract, Roadmap roadmap)
        {
            var url = string.Format(Endpoints.RoadmapUpdateAdminEndpoint, userContract.Id, roadmap.Year);

            roadmap.Year = null;
            return(await RequestWrapper.PatchAsyncWrapper <Roadmap, Roadmap>(roadmap, url));
        }
示例#4
0
    public async Task Test_Contract_Find()
    {
        #region Arrange
        var tmpCustomer = await FortnoxClient.CustomerConnector.CreateAsync(new Customer()
        {
            Name = "TmpCustomer", CountryCode = "SE", City = "Testopolis"
        });

        var tmpArticle = await FortnoxClient.ArticleConnector.CreateAsync(new Article()
        {
            Description = "TmpArticle", Type = ArticleType.Stock, PurchasePrice = 100
        });

        #endregion Arrange

        var connector = FortnoxClient.ContractConnector;

        var newContract = new Contract()
        {
            CustomerNumber = tmpCustomer.CustomerNumber,
            ContractDate   = new DateTime(2019, 1, 20), //"2019-01-20",
            Active         = false,
            Comments       = "TestContract",
            ContractLength = 4,
            Continuous     = true,
            Currency       = "SEK",
            Language       = Language.English,
            InvoiceRows    = new List <ContractInvoiceRow>()
            {
                new ContractInvoiceRow()
                {
                    ArticleNumber = tmpArticle.ArticleNumber, DeliveredQuantity = 10
                },
                new ContractInvoiceRow()
                {
                    ArticleNumber = tmpArticle.ArticleNumber, DeliveredQuantity = 20
                },
                new ContractInvoiceRow()
                {
                    ArticleNumber = tmpArticle.ArticleNumber, DeliveredQuantity = 15
                }
            },
            PeriodStart = new DateTime(2020, 01, 01),
            PeriodEnd   = new DateTime(2020, 03, 01)
        };

        for (var i = 0; i < 5; i++)
        {
            await connector.CreateAsync(newContract);
        }

        var searchSettings = new ContractSearch();
        searchSettings.CustomerNumber = tmpCustomer.CustomerNumber;
        var contracts = await connector.FindAsync(searchSettings);

        Assert.AreEqual(5, contracts.Entities.Count);
        Assert.AreEqual("INACTIVE", contracts.Entities.First().Status);
    }
示例#5
0
        public async Task <IEnumerable <GoalWeight> > UpdateGoalsWeight(IEnumerable <GoalWeight> weights, ContractSearch userContract, Roadmap roadmap)
        {
            var url = string.Format(Endpoints.GoalsWeightAdminEndpoint, userContract.Id, roadmap.Year);

            return(await RequestWrapper.PatchAsyncWrapper <IEnumerable <GoalWeight>, IEnumerable <GoalWeight> >(weights, url));
        }
示例#6
0
        public async Task <bool> DeleteNonFinancialKpiAsync(ContractSearch userContract, Kpi kpi)
        {
            var url = $"{string.Format(Endpoints.KpiNonFinancialCustomAdminEndpoint, userContract.Id)}{kpi.Id}/";

            return(await RequestWrapper.DeleteAsyncWrapper(url));
        }
示例#7
0
        public async Task <bool> DeleteGoalAsync(ContractSearch userContract, Roadmap roadmap, Goal goal)
        {
            var url = $"{string.Format(Endpoints.GoalsAdminEndpoint, userContract.Id, roadmap.Year)}{goal.Id}/";

            return(await RequestWrapper.DeleteAsyncWrapper(url));
        }
示例#8
0
        public async Task <Goal> UpdateGoalAsync(ContractSearch userContract, Roadmap roadmap, Goal goal)
        {
            var url = $"{string.Format(Endpoints.GoalsAdminEndpoint, userContract.Id, roadmap.Year)}{goal.Id}/";

            return(await RequestWrapper.PatchAsyncWrapper <Goal, Goal>(goal, url));
        }
示例#9
0
        public async Task <Goal> CreateGoalAsync(ContractSearch userContract, Roadmap roadmap, GoalNew goal)
        {
            var url = string.Format(Endpoints.GoalsAdminEndpoint, userContract.Id, roadmap.Year);

            return(await RequestWrapper.PostAsyncWrapper <GoalNew, Goal>(goal, url));
        }
示例#10
0
        public async Task <Roadmap> CreateRoadmapAsync(ContractSearch userContract, Roadmap roadmap)
        {
            var url = string.Format(Endpoints.RoadmapsAdminEndpoint, userContract.Id);

            return(await RequestWrapper.PostAsyncWrapper <Roadmap, Roadmap>(roadmap, url));
        }
示例#11
0
        public async Task <Kpi> UpdateNonFinancialKpiAsync(ContractSearch userContract, Kpi kpi)
        {
            var url = $"{string.Format(Endpoints.KpiNonFinancialCustomAdminEndpoint, userContract.Id)}{kpi.Id}/";

            return(await RequestWrapper.PatchAsyncWrapper <Kpi, Kpi>(kpi, url));
        }
示例#12
0
        public async Task <Kpi> CreateNonFinancialKpiAsync(ContractSearch userContract, Kpi kpi)
        {
            var url = string.Format(Endpoints.KpiNonFinancialCustomAdminEndpoint, userContract.Id);

            return(await RequestWrapper.PostAsyncWrapper <Kpi, Kpi>(kpi, url));
        }
示例#13
0
        public async Task <Roadmaps> GetRoadmapsAsync(ContractSearch userContract)
        {
            var url = string.Format(Endpoints.RoadmapsAdminEndpoint, userContract.Id);

            return(await RequestWrapper.GetAsyncWrapper <Roadmaps>(url));
        }
示例#14
0
        public async Task <IEnumerable <Goal> > GetGoalsAsync(ContractSearch userContract, Roadmap roadmap)
        {
            var url = string.Format(Endpoints.GoalsAdminEndpoint, userContract.Id, roadmap.Year);

            return(await RequestWrapper.GetAsyncWrapper <IEnumerable <Goal> >(url));
        }
示例#15
0
        public async Task <IEnumerable <Kpi> > GetNonFinancialKpiAsync(ContractSearch userContract)
        {
            var url = string.Format(Endpoints.KpiNonFinancialCustomAdminEndpoint, userContract.Id);

            return(await RequestWrapper.GetAsyncWrapper <IEnumerable <Kpi> >(url));
        }