Ejemplo n.º 1
0
        public void reloadAll()
        {
            List <SCInvoice> lstContractInvoice = new List <SCInvoice>();

            if (SCMain.ContractOid > 0)
            {
                objContract = SCBase.searchContracts(SCMain.ContractOid);
                objContract.listContractOptions = ContractOption.getContractOption(objContract.ContractOID);

                //Loc du lieu bi sai
                List <ContractOption>       listWrong          = new List <ContractOption>();
                Dictionary <String, String> dicContractOptions = new Dictionary <String, String>();
                foreach (ContractOption tmp in objContract.listContractOptions)
                {
                    if (dicContractOptions.ContainsKey(tmp.toString()))
                    {
                        listWrong.Add(tmp);
                    }
                    else
                    {
                        dicContractOptions.Add(tmp.toString(), "1");
                    }
                }
                ///Thuc hien xoa
                objContract.deleteContractOptionWrong(objContract.ContractOID, listWrong);

                //Reload lai data
                objContract.listContractOptions = ContractOption.getContractOption(objContract.ContractOID);

                //
                List <Int32> lstInvoiceType = new List <Int32>();
                lstInvoiceType.Add(0);
                lstInvoiceType.Add(1);
                lstContractInvoice = SCInvoiceUtil.getContractInvoice(ContractFrm.objContract.ContractOID, lstInvoiceType, true);

                objContract.listSCContractRemark = SCContractRemark.getRemark(objContract.ContractOID);
            }
            else
            {
                objContract = new Contract();
            }
            this.loadComboboxData();
            this.loadContractData();

            myCulture = objGlobal.CultureInfo;

            //
            this.loadVehice();
            this.contractOption1.loadDataGrid();
            this.contractOption1.loadTree();
            this.contractDataFrm.fillData();
            objContract.listSCContractRemark = (objContract.listSCContractRemark == null) ? new List <SCContractRemark>() : objContract.listSCContractRemark;

            //Invoice
            invoicesFrm.setCheckDefault();
            invoicesFrm.fillDataGrid(lstContractInvoice);

            //Remark
            remarkFrm.loadRemark(objContract.listSCContractRemark);
        }
Ejemplo n.º 2
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            this.updateContract();

            this.vehicleDataTab.saveVehicle();

            if (objContract.VehiId.VehiId <= 0)
            {
                // MessageBox.Show("Select Vehicle");
                return;
            }

            //Update category
            this.contractOption1.saveOptionCategories();
            //Update contract data
            objContract = contractDataFrm.saveContractData();
            this.remarkFrm.saveContractRemark();
            bool tmp = false;

            tmp = objContract.saveContract();
            // MessageBox.Show(tmp.ToString());
            objContract = SCBase.searchContracts(objContract.ContractOID);
            this.loadComboboxData();
            this.loadContractData();

            //Load lai data
            objContract.listContractOptions  = ContractOption.getContractOption(objContract.ContractOID);
            objContract.listSCContractRemark = SCContractRemark.getRemark(objContract.ContractOID);
            objContract.listSCContractRemark = (objContract.listSCContractRemark == null) ? new List <SCContractRemark>() : objContract.listSCContractRemark;
            //Remark
            this.remarkFrm.loadRemark(objContract.listSCContractRemark);
        }
Ejemplo n.º 3
0
        private void btnNew_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("Do you want to create new version?", "Warning", MessageBoxButtons.YesNo);

            if (result == DialogResult.Yes)
            {
                if (objContract.ContractOID != 0)
                {
                    // get old object
                    Contract oldContract = new Contract();
                    oldContract = SCBase.searchContracts(SCMain.ContractOid);
                    //update status old then save
                    oldContract.ContractStatus = ContractStatus.Deactivated;

                    //Load danh sach ContractOption va ZSC_SubcontractorContractRisk
                    List <ContractOption> oldContractOptions             = ContractOption.getContractOption(SCMain.ContractOid);
                    List <ZSC_SubcontractorContractRisk> oldContractRisk = ZSC_SubcontractorContractRisk.getSubcontractorContractRisk(SCMain.ContractOid);

                    oldContract.saveContract();


                    //  new object
                    objContract.ContractOID = 0;
                    objContract.VersionNo   = objContract.VersionNo + 1;
                    this.updateContract();

                    //Tao list [ZSC_ContractOption]
                    objContract.listContractOptions = oldContractOptions;
                    if (objContract.listContractOptions != null && objContract.listContractOptions.Count > 0)
                    {
                        foreach (ContractOption objOptionDetail in objContract.listContractOptions)
                        {
                            objOptionDetail.isInsert = true;
                        }
                    }

                    //Tao list [ZSC_SubcontractorContractRisk]
                    objContract.SubcontractorContractRisks = oldContractRisk;


                    bool tmp = objContract.saveContract();
                    if (tmp)
                    {
                        this.loadComboboxData();
                        this.loadContractData();

                        //Load Data
                        this.loadVehice();
                        this.contractOption1.loadDataGrid();
                        this.contractOption1.loadTree();
                        this.contractDataFrm.fillData();
                    }
                }
            }
            else
            {
                //MessageBox.Show("Ha ha");
            }
        }
