コード例 #1
0
        private void UpdateCreditNote(Entities.CreditNote creditNote)
        {
            Facade.CreditNote facCreditNote = new Facade.CreditNote();
            string            userName      = ((Entities.CustomPrincipal)Page.User).UserName;

            facCreditNote.UpdateOneLiner(creditNote, userName);
        }
コード例 #2
0
        private void PostToAccountsSystem()
        {
            Entities.CreditNote creditNote    = null;
            Facade.CreditNote   facCreditNote = new Facade.CreditNote();

            if (hidSelectedCreditNotes.Value.EndsWith(","))
            {
                hidSelectedCreditNotes.Value = hidSelectedCreditNotes.Value.Substring(0, hidSelectedCreditNotes.Value.Length - 1);
            }

            foreach (string creditNoteId in hidSelectedCreditNotes.Value.Split(','))
            {
                creditNote = PopulateCreditNote(Int32.Parse(creditNoteId));
                try
                {
                    UpdateCreditNote(creditNote);
                }
                catch (Exception e)
                {
                    string err = GetErrorString(e);
                    lblError.Text                = "There was a problem posting this Credit Note Id " + creditNoteId.ToString() + " this could be because it has already been posted to your account's system." + "<br/>" + err;
                    pnlError.Visible             = true;
                    hidSelectedCreditNotes.Value = "";
                    return;
                }
            }

            PopulateCreditNotes();
        }
コード例 #3
0
        ///	<summary>
        /// Add CreditNote
        ///	</summary>
        private int AddCreditNote()
        {
            int CreditNoteId = 0;

            Facade.CreditNote facCreditNote = new Facade.CreditNote();

            string userName = ((Entities.CustomPrincipal)Page.User).UserName;

            CreditNoteId = facCreditNote.CreateOneLiner(m_CreditNote, userName);

            if (CreditNoteId == 0)
            {
                lblConfirmation.Text      = "There was an error adding the Credit Note, please try again.";
                lblConfirmation.Visible   = true;
                lblConfirmation.ForeColor = Color.Red;
            }
            else
            {
                // NO NEED: Alreayd done within the Data Access Layer.

                // Reference CreditNote Id With Client
                //int clientId = Convert.ToInt32(cboClient.SelectedValue);
                //Facade.ICreditNoteOneLiner facInv = new Facade.CreditNote();
                //facInv.CreateCreditNoteIdWithClientId(CreditNoteId, clientId);
                // Done in the Data Access Layer.
            }

            return(CreditNoteId);
        }
コード例 #4
0
        private DataView GetData()
        {
            int clientId = 0;

            int.TryParse(cboClient.SelectedValue, out clientId);
            //try
            //{
            //    clientId = Convert.ToInt32(cboClient.SelectedValue);
            //}
            //catch { }

            //int invoiceTypeId = 0;
            //try
            //{
            //    eInvoiceType invoiceType = (eInvoiceType)Enum.Parse(typeof(eInvoiceType), cboInvoiceType.SelectedValue.Replace(" ", ""));
            //    invoiceTypeId = (int)invoiceType;
            //}
            //catch { }

            DateTime startDate = dteStartDate.SelectedDate.Value;

            startDate = startDate.Subtract(startDate.TimeOfDay);

            //Add 1 day to the end date entered so that invoices before
            //that datetime are returned.
            DateTime endDate = dteEndDate.SelectedDate.Value;

            endDate = endDate.Subtract(endDate.TimeOfDay);
            endDate = endDate.AddDays(1);

            int dateType = int.Parse(rblDateType.SelectedValue);

            Facade.CreditNote facCreditNote = new Facade.CreditNote();
            DataSet           dsCreditNotes = facCreditNote.GetCreditNotesForAuditTrail(clientId, dateType, startDate, endDate);

            DataView dvCreditNotes = new DataView(dsCreditNotes.Tables[0]);

            // Stephen Newman 15/05/2006
            // Stop applying default sort i.e. Invoice Date
            //dvInvoices.Sort = (SortField + " " + SortDirection).Trim();

            return(dvCreditNotes);
        }
