private void BindOpportunityToForm() { try { _opportunity.GetByKey(_opportunityNumber); EditText0.Value = _opportunityNumber.ToString(); EditText3.Value = _opportunity.OpportunityName; EditText1.Value = _opportunity.CardCode; EditText4.Value = _opportunity.CustomerName; EditText12.Value = (_opportunity.WeightedSumLC - (double)InternalConverters.ConvertStringToDecimal(OpportunityRepository.GetOpportunityUsedAmount(_opportunityNumber).ToString())).ToString(); EditText6.Value = SalesPersonRepository.GetNameById(_opportunity.SalesPerson); EditText8.Value = _opportunity.ClosingPercentage + "%"; // var businessPartners = // (BusinessPartners) SapDiConnection.Instance.GetBusinessObject(BoObjectTypes // .oBusinessPartners); // businessPartners.GetByKey(_opportunity.CardCode); // // businessPartners.ContactEmployees.SetCurrentLine(_opportunity.ContactPerson - 1); //// EditText5.Value = businessPartners.ContactEmployees.Name; EditText7.Value = _opportunity.StartDate.ToString("dd.MM.yy"); //add items var items = OpportunityRepository.GetOpportunityItemsById(_opportunityNumber); var count = 1; foreach (var item in items) { Matrix0.AddRow(); ((EditText)Matrix0.Columns.Item("#").Cells.Item(count).Specific).Value = count.ToString(); ((EditText)Matrix0.Columns.Item("Col_0").Cells.Item(count).Specific).Value = item.Id; ((EditText)Matrix0.Columns.Item("Col_1").Cells.Item(count).Specific).Value = item.Name; count++; } //dates EditText9.Value = DateTime.Today.ToString("yyyyMMdd"); EditText10.Value = DateTime.Today.ToString("yyyyMMdd"); EditText11.Value = DateTime.Today.ToString("yyyyMMdd"); EditText16.Value = InternalConverters.StringToDateTypeEdittext(_opportunity.UserFields.Fields.Item("U_ctrctdateto").Value.ToString()); EditText17.Value = InternalConverters.StringToDateTypeEdittext(_opportunity.UserFields.Fields.Item("U_cntrctdateFrom").Value.ToString()); _distrule = _opportunity.UserFields.Fields.Item("U_DistRule").Value.ToString(); _contractMonths = InternalConverters.EditTextToDateTime(EditText17.Value).Subtract(InternalConverters.EditTextToDateTime(EditText16.Value)).Days / (365.25 / 12); _contractMonths = Math.Round(_contractMonths); StaticText25.Caption = _contractMonths + " months"; } catch (Exception exception) { Application.SBO_Application.SetStatusBarMessage(exception.Message); UIAPIRawForm.Close(); } }
private Result CreateType2() { int errCode; string errMSG; var newObjectCode = ""; var percent = OpportunityRepository.GetCompanyRevenuePercent(_opportunityNumber); var partners = OpportunityRepository.GetPartnerList(_opportunityNumber); if (partners.Count == 0) { return new Result { Code = 10, Message = "Check Partners" } } ; var ARInvoice = (Documents)SapDiConnection.Instance.GetBusinessObject(BoObjectTypes.oInvoices); ARInvoice.CardCode = EditText19.Value; ARInvoice.DocDate = InternalConverters.EditTextToDateTime(EditText9.Value); ARInvoice.DocDueDate = InternalConverters.EditTextToDateTime(EditText10.Value); ARInvoice.TaxDate = InternalConverters.EditTextToDateTime(EditText11.Value); ARInvoice.SalesPersonCode = _opportunity.SalesPerson; ARInvoice.DocCurrency = _opportunity.UserFields.Fields.Item("U_CURRENCY").Value.ToString(); ARInvoice.UserFields.Fields.Item("U_OppId").Value = _opportunityNumber; for (var i = 1; i <= Matrix0.RowCount; i++) { ARInvoice.Lines.ItemCode = ((EditText)Matrix0.Columns.Item(1).Cells.Item(i).Specific).Value; ARInvoice.Lines.Quantity = 1; if (_opportunityType == 1 && CheckBox0.Checked) { ARInvoice.Lines.AccountCode = ((int)AccountCodes.insuranceBrokerage).ToString(); } else if (_opportunityType == 2 && CheckBox0.Checked) { ARInvoice.Lines.AccountCode = ((int)AccountCodes.reInsuranceBrokerage).ToString(); } else if (!CheckBox0.Checked) { ARInvoice.Lines.AccountCode = ((int)AccountCodes.clearingFirst).ToString(); } ARInvoice.Lines.Price = (double)InternalConverters.ConvertStringToDecimal(EditText12.Value); ARInvoice.Lines.CostingCode = "B2B"; ARInvoice.Lines.CostingCode2 = _distrule; ARInvoice.Lines.Add(); } ARInvoice.Add(); SapDiConnection.Instance.GetLastError(out errCode, out errMSG); if (errCode != 0) { return new Result { Code = errCode, Message = errMSG } } ; SapDiConnection.Instance.GetNewObjectCode(out newObjectCode); AddStageToOpportunity(newObjectCode, BoAPARDocumentTypes.bodt_Invoice); SapDiConnection.Instance.GetLastError(out errCode, out errMSG); if (errCode != 0) { return new Result { Code = errCode, Message = errMSG } } ; //partners foreach (var partner in partners) { //ap for partner var APInvoiceForPartner = (Documents)SapDiConnection.Instance.GetBusinessObject(BoObjectTypes.oPurchaseInvoices); APInvoiceForPartner.CardCode = partner.Vendor; APInvoiceForPartner.DocDate = InternalConverters.EditTextToDateTime(EditText9.Value); APInvoiceForPartner.DocDueDate = InternalConverters.EditTextToDateTime(EditText10.Value); APInvoiceForPartner.TaxDate = InternalConverters.EditTextToDateTime(EditText11.Value); APInvoiceForPartner.SalesPersonCode = _opportunity.SalesPerson; APInvoiceForPartner.DocCurrency = _opportunity.UserFields.Fields.Item("U_CURRENCY").Value.ToString(); APInvoiceForPartner.UserFields.Fields.Item("U_OppId").Value = _opportunityNumber; for (var i = 1; i <= Matrix0.RowCount; i++) { APInvoiceForPartner.Lines.ItemCode = ((EditText)Matrix0.Columns.Item(1).Cells.Item(i).Specific).Value; APInvoiceForPartner.Lines.Quantity = 1; if (_opportunityType == 1 && CheckBox0.Checked) { APInvoiceForPartner.Lines.AccountCode = ((int)AccountCodes.insuranceBrokerage).ToString(); } else if (_opportunityType == 2 && CheckBox0.Checked) { APInvoiceForPartner.Lines.AccountCode = ((int)AccountCodes.reInsuranceBrokerage).ToString(); } else if (!CheckBox0.Checked) { APInvoiceForPartner.Lines.AccountCode = ((int)AccountCodes.clearingFirst).ToString(); } APInvoiceForPartner.Lines.Price = (double)((InternalConverters.ConvertStringToDecimal(EditText12.Value) / 100) * partner.Rate); APInvoiceForPartner.Lines.CostingCode = "B2B"; APInvoiceForPartner.Lines.CostingCode2 = _distrule; APInvoiceForPartner.Lines.Add(); } APInvoiceForPartner.Add(); SapDiConnection.Instance.GetLastError(out errCode, out errMSG); if (errCode != 0) { return new Result { Code = errCode, Message = errMSG } } ; SapDiConnection.Instance.GetNewObjectCode(out newObjectCode); AddStageToOpportunity(newObjectCode, BoAPARDocumentTypes.bodt_PurchaseInvoice); SapDiConnection.Instance.GetLastError(out errCode, out errMSG); if (errCode != 0) { return new Result { Code = errCode, Message = errMSG } } ; } return(new Result { Code = errCode, Message = errMSG }); }
private List <AccountAction> CreateListOfActionsForAccounts() { List <AccountAction> actions = new List <AccountAction>(); var currency = _opportunity.UserFields.Fields.Item("U_CURRENCY").Value.ToString(); var begda = InternalConverters.EditTextToDateTime(EditText16.Value); var endda = InternalConverters.EditTextToDateTime(EditText17.Value); var diffMonth = Math.Round(endda.Subtract(begda).Days / (365.25 / 12)); var recordset = ((SBObob)SapDiConnection.Instance.GetBusinessObject(BoObjectTypes.BoBridge)).GetCurrencyRate(currency, DateTime.Today); recordset.MoveFirst(); var rate = InternalConverters.ConvertStringToDecimal(recordset.Fields.Item(0).Value.ToString()); var amount = (double)((InternalConverters.ConvertStringToDecimal(EditText12.Value) * (decimal)_opportunity.GrossProfit) / 100) / diffMonth; AccountCodes toAccount = AccountCodes.insuranceBrokerage; if (_opportunityType == 1) { toAccount = AccountCodes.insuranceBrokerage; } else if (_opportunityType == 2) { toAccount = AccountCodes.reInsuranceBrokerage; } amount = amount * (double)rate; for (int i = 0; i < diffMonth; i++) { if (begda < DateTime.Today) { actions.Add(new AccountAction() { //JE Type = 1, OppNumber = _opportunityNumber, ContractNumber = "", RunDate = begda, Amount = amount, Currency = "AZN", FromAccount = AccountCodes.clearingFirst, ToAccount = toAccount }); } else { actions.Add(new AccountAction() { //JE Planning Type = 2, OppNumber = _opportunityNumber, ContractNumber = "", RunDate = begda, Amount = amount, Currency = "AZN", FromAccount = AccountCodes.clearingFirst, ToAccount = toAccount }); } begda = begda.AddMonths(1); } return(actions); }