Ejemplo n.º 4
0
 private string formatKey(ContractOption cate)
 {
     if (cate.OptionDetailOID > 0)
     {
         return("D" + cate.OptionDetailOID);
     }
     if (cate.OptionOID > 0)
     {
         return("O" + cate.OptionOID);
     }
     return("C" + cate.OptionCategoryOID);
 }
Ejemplo n.º 5
0
 private void addToDic(ContractOption cate)
 {
     try
     {
         string key = formatKey(cate);
         listOptionDetailTmp.Add(key, "1");
     }
     catch (Exception ex)
     {
         _log.Error("ERROR addToDic: " + cate.toString(), ex);
     }
 }
Ejemplo n.º 6
0
        private void dataGridView1_RowValidated(object sender, DataGridViewCellEventArgs e)
        {
            //Update data
            if (e.RowIndex >= 0)
            {
                Int32 OptionCategoryOID = 0;
                Int32 OptionOID         = 0;
                Int32 OptionDetailOID   = 0;
                try
                {
                    DataGridViewRow row = dataGridView1.Rows[e.RowIndex];

                    Int32.TryParse(row.Cells["OptionCategoryOID"].Value.ToString(), out OptionCategoryOID);
                    Int32.TryParse(row.Cells["OptionOID"].Value.ToString(), out OptionOID);
                    Int32.TryParse(row.Cells["OptionDetailOID"].Value.ToString(), out OptionDetailOID);
                    //Console.WriteLine("OptionCategoryOID: " + OptionCategoryOID + " - OptionOID: " + OptionOID + " -OptionDetailOID: " + OptionDetailOID);
                    ContractOption finded = this.listOptionDetail.Single(s => s.OptionCategoryOID == OptionCategoryOID && s.OptionOID == OptionOID && s.OptionDetailOID == OptionDetailOID);

                    decimal sellPr     = 0;
                    decimal purchasePr = 0;
                    decimal Quantity   = 0;
                    decimal.TryParse(row.Cells["SalePr"].Value.ToString(), out sellPr);
                    decimal.TryParse(row.Cells["Quantity"].Value.ToString(), out Quantity);
                    decimal.TryParse(row.Cells["PurchasePr"].Value.ToString(), out purchasePr);
                    finded.SalePr     = sellPr;
                    finded.Quantity   = Quantity;
                    finded.PurchasePr = purchasePr;
                    if (row.Cells["Info"].Value != null)
                    {
                        finded.Info = row.Cells["Info"].Value.ToString();
                    }
                    if (row.Cells["PartialPayerCol"].Value != null)
                    {
                        finded.PartialPayer = row.Cells["PartialPayerCol"].Value.ToString();
                    }
                    calcTotal();
                }
                catch (System.InvalidOperationException ex)
                {
                    _log.Error("dataGridView1_RowValidated listOptionDetail Single not contain exactly one element: " + OptionCategoryOID + " - " + OptionOID + " - " + OptionDetailOID, ex);
                }
                catch (Exception ex)
                {
                    _log.Error("dataGridView1_RowValidated Exception: " + OptionCategoryOID + " - " + OptionOID + " - " + OptionDetailOID, ex);
                }
            }
        }
Ejemplo n.º 7
0
 private void removeFromDic(ContractOption cate)
 {
     try
     {
         if (listOptionDetailTmp != null && listOptionDetailTmp.Count > 0)
         {
             string key = formatKey(cate);
             if (listOptionDetailTmp.ContainsKey(key))
             {
                 listOptionDetailTmp.Remove(key);
             }
         }
     }
     catch (Exception ex)
     {
         _log.Error("ERROR removeFromDic: " + cate.toString(), ex);
     }
 }