コード例 #5
0
        /// <summary>
        /// Load Report Depending On CreditNote Type
        /// </summary>
        private void LoadReport()
        {
            // Configure the Session variables used to pass data to the report
            NameValueCollection reportParams = new NameValueCollection();

            //-------------------------------------------------------------------------------------
            //						Job/Collect-Drops/References/Demurrages Section
            //-------------------------------------------------------------------------------------
            //Facade.CreditNote facCreditNote = new Facade.CreditNote();

            if (m_isUpdate)
            {
                btnSendToAccounts.Visible = true;
                //A delete function may be rquired at some point
                //pnlCreditNoteDeleted.Visible = true;
            }

            // Client Name & Id
            reportParams.Add("Client", cboClient.Text);

            reportParams.Add("ClientId", cboClient.SelectedValue);

            // Details
            reportParams.Add("Reason", rtbTxtReason.Text);

            // CreditNote Id
            if (lblCreditNoteNo.Text != "To Be Issued ... (This Credit Note has not yet been saved, add Credit Note to allocate Credit Note No.)")
            {
                reportParams.Add("CreditNoteId", lblCreditNoteNo.Text);
            }
            else
            {
                reportParams.Add("CreditNoteId", "0");
            }

            reportParams.Add("NetAmount", decimal.Parse(txtNETAmount.Text, System.Globalization.NumberStyles.Currency).ToString());

            // Posted To Accounts
            if (chkPostToExchequer.Checked)
            {
                reportParams.Add("Accounts", "true");
            }

            int     vatNo   = 0;
            decimal vatRate = 0.00M;

            //Get VAT Rate for VAT Type
            Facade.IInvoice facInv  = new Facade.Invoice();
            eVATType        vatType = (eVATType)int.Parse(cboVATType.SelectedValue);

            facInv.GetVatRateForVatType(vatType, rdiCreditNoteDate.SelectedDate.Value, out vatNo, out vatRate);

            reportParams.Add("VATrate", vatRate.ToString());

            // CreditNote Date
            reportParams.Add("CreditNoteDate", rdiCreditNoteDate.SelectedDate.Value.ToShortDateString());

            //-------------------------------------------------------------------------------------
            //									Load Report Section
            //-------------------------------------------------------------------------------------
            Session[Orchestrator.Globals.Constants.ReportTypeSessionVariable] = eReportType.CreditNoteOneLiner;
//			Session[Orchestrator.Globals.Constants.ReportDataSessionVariable] = dsInv;
//			Session[Orchestrator.Globals.Constants.ReportDataMemberSessionVariable] = "Table";
            Session[Orchestrator.Globals.Constants.ReportParamsSessionVariable] = reportParams;

            bool enforceDataExistence;
            var  activeReport = Orchestrator.Reports.Utilities.GetActiveReport(eReportType.CreditNoteOneLiner, "", out enforceDataExistence);

            activeReport.Run(false);

            if (m_CreditNote == null)
            {
                populateCreditNote();
            }

            // Generate the location this report's pdf will be output to.
            StringBuilder sbFilename = new StringBuilder(ConfigurationManager.AppSettings["GeneratedPDFRoot"]);

            sbFilename.Append("\\CreditNotes\\");
            sbFilename.Append(m_CreditNote.CreditNoteDate.Year.ToString());
            sbFilename.Append("\\");
            sbFilename.Append(m_CreditNote.CreditNoteDate.Month.ToString());
            sbFilename.Append("\\");
            sbFilename.Append(m_CreditNote.CreditNoteDate.Day.ToString());
            sbFilename.Append("\\Credit_Note_");
            sbFilename.Append(m_CreditNote.CreditNoteId);

            sbFilename.Append(".pdf");
            string filename       = sbFilename.ToString();
            string oldPDFLocation = m_CreditNote.PDFLocation;

            PdfExport pdf = new PdfExport();

            Facade.CreditNote facCreditNote = new Facade.CreditNote();

            //If the invoice id is 0 then the invoice hasn't been created so don't save it
            if (m_CreditNote.CreditNoteId != 0)
            {
                Directory.CreateDirectory(Path.GetDirectoryName(filename));

                //Export the report to PDF.
                pdf.Export(activeReport.Document, filename);

                string pdfRoot = ConfigurationManager.AppSettings["GeneratedPDFRoot"];
                filename = filename.Remove(0, (pdfRoot != null ? pdfRoot.Length : 0));

                m_CreditNote.PDFLocation = filename;

                string userName = ((Entities.CustomPrincipal)Page.User).UserName;

                facCreditNote.UpdatePDFLocation(m_CreditNote.CreditNoteId, filename, userName);

                pdfViewer.Src = Globals.Configuration.WebServer + filename;

                lblEmail.Visible           = true;
                btnEmailCreditNote.Visible = true;
                cboEmail.Visible           = true;
                rfvEmailAddress.Enabled    = true;
                revEmailAddress.Enabled    = true;
            }
            else
            {
                //Instead of saving the pdf just output the memory stream
                var ms = new System.IO.MemoryStream();
                pdf.Export(activeReport.Document, ms);

                pdfViewer.Src = "data:application/pdf;base64," + Convert.ToBase64String(ms.ToArray());

                lblEmail.Visible           = false;
                btnEmailCreditNote.Visible = false;
                cboEmail.Visible           = false;
                rfvEmailAddress.Enabled    = false;
                revEmailAddress.Enabled    = false;
            }

            pdfViewer.Visible = true;

            // Show the add CreditNote button.
            if (!chkPostToExchequer.Checked)
            {
                btnAdd.Visible = true;
            }

            // Deleted
            if (chkDelete.Checked)
            {
                Response.Redirect("../default.aspx");
            }
        }
