Exemplo n.º 1
0
        /// <summary>
        /// return string with full address
        /// </summary>
        /// <param name="address"></param>
        /// <param name="filter"></param>
        /// <returns></returns>
        static string GetFullAddressLine(ContactReportAddress address, FilterContactReport filter)
        {
            var response = "";

            if (filter.Columns.Any(e => e.Column == ReportColumns.Company))
            {
                response += string.IsNullOrEmpty(address.CompanyName) ? "" : address.CompanyName + "\n";
            }
            if (filter.Columns.Any(e => e.Column == ReportColumns.Address))
            {
                response += string.IsNullOrEmpty(address.Address) && string.IsNullOrEmpty(address.Address2) ? "" :
                            address.Address + (!string.IsNullOrEmpty(address.Address2) ? $", {address.Address2}" : "") + "\n";
            }
            if (filter.Columns.Any(e => e.Column == ReportColumns.City))
            {
                response += $" {address.City}";
            }
            if (filter.Columns.Any(e => e.Column == ReportColumns.State))
            {
                response += $" {address.State}";
            }
            if (filter.Columns.Any(e => e.Column == ReportColumns.Zip))
            {
                response += $" {address.Zip}";
            }
            if (filter.Columns.Any(e => e.Column == ReportColumns.Country))
            {
                response += $" {address.Country}";
            }
            return(response);
        }
Exemplo n.º 2
0
 static void GetAddressString(StringBuilder str, ContactReportAddress address, FilterContactReport filter)
 {
     if (filter.Columns.Any(e => e.Column == ReportColumns.Address && e.IsChecked))
     {
         str.Append($"\"{address.Address}\",");
     }
     if (filter.Columns.Any(e => e.Column == ReportColumns.City && e.IsChecked))
     {
         str.Append($"\"{address.City}\",");
     }
     if (filter.Columns.Any(e => e.Column == ReportColumns.State && e.IsChecked))
     {
         str.Append($"\"{address.State}\",");
     }
     if (filter.Columns.Any(e => e.Column == ReportColumns.Zip && e.IsChecked))
     {
         str.Append($"\"{address.Zip}\",");
     }
     if (filter.Columns.Any(e => e.Column == ReportColumns.Country && e.IsChecked))
     {
         str.Append($"\"{address.Country}\",");
     }
     if (filter.Columns.Any(e => e.Column == ReportColumns.Company && e.IsChecked))
     {
         str.Append($"\"{address.CompanyName}\",");
     }
 }