Ejemplo n.º 8
0
        private bool invoiceContract(Contract objContract, bool bDraft, bool bManual, String Payer, int InvoiceSeqNr, bool bCapital)
        {
            bool              bRet         = true;
            clsAppConfig      objAppConfig = new clsAppConfig();
            clsGlobalVariable objGlobal    = new clsGlobalVariable();
            SCInvoice         objInv       = new SCInvoice();
            clsSqlFactory     hSql         = new clsSqlFactory();

            objInv.InvoiceSeqNr = InvoiceSeqNr;

            if (Payer == "")
            {
                if (objContract.InvoiceCustId != null)
                {
                    objInv.CustNo = objContract.InvoiceCustId.CustNr;
                }
                else
                {
                    objInv.CustNo = objContract.ContractCustId.CustNr;
                }
            }
            else
            {
                objInv.CustNo = objAppConfig.getNumberParam("ZSCCAPPAYE", Payer, "V1", "");
            }
            objInv.DCustNo     = objContract.ContractCustId.CustNr;
            objInv.UnitId      = objContract.InvoiceSiteId.strValue1;
            objInv.ContractOID = objContract.ContractOID;
            objInv.ExtOrderId  = objContract.ExtContractNo;
            if (objInv.ExtOrderId.Length > 10)
            {
                objInv.ExtOrderId = objInv.ExtOrderId.Substring(0, 10);
            }
            objInv.SalesType = objAppConfig.getStringParam("ZSCSETTING", "TRTYPE", "C3", "");
            objInv.SmanId    = objContract.RespSmanId.SmanId;

            objInv.TPCODE = objContract.ContractPaymentData.PaymentTerm.strValue1;
            objInv.TPTIME = objAppConfig.getNumberParam("MAKSUEHDOT", objInv.TPCODE, "V1", "");
            if (objContract.CostCenter.strValue1 != "")
            {
                hSql.NewCommand("select isnull(a.C4,'') from CORW a where a.CODAID='ZSCCOSTCC' and a.C3=? and a.C5=? ");
                hSql.Com.Parameters.Add("UNITID", objContract.SiteId.strValue1);
                hSql.Com.Parameters.Add("COSTCENTER", objContract.CostCenter.strValue1);
                hSql.ExecuteReader();
                if (hSql.Read())
                {
                    objInv.DeptId = hSql.Reader.GetString(0);
                }
            }

            objInv.Payer   = Payer;
            objInv.OUserId = objGlobal.DMSFirstUserName;
            objInv.VehiId  = objContract.VehiId.VehiId;
            objInv.Note    = objContract.ContractNo.ToString() + "/" + objContract.VersionNo.ToString() + "/" + objInv.InvoiceSeqNr.ToString();

            hSql.NewCommand("select isnull(a.C4,''), isnull(a.C5,'') from CORW a, VEHI b where a.CODAID='ZSCCONV' and a.C2='VEHICLASS2BTYPE' and a.C3=b.CLASS and b.VEHIID=? ");
            hSql.Com.Parameters.Add("VEHIID", objContract.VehiId.VehiId);
            hSql.ExecuteReader();
            if (hSql.Read())
            {
                objInv.BTYPE       = hSql.Reader.GetString(0);
                objInv.PartPostFix = hSql.Reader.GetString(1);
            }
            if (objContract.ContractPaymentData.PaymentGroupingLevel == PaymentGroupingType.Customer)
            {
                objInv.BTYPE = "0";
            }
            else
            {
                if (objContract.PaymentCollecType == PaymentCollectionType.Transfer)
                {
                    objInv.BTYPE = objAppConfig.getStringParam("ZSCSETTING", "INVCAT4", "C3", "");
                }
                else if (objContract.PaymentCollecType == PaymentCollectionType.Debit)
                {
                    objInv.BTYPE = objAppConfig.getStringParam("ZSCSETTING", "INVCAT5", "C3", "");
                }
                else if (objContract.PaymentCollecType == PaymentCollectionType.Plain)
                {
                    objInv.BTYPE = objAppConfig.getStringParam("ZSCSETTING", "INVCAT6", "C3", "");
                }
                else
                {
                    if (bManual == true)
                    {
                        objInv.BTYPE = objAppConfig.getStringParam("ZSCSETTING", "INVCAT2", "C3", "");
                    }
                    else
                    {
                        objInv.BTYPE = objAppConfig.getStringParam("ZSCSETTING", "INVCAT1", "C3", "");
                    }
                }
            }
            if (Payer != "")
            {
                objInv.BTYPE = objAppConfig.getStringParam("ZSCCAPPAYE", Payer, "C3", "");
            }
            if (objContract.NextInvoiceDate == DateTime.MinValue)
            {
                objInv.BILLD = DateTime.Now;
            }
            else
            {
                objInv.BILLD = objContract.NextInvoiceDate;
            }
            int nInvoiceDay = objContract.ContractPaymentData.InvoiceDate;

            if (nInvoiceDay <= 0)
            {
                nInvoiceDay = objAppConfig.getNumberParam("ZSCSETTING", "INVDATE", "V1", "");
            }
            if (objInv.BILLD.Day > nInvoiceDay)
            {
                objInv.BILLD = new DateTime(objInv.BILLD.Year, objInv.BILLD.Month, nInvoiceDay);
                objInv.BILLD = objInv.BILLD.AddMonths(1);
            }
            else if (objInv.BILLD.Day < nInvoiceDay)
            {
                objInv.BILLD = new DateTime(objInv.BILLD.Year, objInv.BILLD.Month, nInvoiceDay);
            }
            objInv.CBILLD = new DateTime(objInv.BILLD.Year, objInv.BILLD.Month, objInv.BILLD.Day);

            switch (objContract.ContractPaymentData.PaymentPeriod.strValue1)
            {
            case PaymentPeriodType.Quarterly:
                objInv.NBILLD = objInv.CBILLD.AddMonths(3);
                break;

            case PaymentPeriodType.HalfYear:
                objInv.NBILLD = objInv.CBILLD.AddMonths(6);
                break;

            case PaymentPeriodType.Yearly:
                objInv.NBILLD = objInv.CBILLD.AddMonths(12);
                break;

            default:
                objInv.NBILLD = objInv.CBILLD.AddMonths(1);
                break;
            }
            objInv.DELD = objInv.BILLD;
            addInvoiceText(hSql, objContract, ref objInv);
            objContract.listContractOptions = ContractOption.getContractOption(objContract.ContractOID);
            //objContract.loadDetail();
            addInvoiceRows(objContract, ref objInv, bCapital);
            hSql.Close();
            bRet = objInv.saveOrder(bDraft);
            if ((bRet == true) && (bManual == true))
            {
                if (bDraft == true)
                {
                    openInvoice(objInv.UnitId, objInv.SSALID, objInv.SRECNO);
                }
                else
                {
                    openInvoicePDF(objInv.UnitId, objInv.SRECNO);
                }
            }
            return(bRet);
        }