コード例 #6
0
        ///	<summary>
        /// Load CreditNote
        ///	</summary>
        private void LoadCreditNote()
        {
            if (ViewState["CreditNote"] == null)
            {
                Facade.CreditNote facCreditNote = new Facade.CreditNote();
                m_CreditNote = facCreditNote.GetForCreditNoteId(m_CreditNoteNo);

                ViewState["CreditNote"] = m_CreditNote;
            }
            else
            {
                m_CreditNote = (Entities.CreditNote)ViewState["CreditNote"];
            }

            // Load the report with the relevant details
            if (m_CreditNote != null)
            {
                lblCreditNoteNo.Text      = m_CreditNote.CreditNoteId.ToString();
                lblCreditNoteNo.ForeColor = Color.Black;

                //lblCreditNoteType.Text = m_CreditNote.CreditNoteType.ToString();

                lblDateCreated.Text      = m_CreditNote.CreateDate.ToShortDateString();
                lblDateCreated.ForeColor = Color.Black;

                lblAccountCode.Text = m_CreditNote.AccountCode;

                rdiCreditNoteDate.SelectedDate = m_CreditNote.CreditNoteDate;
                rdiCreditNoteDate.Enabled      = !m_CreditNote.Posted;

                rtbTxtReason.Text = m_CreditNote.CreditNoteDetails;
                txtNETAmount.Text = m_CreditNote.ForeignNetAmount.ToString("N2");

                if (cboNominalCode.FindItemByValue(m_CreditNote.NominalCode) != null)
                {
                    cboNominalCode.FindItemByValue(m_CreditNote.NominalCode).Selected = true;
                }

                cboNominalCode.Enabled = !m_CreditNote.Posted;

                //cboVATType.SelectedValue = Convert.ToInt32(m_CreditNote.VatNo).ToString();

                // Load Client
                //TODO Is this necessary?
                Facade.IOrganisation  facOrganisation = new Facade.Organisation();
                Entities.Organisation client          = facOrganisation.GetForIdentityId(m_CreditNote.ClientId);

                cboClient.SelectedValue = m_CreditNote.ClientId.ToString();
                cboClient.Text          = client.OrganisationName;
                cboClient.Enabled       = false;

                if (m_isUpdate)
                {
                    // TODO: the culture will have to come from the invoice when it is available.
                    CultureInfo culture = new CultureInfo(m_CreditNote.LCID);
                    this.txtNETAmount.Culture = culture;

                    btnAdd.Visible             = true;
                    btnSendToAccounts.Visible  = true;
                    chkPostToExchequer.Visible = true;
                    chkDelete.Checked          = false;

                    this.Title  = "Update Credit Note";
                    btnAdd.Text = "Update";
                }
                else
                {
                    // take the culture from the client if we are adding
                    CultureInfo culture = new CultureInfo(client.LCID);
                    this.txtNETAmount.Culture = culture;

                    chkPostToExchequer.Visible = true;
                }

                chkPostToExchequer.Visible = true;

                LoadReport();

                if (client != null && (client.IndividualContacts != null && client.IndividualContacts.Count > 0))
                {
                    DataSet emailDataSet = this.GetContactDataSet(client.IndividualContacts, eContactType.Email);

                    cboEmail.DataSource     = emailDataSet;
                    cboEmail.DataMember     = "contactTable";
                    cboEmail.DataValueField = "ContactDetail";
                    cboEmail.DataTextField  = "ContactDisplay";
                    cboEmail.DataBind();

                    if (this.cboEmail.Items.Count > 0)
                    {
                        this.txtEmail.Text = this.cboEmail.Items[0].Value;
                    }
                }

                if (m_CreditNote.Posted)
                {
                    btnAdd.Visible               = false;
                    btnSendToAccounts.Visible    = false;
                    chkPostToExchequer.Checked   = true;
                    pnlCreditNoteDeleted.Visible = false;
                    chkDelete.Visible            = false;
                    chkPostToExchequer.Checked   = true;
                    chkPostToExchequer.Visible   = true;
                    txtNETAmount.Enabled         = false;
                    rtbTxtReason.Enabled         = false;
                    btnSendToAccounts.Visible    = false;
                    btnViewCreditNote.Visible    = false;
                    rdiCreditNoteDate.Enabled    = false;
                    rtbTxtReason.Enabled         = false;
                    txtNETAmount.Enabled         = false;
                    cboVATType.Enabled           = false;
                }
                else
                {
                    btnAdd.Visible             = true;
                    btnSendToAccounts.Visible  = true;
                    chkPostToExchequer.Checked = false;
                    //A delete function may be rquired at some point
                    //pnlCreditNoteDeleted.Visible = true;
                    //chkDelete.Visible = true;
                }
            }

            this.Title = "Update Credit Note";
            //Header1.subTitle = "Please make any changes neccessary.";
            btnAdd.Text = "Update";
        }