コード例 #1
0
        private async Task <Header> ConvertBillingsToSettingAsync(List <Billing> billings)
        {
            var first  = billings.First();
            var header = new Header {
                CompanyId         = CompanyId,
                CurrencyId        = first.CurrencyId,
                CustomerId        = first.CustomerId,
                CustomerCode      = first.CustomerCode,
                CustomerName      = first.CustomerName,
                DestinationId     = first.DestinationId,
                DepartmentId      = first.DepartmentId,
                StaffId           = first.StaffId,
                CollectCategoryId = first.CollectCategoryId,
            };

            header.BilledCycle = 1;
            header.BilledDay   = ConvertValidBilledDay(first.BilledAt.Day);
            header.StartMonth  = ToFirstDay(DateTime.Today).Value;
            if (header.DestinationId.HasValue)
            {
                var destination = (await GetDestinationAsync(first.CustomerId))
                                  .FirstOrDefault(x => x.Id == first.DestinationId.Value);

                header.DestinationCode = destination.Code;
                header.DestinationName = destination.ToString();
            }
            header.Details = billings.Select((x, index) => ConvertBillingToDetail(x, index)).ToList();
            return(header);
        }
コード例 #2
0
        private void ClearControlValues()
        {
            txtPatternName.Clear();
            txtCustomerCode.Clear();
            lblCustomerName.Clear();
            txtDestinationCode.Clear();
            lblDestinationName.Clear();
            txtDestinationCode.Enabled = false;
            btnDestination.Enabled     = false;
            cmbCycle.SelectedIndex     = -1;
            txtBilledDay.Clear();
            datStartMonth.Clear();
            datEndMonth.Clear();
            txtInvoiceCode.Clear();
            rdoSetFixedValueToNote1.Checked = true;
            rdoSetFixedValueToNote2.Checked = true;

            SettingHeader = new Header();

            txtCustomerCode.Enabled = true;
            btnCustomer.Enabled     = true;
            cmbCycle.Enabled        = true;
            txtBilledDay.Enabled    = true;
            datStartMonth.Enabled   = true;

            lblDisplayRepeatCount.Clear();

            SetDetailInputStatus();

            Modified = false;

            BaseContext.SetFunction03Enabled(false);
            BaseContext.SetFunction08Enabled(true);
        }
コード例 #3
0
        /// <summary><see cref="Header"/>をコントロールに設定
        /// 参照新規も流用</summary>
        /// <param name="header"></param>
        /// <param name="isReferencedNewData">参照新規か否か</param>
        /// <returns></returns>
        private async Task SetHeaderToControlsAsync(Header header, bool isReferencedNewData = false)
        {
            if (header == null)
            {
                return;
            }
            txtPatternName.Text = header.Name;

            if (header.LastCreateYearMonth.HasValue)
            {
                txtCustomerCode.Enabled = false;
                btnCustomer.Enabled     = false;
                cmbCycle.Enabled        = false;
                txtBilledDay.Enabled    = false;
                datStartMonth.Enabled   = false;
            }

            var customer = await GetCustomerByCodeAsync(header.CustomerCode);

            SetCustomerInformation(customer);
            if (!string.IsNullOrEmpty(header.DestinationCode))
            {
                SetDestinationInfomation(await GetDestinationByCodeAsync(customer.Id, header.DestinationCode));
            }
            cmbCycle.SelectedIndex
                = header.BilledCycle == 1 ? 0
                : header.BilledCycle == 3 ? 1
                : header.BilledCycle == 6 ? 2
                : header.BilledCycle == 12 ? 3 : -1;
            txtBilledDay.Text   = header.BilledDay.ToString();
            datStartMonth.Value = header.StartMonth;
            datEndMonth.Value   = header.EndMonth;
            txtInvoiceCode.Text = header.InvoiceCode;
            if (header.SetBillingNote1 == 0)
            {
                rdoSetFixedValueToNote1.Checked = true;
            }
            else
            {
                rdoSetYearMonthToNote1.Checked = true;
            }
            if (header.SetBillingNote2 == 0)
            {
                rdoSetFixedValueToNote2.Checked = true;
            }
            else
            {
                rdoSetYearMonthToNote2.Checked = true;
            }
            SettingHeader = header;
            SetDetailInputStatus();
            Modified = false;

            BaseContext.SetFunction03Enabled(!isReferencedNewData);
            BaseContext.SetFunction08Enabled(false);
        }