Ejemplo n.º 9
0
        public void saveOptionCategories()
        {
            if (this.listOptionDetail.Count == 0)
            {
                ContractFrm.objContract.listContractOptions = this.listOptionDetail;
            }
            else
            {
                //Tao list xoa, update, insert
                ContractOption finded = null;

                //List delete
                if (ContractFrm.objContract.listContractOptions != null && ContractFrm.objContract.listContractOptions.Count > 0)
                {
                    foreach (ContractOption contractOption in ContractFrm.objContract.listContractOptions)
                    {
                        try
                        {
                            finded = this.listOptionDetail.Single(s => s.OptionCategoryOID == contractOption.OptionCategoryOID && s.OptionOID == contractOption.OptionOID && s.OptionDetailOID == contractOption.OptionDetailOID);
                        }
                        catch (System.InvalidOperationException ex)
                        {
                            _log.Error("saveOptionCategories listOptionDetail Single not contain exactly one element: " + contractOption.toString(), ex);
                            //Xoa
                            contractOption.isDelete = true;
                            this.listOptionDetail.Add(contractOption);
                        }
                    }
                    foreach (ContractOption contractOption in this.listOptionDetail)
                    {
                        if (contractOption.isDelete)
                        {
                            continue;
                        }
                        try
                        {
                            finded = ContractFrm.objContract.listContractOptions.Single(s => s.OptionCategoryOID == contractOption.OptionCategoryOID && s.OptionOID == contractOption.OptionOID && s.OptionDetailOID == contractOption.OptionDetailOID);
                            //Check update
                            //Console.WriteLine("Info: " + finded.Info + " - " + contractOption.Info + " is: " + finded.Info.Equals(contractOption.Info));
                            if (!finded.SalePr.Equals(contractOption.SalePr) ||
                                !finded.Quantity.Equals(contractOption.Quantity) ||
                                !finded.Info.Equals(contractOption.Info) ||
                                !finded.PartialPayer.Equals(contractOption.PartialPayer) ||
                                !finded.PurchasePr.Equals(contractOption.PurchasePr))
                            {
                                contractOption.isUpdate = true;
                            }
                        }
                        catch (System.InvalidOperationException ex)
                        {
                            _log.Error("saveOptionCategories ContractFrm.objContract.listContractOptions Single not contain exactly one element: " + contractOption.toString(), ex);
                            //Them moi
                            contractOption.isInsert = true;
                        }
                    }
                }
                else
                {
                    foreach (ContractOption contractOption in this.listOptionDetail)
                    {
                        contractOption.isInsert = true;
                    }
                }

                //Gan lai lisst
                ContractFrm.objContract.listContractOptions = this.listOptionDetail;
            }
        }