Exemplo n.º 3
0
        static void AddEnvelopPage(string senderAddr, string receipt, ContactReportAddress addr, FilterContactReport filter)
        {
            XUnit pdfWidth  = new XUnit(4.125, XGraphicsUnit.Inch);
            XUnit pdfHeight = new XUnit(9.5, XGraphicsUnit.Inch);
            XFont font      = new XFont("Times New Roman", 10, XFontStyle.Bold);

            outputDocument.PageLayout = PdfPageLayout.SinglePage;

            PdfPage page = outputDocument.AddPage();

            page.Height      = pdfHeight;
            page.Width       = pdfWidth;
            page.Orientation = PageOrientation.Landscape;
            // Get an XGraphics object for drawing

            XGraphics gfx = XGraphics.FromPdfPage(page);
            //sender

            XTextFormatter tf   = new XTextFormatter(gfx);
            XRect          rect = new XRect(30, 30, (pdfHeight / 2) - 30, (pdfWidth / 2) - 30);

            // gfx.DrawRectangle(XBrushes.SeaShell, rect);
            tf.Alignment = XParagraphAlignment.Left;
            tf.DrawString(senderAddr, font, XBrushes.Black, rect, XStringFormats.TopLeft);
            // recipient
            rect         = new XRect((pdfHeight / 2) - 30, (pdfWidth / 2) - 30, pdfHeight, pdfWidth);
            tf.Alignment = XParagraphAlignment.Left;
            tf.DrawString($"{receipt}\n" + GetFullAddressLine(addr, filter), font, XBrushes.Black, rect, XStringFormats.TopLeft);
        }
        /// <summary>
        /// return string with full address
        /// </summary>
        /// <param name="address"></param>
        /// <param name="filter"></param>
        /// <returns></returns>
        string GetFullAddressLine(ContactReportAddress address, FilterContactReport filter, bool newLineForAddres = false)
        {
            var response = "";

            if (filter.Columns.Any(e => e.Column == ReportColumns.Company) && !string.IsNullOrEmpty(address.CompanyName))
            {
                response += address.CompanyName + "\n";
            }
            if (filter.Columns.Any(e => e.Column == ReportColumns.Address))
            {
                response += string.IsNullOrEmpty(address.Address) && string.IsNullOrEmpty(address.Address2) ? "" :
                            address.Address + (!string.IsNullOrEmpty(address.Address2) ? $", {address.Address2}"
                        : "") + "\n";
            }
            if (filter.Columns.Any(e => e.Column == ReportColumns.City && e.IsChecked))
            {
                response += $"{address.City}, ";
            }
            if (filter.Columns.Any(e => e.Column == ReportColumns.State && e.IsChecked))
            {
                response += $"{address.State} ";
            }
            if (filter.Columns.Any(e => e.Column == ReportColumns.Zip && e.IsChecked))
            {
                response += $"{address.Zip} ";
            }
            if (filter.Columns.Any(e => e.Column == ReportColumns.Country && e.IsChecked) &&
                (string.IsNullOrEmpty(CountryInSettings) || !string.Equals(address.Country, CountryInSettings, StringComparison.InvariantCultureIgnoreCase)))
            {
                response += $", {address.Country}";
            }
            return(response);
        }
        EnvelopeAddress AddEnvelopAddress(string customAddress, ContactReportAddress addr, TransFilterType addrType, string gender = null)
        {
            string senderAddress = FormAddressStr(
                GetAddrLabel(addr, addrType, gender),
                addr.CompanyName,
                addr.Address,
                addr.Address2,
                addr.City,
                addr.State,
                addr.Zip,
                addr.Country,
                CountryInSettings);

            return(new EnvelopeAddress(0, customAddress, senderAddress));
        }
        private string GetAddrLabel(ContactReportAddress addr, TransFilterType addrType, string gender)
        {
            if (addrType == TransFilterType.Family)
            {
                return(addr.Label);
            }
            switch (gender)
            {
            case "Male":
                return(addr.HisLabel);

            case "Female":
                return(addr.HerLabel);
            }
            return(addr.Label);
        }
        static string GetAddressCol(ContactReportAddress address)
        {
            var addressResult = "";

            if (!string.IsNullOrEmpty(address.Address))
            {
                addressResult = address.Address;
            }
            if (!string.IsNullOrEmpty(address.Address2))
            {
                if (!string.IsNullOrEmpty(address.Address))
                {
                    addressResult += "\n";
                }
                addressResult += address.Address2;
            }

            return(addressResult);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Return addres line without address
        /// </summary>
        /// <param name="address"></param>
        /// <param name="filter"></param>
        /// <returns></returns>
        static string GetShortAddressLine(ContactReportAddress address, FilterContactReport filter)
        {
            var response = "";

            if (filter.Columns.Any(e => e.Column == ReportColumns.City))
            {
                response += $" {address.City}";
            }
            if (filter.Columns.Any(e => e.Column == ReportColumns.State))
            {
                response += $" {address.State}";
            }
            if (filter.Columns.Any(e => e.Column == ReportColumns.Zip))
            {
                response += $" {address.Zip}";
            }
            if (filter.Columns.Any(e => e.Column == ReportColumns.Country))
            {
                response += $" {address.Country}";
            }
            return(response);
        }
Exemplo n.º 9
0
        static void FillContRow(ContactReportResultDto contact, FilterContactReport filter, string companyName, ContactReportAddress address)
        {
            colsRows++;
            Row row = _table.AddRow();

            var startIndex = 1;

            //fam name
            FillRow(row, 0, contact.FamilyName,
                    false, ParagraphAlignment.Left,
                    VerticalAlignment.Center);
            //company
            if (filter.Columns.Any(r => r.Column == ReportColumns.Company))
            {
                startIndex++;
                FillRow(row, 1,
                        string.IsNullOrEmpty(companyName) ? "" : companyName,
                        false, ParagraphAlignment.Left,
                        VerticalAlignment.Center);
            }
            // addresses
            int position = filter.Columns.Any(r => r.Column == ReportColumns.Company) ? 2 : 1;

            if (filter.Columns.Any(e => e.Column == ReportColumns.Address && e.IsChecked))
            {
                FillRow(row, position, address != null ? (string.IsNullOrEmpty(address.Address) ? "" : address.Address) : "",
                        false, ParagraphAlignment.Left,
                        VerticalAlignment.Center);
                startIndex++;
                position++;
            }
            if (filter.Columns.Any(e => (int)e.Column >= 8 && (int)e.Column <= 12 && e.IsChecked))
            {
                startIndex++;
                FillRow(row, position, address != null ? GetShortAddressLine(address, filter) : "",
                        false, ParagraphAlignment.Left,
                        VerticalAlignment.Center);
            }
            //contacts
            var cols = filter.Columns.Where(e => (int)e.Column >= 0 && (int)e.Column <= 7)
                       .OrderBy(q => q.Column)
                       .ToList();

            for (int i = 0; i < cols.Count; i++)
            {
                var index = startIndex + i;
                var col   = cols[i];
                FillRow(row, index,
                        GetContactsForFamily(contact.Members.ToList(), filter, (int)col.Column), false,
                        ParagraphAlignment.Left,
                        VerticalAlignment.Center);
            }
        }
Exemplo n.º 10
0
        static void FillContRow(ContactReportMambers member, FilterContactReport filter, string companyName, ContactReportAddress address)
        {
            colsRows++;
            Row  row            = _table.AddRow();
            bool addressChecked = filter.Columns.Any(r => (int)r.Column >= 8 && (int)r.Column <= 12);
            // var startIndex = addressChecked ? 2 : 1;
            var startIndex = 1;

            //fam name
            FillRow(row, 0,
                    (filter.SkipTitles ? "" : member.Title) + member.FirstName + " " + member.LastName,
                    false, ParagraphAlignment.Left,
                    VerticalAlignment.Center);
            //company
            if (filter.Columns.Any(r => r.Column == ReportColumns.Company))
            {
                startIndex++;
                FillRow(row, 1,
                        string.IsNullOrEmpty(companyName) ? "" : companyName,
                        false, ParagraphAlignment.Left,
                        VerticalAlignment.Center);
            }
            // addresses
            int position = filter.Columns.Any(r => r.Column == ReportColumns.Company) ? 2 : 1;

            if (filter.Columns.Any(e => e.Column == ReportColumns.Address && e.IsChecked))
            {
                FillRow(row, position, address != null ? (string.IsNullOrEmpty(address.Address) ? "" : address.Address) : "",
                        false, ParagraphAlignment.Left,
                        VerticalAlignment.Center);
                startIndex++;
                position++;
            }
            if (filter.Columns.Any(e => (int)e.Column >= 8 && (int)e.Column <= 12 && e.IsChecked))
            {
                startIndex++;
                FillRow(row, position, address != null ? GetShortAddressLine(address, filter) : "",
                        false, ParagraphAlignment.Left,
                        VerticalAlignment.Center);
            }
            FillContactsForMember(row, startIndex, member, filter);
        }
Exemplo n.º 11
0
 private static void CreateEnvelopsForMembers(string senderAddr, ContactReportResultDto contact, ContactReportAddress addr, FilterContactReport filter)
 {
     foreach (ContactReportMambers member in contact.Members)
     {
         AddEnvelopPage(senderAddr, (filter.SkipTitles ? "" : member.Title) + member.FirstName + " " + member.LastName, addr, filter);
     }
 }
Exemplo n.º 12
0
        static void FillRow(StringBuilder str, string name, FilterContactReport filter, ContactReportAddress addr, List <ContactReportContactInfo> contactsList)
        {
            var contactStr = "";

            str.Append($"\"{name}\",");
            if (addr != null)
            {
                GetAddressString(str, addr, filter);
            }
            else
            {
                GetEmptyAddressString(str, filter);
            }
            // var contactsList = contact.Members.SelectMany(r => r.Contacts.Select(t => { t.MemberType = r.TypeID; return t; })).ToList();
            foreach (ReportColumn col in filter.Columns.Where(e => (int)e.Column <= 7 && e.IsChecked).OrderBy(e => e.Column))
            {
                var colValue = GetContactsByCol(col.Sort, contactsList);
                if (!string.IsNullOrEmpty(colValue))
                {
                    contactStr += colValue;
                }
            }
            str.Append(contactStr);
            str.Append("\n");
        }
Exemplo n.º 13
0
        void CreateEnvelopsForMembers(ref Dictionary <int, EnvelopeAddress> labels, string senderAddr, ContactReportResultDto contact, ContactReportAddress addr, FilterContactReport filter)
        {
            var index   = labels.Count;
            var members = contact.Members.ToList();

            for (int i = 0; i < members.Count; i++)
            {
                labels.Add(index + i, AddEnvelopAddress(senderAddr, addr, filter.ReportType, members[i].Gender));
            }
        }