示例#1
0
        protected void ExecInvoiceActionView(ASC.CRM.Core.Entities.Invoice targetInvoice, InvoiceActionType actionType)
        {
            var invoiceActionViewControl = (InvoiceActionView)LoadControl(InvoiceActionView.Location);

            invoiceActionViewControl.ActionType    = actionType;
            invoiceActionViewControl.TargetInvoice = targetInvoice;

            CommonContainerHolder.Controls.Add(invoiceActionViewControl);

            string headerTitle;

            switch (actionType)
            {
            case InvoiceActionType.Create:
                headerTitle = CRMInvoiceResource.CreateNewInvoice;
                break;

            case InvoiceActionType.Edit:
                headerTitle = String.Format(CRMInvoiceResource.EditInvoiceHeader, targetInvoice.Number);
                break;

            case InvoiceActionType.Duplicate:
                headerTitle = String.Format(CRMInvoiceResource.DuplicateInvoiceHeader, targetInvoice.Number);
                break;

            default:
                headerTitle = CRMInvoiceResource.CreateNewInvoice;
                break;
            }

            Master.CurrentPageCaption = headerTitle;
            Title = HeaderStringHelper.GetPageTitle(headerTitle);
        }
示例#2
0
        protected void ExecInvoicePdfView(ASC.CRM.Core.Entities.Invoice targetInvoice)
        {
            var pdfFile = Global.GetInvoicePdfExistingOrCreate(targetInvoice);

            MessageService.Send(HttpContext.Current.Request, MessageAction.InvoiceDownloaded, targetInvoice.Number);

            Response.Redirect(CommonLinkUtility.GetFullAbsolutePath(pdfFile.FileDownloadUrl));
        }
示例#3
0
        protected override void PageLoad()
        {
            int invoiceID;

            if (int.TryParse(UrlParameters.ID, out invoiceID))
            {
                ASC.CRM.Core.Entities.Invoice targetInvoice = Global.DaoFactory.GetInvoiceDao().GetByID(invoiceID);

                if (targetInvoice == null || !CRMSecurity.CanAccessTo(targetInvoice))
                {
                    Response.Redirect(PathProvider.StartURL() + "invoices.aspx");
                }

                if (String.Compare(UrlParameters.Action, "edit", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    if (!CRMSecurity.CanEdit(targetInvoice))
                    {
                        Response.Redirect(PathProvider.StartURL() + "invoices.aspx");
                    }

                    ExecInvoiceActionView(targetInvoice, InvoiceActionType.Edit);
                }
                else if (String.Compare(UrlParameters.Action, "duplicate", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    ExecInvoiceActionView(targetInvoice, InvoiceActionType.Duplicate);
                }
                else if (String.Compare(UrlParameters.Action, "pdf", StringComparison.OrdinalIgnoreCase) == 0 && Global.CanDownloadInvoices)
                {
                    if (!Global.CanDownloadInvoices)
                    {
                        Response.Redirect(PathProvider.StartURL() + "invoices.aspx");
                    }

                    ExecInvoicePdfView(targetInvoice);
                }
                else
                {
                    ExecInvoiceDetailsView(targetInvoice);
                }
            }
            else
            {
                if (String.Compare(UrlParameters.Action, "create", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    ExecInvoiceActionView(null, InvoiceActionType.Create);
                }
                //else if (String.Compare(UrlParameters.Action, "import", true) == 0) {
                //    ExecImportView();
                //}
                else
                {
                    ExecListInvoiceView();
                }
            }
        }
示例#4
0
        protected void ExecInvoiceDetailsView(ASC.CRM.Core.Entities.Invoice targetInvoice)
        {
            var invoiceDetailsView = (InvoiceDetailsView)LoadControl(InvoiceDetailsView.Location);

            invoiceDetailsView.TargetInvoice = targetInvoice;
            CommonContainerHolder.Controls.Add(invoiceDetailsView);

            var title = targetInvoice.Number.HtmlEncode();

            Master.CurrentPageCaption    = title;
            Master.CommonContainerHeader = Global.RenderItemHeaderWithMenu(title, EntityType.Invoice, false, true);
            Title = HeaderStringHelper.GetPageTitle(title);
        }
示例#5
0
        public static ASC.Files.Core.File GetInvoicePdfExistingOrCreate(ASC.CRM.Core.Entities.Invoice invoice)
        {
            var existingFile = invoice.GetInvoiceFile();

            if (existingFile != null)
            {
                return(existingFile);
            }
            else
            {
                var newFile = PdfCreator.CreateFile(invoice);
                invoice.FileID = Int32.Parse(newFile.ID.ToString());
                Global.DaoFactory.GetInvoiceDao().UpdateInvoiceFileID(invoice.ID, invoice.FileID);
                Global.DaoFactory.GetRelationshipEventDao().AttachFiles(invoice.ContactID, invoice.EntityType, invoice.EntityID, new[] { invoice.FileID });
                return(newFile);
            }
        }
        protected void ExecInvoicePdfView(ASC.CRM.Core.Entities.Invoice targetInvoice)
        {
            var pdfFile = Global.GetInvoicePdfExistingOrCreate(targetInvoice);

            Response.Redirect(CommonLinkUtility.GetFullAbsolutePath(pdfFile.FileDownloadUrl));
        }