Ejemplo n.º 10
0
        private void addRow(TreeNode Node)
        {
            var item = getOptionBase(Node.Name, Node.Text);

            if (item != null)
            {
                //Add List OptionCategories
                ContractOption rtn = null;
                if (item.GetType() == typeof(SCOptionCategory))
                {
                    SCOptionCategory catetory = (SCOptionCategory)item;
                    rtn = new ContractOption();
                    rtn.OptionCategoryOID = item.OID;
                    rtn.Name           = item.Name;
                    rtn.PartNr         = item.ItemNo;
                    rtn.PartName       = item.ItemName;
                    rtn.LabourCode     = item.WrksId;
                    rtn.LabourName     = item.WrksName;
                    rtn.BaseSelPr      = item.SelPr;
                    rtn.PurchasePr     = item.BuyPr;
                    rtn.BasePurchasePr = item.BuyPr;
                    rtn.InvoiceFlag    = catetory.InvoiceFlag;
                }
                else if (item.GetType() == typeof(SCOption))
                {
                    rtn = new ContractOption();
                    TreeNode parent = Node.Parent;
                    Int32    cateId = Int32.Parse(parent.Name.Substring(1));
                    SCOption option = (SCOption)item;
                    rtn.OptionCategoryOID = cateId;
                    rtn.OptionOID         = option.OID;
                    rtn.Name           = option.Name;
                    rtn.PartNr         = option.ItemNo;
                    rtn.PartName       = option.ItemName;
                    rtn.LabourCode     = option.WrksId;
                    rtn.LabourName     = option.WrksName;
                    rtn.BaseSelPr      = option.SelPr;
                    rtn.PurchasePr     = option.BuyPr;
                    rtn.BasePurchasePr = option.BuyPr;
                }
                else
                {
                    rtn = new ContractOption();
                    TreeNode scOption  = Node.Parent;
                    Int32    optionOID = Int32.Parse(scOption.Name.Substring(1));

                    TreeNode scCate  = scOption.Parent;
                    Int32    cateOID = Int32.Parse(scCate.Name.Substring(1));

                    SCOptionDetail detail = (SCOptionDetail)item;

                    rtn.OptionCategoryOID = cateOID;
                    rtn.OptionOID         = optionOID;
                    rtn.OptionDetailOID   = detail.OID;
                    rtn.Name           = detail.Name;
                    rtn.PartNr         = detail.ItemNo;
                    rtn.PartName       = detail.ItemName;
                    rtn.LabourCode     = detail.WrksId;
                    rtn.LabourName     = detail.WrksName;
                    rtn.BaseSelPr      = detail.SelPr;
                    rtn.PurchasePr     = detail.BuyPr;
                    rtn.BasePurchasePr = detail.BuyPr;
                }


                if (rtn != null)
                {
                    rtn.ContractOID = ContractFrm.objContract.ContractOID;
                    //Update info
                    try
                    {
                        ContractOption finded = ContractFrm.objContract.listContractOptions.Single(s => s.OptionCategoryOID == rtn.OptionCategoryOID && s.OptionOID == rtn.OptionOID && s.OptionDetailOID == rtn.OptionDetailOID);
                        rtn.Info         = finded.Info;
                        rtn.PartialPayer = finded.PartialPayer;
                        rtn.Quantity     = finded.Quantity;
                        if (finded.SalePr <= 0 && rtn.BaseSelPr > 0)
                        {
                            rtn.SalePr = rtn.BaseSelPr;
                        }
                        else
                        {
                            rtn.SalePr = finded.SalePr;
                        }
                        rtn.PurchasePr = finded.PurchasePr;
                        //rtn.BaseSelPr = finded.BaseSelPr;
                    }
                    catch (System.InvalidOperationException ex)
                    {
                        rtn.Quantity   = 1;
                        rtn.SalePr     = rtn.BaseSelPr;
                        rtn.PurchasePr = rtn.BasePurchasePr;
                        _log.Error("ContractFrm.objContract.listContractOptions Single not contain exactly one element: " + rtn.toString(), ex);
                    }

                    if (!listOptionDetailTmp.ContainsKey(Node.Name))
                    {
                        addToDic(rtn);
                    }

                    //Add to grid
                    try
                    {
                        ContractOption finded = listOptionDetail.Single(s => s.OptionCategoryOID == rtn.OptionCategoryOID && s.OptionOID == rtn.OptionOID && s.OptionDetailOID == rtn.OptionDetailOID);
                        finded.Info         = rtn.Info;
                        finded.PartialPayer = rtn.PartialPayer;
                        finded.Quantity     = rtn.Quantity;
                        finded.SalePr       = rtn.SalePr;
                        finded.BaseSelPr    = rtn.BaseSelPr;
                        finded.PurchasePr   = rtn.PurchasePr;
                    }
                    catch (System.InvalidOperationException ex)
                    {
                        _log.Error("listOptionDetail Single not contain exactly one element: " + rtn.toString(), ex);

                        //Add to list
                        listOptionDetail.Add(rtn);

                        //Add to grid
                        DataRow drToAdd = ObjectUtils.FillDataToRow(dataTable.NewRow(), rtn);
                        dataTable.Rows.Add(drToAdd);
                    }
                }
            }
        }
Ejemplo n.º 11
0
        public void fillData()
        {
            initFrm();

            if (ContractFrm.objContract != null && ContractFrm.objContract.ContractOID > 0)
            {
                //Start
                txtStartDate.Value    = ContractFrm.objContract.ContractDateData.ContractStartDate;
                txtStartKm.Value      = ContractFrm.objContract.ContractDateData.ContractStartKm;
                txtStartHr.Value      = ContractFrm.objContract.ContractDateData.ContractStartHour;
                txtStartInvoice.Value = ContractFrm.objContract.ContractDateData.InvoiceStartDate;
                txtPeriod.Value       = ContractFrm.objContract.ContractDateData.ContractPeriodMonth;
                txtKm.Value           = ContractFrm.objContract.ContractDateData.ContractPeriodKm;
                txtHr.Value           = ContractFrm.objContract.ContractDateData.ContractPeriodHour;


                rdKmBase.Checked = (ContractFrm.objContract.ContractDateData != null && ContractFrm.objContract.ContractDateData.ContractPeriodKmHour == 1);
                rdHrBase.Checked = (ContractFrm.objContract.ContractDateData != null && ContractFrm.objContract.ContractDateData.ContractPeriodKmHour == 2);

                //End
                txtEndDate.Value        = ContractFrm.objContract.ContractDateData.ContractEndDate;
                txtEndKm.Value          = ContractFrm.objContract.ContractDateData.ContractEndKm;
                txtEndHr.Value          = ContractFrm.objContract.ContractDateData.ContractEndHour;
                txtEndInvoice.Value     = ContractFrm.objContract.ContractDateData.InvoiceEndDate;
                cbTemType.SelectedValue = ContractFrm.objContract.TerminationType.strValue1;

                //Payment
                if (ContractFrm.objContract.ContractPaymentData.PaymentPeriod != null && ContractFrm.objContract.ContractPaymentData.PaymentPeriod.strValue1 != null)
                {
                    cbPayPeriod.SelectedValue = ContractFrm.objContract.ContractPaymentData.PaymentPeriod.strValue1;
                }
                else
                {
                    cbPayPeriod.SelectedIndex = -1;
                }

                cbPayment.Checked = ContractFrm.objContract.ContractPaymentData.PaymentIsInBlock;
                cbInvoice.Checked = ContractFrm.objContract.IsManualInvoice;


                if (ContractFrm.objContract.ContractPaymentData != null && ContractFrm.objContract.ContractPaymentData.PaymentNextBlockStart != null)
                {
                    txtNextBlock.Text = ContractFrm.objContract.ContractPaymentData.PaymentNextBlockStart.ToString("d", System.Globalization.CultureInfo.GetCultureInfo(objGlobal.CultureInfo));
                }
                else
                {
                    txtNextBlock.Text = "";
                }
                if (ContractFrm.objContract.ContractPaymentData != null && ContractFrm.objContract.ContractPaymentData.PaymentNextBlockEnd != null)
                {
                    txtNextBlockEnd.Text = ContractFrm.objContract.ContractPaymentData.PaymentNextBlockEnd.ToString("d", System.Globalization.CultureInfo.GetCultureInfo(objGlobal.CultureInfo));
                }
                else
                {
                    txtNextBlockEnd.Text = "";
                }

                cbColType.SelectedValue  = ContractFrm.objContract.ContractPaymentData.PaymentCollectionType;
                cbGrpLevel.SelectedValue = ContractFrm.objContract.ContractPaymentData.PaymentGroupingLevel;
                cbPayTerm.SelectedValue  = ContractFrm.objContract.ContractPaymentData.PaymentTerm.strValue1;
                if (ContractFrm.objContract.InvoiceSiteId != null)
                {
                    cbInvoiceSite.SelectedValue = ContractFrm.objContract.InvoiceSiteId.strValue1;
                }
                else
                {
                    cbInvoiceSite.SelectedValue = -1;
                }


                //captial
                txtStartAmount.Text = ContractFrm.objContract.ContractCapitalData.CapitalStartAmount.ToString();
                if (ContractFrm.objContract.ContractCapitalData != null && ContractFrm.objContract.ContractCapitalData.CapitalStartPayer != null &&
                    ContractFrm.objContract.ContractCapitalData.CapitalStartPayer.strValue1 != null && ContractFrm.objContract.ContractCapitalData.CapitalStartPayer.strValue1.Length > 0)
                {
                    txtStartAmountPayer.SelectedValue = ContractFrm.objContract.ContractCapitalData.CapitalStartPayer.strValue1;
                }
                else
                {
                    txtStartAmountPayer.SelectedValue = -1;
                }

                txtMonAmount.Text = ContractFrm.objContract.ContractCapitalData.CapitalMonthAmount.ToString();
                if (ContractFrm.objContract.ContractCapitalData != null && ContractFrm.objContract.ContractCapitalData.CapitalMonthPayer != null &&
                    ContractFrm.objContract.ContractCapitalData.CapitalMonthPayer.strValue1 != null && ContractFrm.objContract.ContractCapitalData.CapitalMonthPayer.strValue1.Length > 0)
                {
                    txtMonAmountPayer.SelectedValue = ContractFrm.objContract.ContractCapitalData.CapitalMonthPayer.strValue1;
                }
                else
                {
                    txtMonAmountPayer.SelectedValue = -1;
                }
                txtTotalAmount.Text = (ContractFrm.objContract.ContractCapitalData.CapitalStartAmount
                                       + ContractFrm.objContract.ContractCapitalData.CapitalMonthAmount * ContractFrm.objContract.ContractDateData.ContractPeriodMonth).ToString();

                //Cost
                if (ContractFrm.objContract.ContractCostData.CostBasis != null &&
                    ContractFrm.objContract.ContractCostData.CostBasis.strValue1 != null &&
                    ContractFrm.objContract.ContractCostData.CostBasis.strValue1.Length > 0)
                {
                    cbCostBassis.SelectedValue = ContractFrm.objContract.ContractCostData.CostBasis.strValue1;
                }
                else
                {
                    cbCostBassis.SelectedIndex = -1;
                }

                txtCostBase.Value  = ContractFrm.objContract.ContractCostData.CostBasedOnService;
                txtCostBase2.Value = ContractFrm.objContract.ContractCostData.CostBasedOnService + ContractFrm.objContract.getPayerOptionPrice();
                txtMonBassis.Value = ContractFrm.objContract.ContractCostData.CostMonthBasis;
                txtKmBassis.Value  = ContractFrm.objContract.ContractCostData.CostKmBasis;
                DateTime?   lastPay = ContractOption.GetLastPayDate(ContractFrm.objContract.ContractOID);
                CultureInfo cu      = new CultureInfo(ContractFrm.myCulture);
                if (lastPay != null)
                {
                    txtLastPay.Text = lastPay.ToString().ToString(cu);
                }
                else
                {
                    txtLastPay.Text = "";
                }
                txtErr.Text = ContractFrm.objContract.ContractCostData.CostPerKm.ToString();

                //LastKm info
                VehicleMileage vehicleMileage = ContractFrm.objContract.VehiId.lastMileages();
                if (vehicleMileage != null)
                {
                    txtLastKm.Text = vehicleMileage.LastKmInfo();
                }
                else
                {
                    txtLastKm.Text = "";
                }

                //Extra
                if (ContractFrm.objContract.ContractExtraKmData.ExtraKmInvoicePeriod != null &&
                    ContractFrm.objContract.ContractExtraKmData.ExtraKmInvoicePeriod.strValue1 != null &&
                    ContractFrm.objContract.ContractExtraKmData.ExtraKmInvoicePeriod.strValue1 != "")
                {
                    cbBiling.SelectedValue = ContractFrm.objContract.ContractExtraKmData.ExtraKmInvoicePeriod.strValue1;
                }
                else
                {
                    cbBiling.SelectedIndex = -1;
                }


                if (ContractFrm.objContract.ContractExtraKmData.ExtraKmInvoicePeriod != null &&
                    ContractFrm.objContract.ContractExtraKmData.ExtraKmAccounting.strValue1 != null &&
                    ContractFrm.objContract.ContractExtraKmData.ExtraKmAccounting.strValue1 != "")
                {
                    cbAccounting.SelectedValue = ContractFrm.objContract.ContractExtraKmData.ExtraKmAccounting.strValue1;
                }
                else
                {
                    cbAccounting.SelectedIndex = -1;
                }


                txtMaxDev.Value        = ContractFrm.objContract.ContractExtraKmData.ExtraKmMaxDeviation;
                txtLowKm.Value         = ContractFrm.objContract.ContractExtraKmData.ExtraKmLowAmount;
                txtHighKm.Value        = ContractFrm.objContract.ContractExtraKmData.ExtraKmHighAmount;
                txtInvoiceAmount.Value = ContractFrm.objContract.ContractExtraKmData.ExtraKmInvoicedAmount;

                //cbRoll
                if (ContractFrm.objContract.RollingCode != null && ContractFrm.objContract.RollingCode.strValue1 != null && ContractFrm.objContract.RollingCode.strValue1 != "")
                {
                    cbRoll.SelectedValue = ContractFrm.objContract.RollingCode.strValue1;
                }
                else
                {
                    cbRoll.SelectedIndex = -1;
                }

                cbInvoiceDetail.Checked = ContractFrm.objContract.IsInvoiceDetail;

                //Risk
                ContractCustomer RiskCustId = ContractFrm.objContract.RiskCustId;
                if (RiskCustId != null && RiskCustId.CustId > 0)
                {
                    txtRiskCusId.Text  = RiskCustId.CustId.ToString();
                    txtPatnerNr.Text   = RiskCustId.CustNr.ToString();
                    txtParnerName.Text = RiskCustId.Name;
                }
                else
                {
                    txtRiskCusId.Text  = "";
                    txtPatnerNr.Text   = "";
                    txtParnerName.Text = "";
                }

                txtRishLevel.Text = ContractFrm.objContract.RiskLevel.ToString();

                if (ContractFrm.objContract.IndexingDate != DateTime.MinValue)
                {
                    dtIndexingDate.Value = ContractFrm.objContract.IndexingDate;
                }
                dfIndexValue.Value   = ContractFrm.objContract.IndexValue;
                dfInvoicingDay.Value = ContractFrm.objContract.ContractPaymentData.InvoiceDate;
                //Load data grid

                fillRisk();

                generateColumns();
            }
            else
            {
                //Start
                txtStartDate.Value    = DateTime.Now;
                txtStartKm.Value      = 0;
                txtStartHr.Value      = 0;
                txtStartInvoice.Value = DateTime.Now;
                txtPeriod.Value       = 0;
                txtKm.Value           = 0;
                txtHr.Value           = 0;

                //End
                txtEndDate.Value    = DateTime.Now;
                txtEndKm.Value      = 0;
                txtEndHr.Value      = 0;
                txtEndInvoice.Value = DateTime.Now;
                cbTemType.Text      = "";

                //Payment
                cbPayPeriod.SelectedIndex   = -1;
                cbPayment.Checked           = false;
                cbInvoice.Checked           = false;
                txtNextBlock.Text           = "";
                txtNextBlockEnd.Text        = "";
                cbColType.SelectedIndex     = -1;
                cbGrpLevel.SelectedIndex    = -1;
                cbPayTerm.SelectedIndex     = -1;
                cbInvoiceSite.SelectedIndex = -1;

                //captial
                txtStartAmount.Text      = "";
                txtStartAmountPayer.Text = "";
                txtMonAmount.Text        = "";
                txtMonAmountPayer.Text   = "";
                txtTotalAmount.Text      = "";

                //Cost
                cbCostBassis.Text  = "";
                txtCostBase.Value  = 0;
                txtCostBase2.Value = 0;
                txtMonBassis.Value = 0;
                txtKmBassis.Value  = 0;
                txtLastPay.Text    = "";
                txtErr.Text        = "";
                txtLastKm.Text     = "";

                //Extra
                cbBiling.SelectedIndex     = -1;
                cbAccounting.SelectedIndex = -1;
                txtMaxDev.Value            = 0;
                txtLowKm.Value             = 0;
                txtHighKm.Value            = 0;
                txtInvoiceAmount.Value     = 0;

                cbRoll.SelectedIndex    = -1;
                cbInvoiceDetail.Checked = false;

                //Risk
                txtRiskCusId.Text  = "";
                txtPatnerNr.Text   = "";
                txtParnerName.Text = "";
                txtRishLevel.Value = 0;
                txtRishLevel.Value = 0;

                //Grid
            }

            gridRisk.DataSource = dataTable;

            //()
            formatDecimal();
        }