Ejemplo n.º 1
0
 static void FillContent(List <ContactReportResultDto> contacts, FilterContactReport filter)
 {
     foreach (ContactReportResultDto contact in contacts)
     {
         if (filter.ReportType == TransFilterType.Family)
         {
             if (filter.Columns.Any(r => (int)r.Column >= 8 && (int)r.Column <= 12))
             {
                 FillWithAddresses(filter, contact);
             }
             else
             {
                 FillContRow(contact, filter, "", null);
             }
         }
         if (filter.ReportType == TransFilterType.Member)
         {
             if (filter.Columns.Any(r => (int)r.Column >= 8 && (int)r.Column <= 12))
             {
                 FillWithAddresses(filter, contact);
             }
             else
             {
                 foreach (ContactReportMambers member in contact.Members)
                 {
                     FillContRow(member, filter, "", null);
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
 private static void FillWithAddresses(FilterContactReport filter, ContactReportResultDto contact)
 {
     if (filter.ReportType == TransFilterType.Family)
     {
         if (contact.Addresses.Any())
         {
             foreach (ContactReportAddress address in contact.Addresses)
             {
                 FillContRow(contact, filter, address.CompanyName, address);
             }
         }
         else
         {
             FillContRow(contact, filter, "", null);
         }
     }
     if (filter.ReportType == TransFilterType.Member)
     {
         foreach (ContactReportMambers member in contact.Members)
         {
             if (contact.Addresses.Any())
             {
                 foreach (ContactReportAddress address in contact.Addresses)
                 {
                     FillContRow(member, filter, address.CompanyName, address);
                 }
             }
             else
             {
                 FillContRow(member, filter, "", null);
             }
         }
     }
 }
Ejemplo n.º 3
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");
        }
Ejemplo n.º 4
0
 static void GetEmptyAddressString(StringBuilder str, FilterContactReport filter)
 {
     if (filter.Columns.Any(e => e.Column == ReportColumns.Address && e.IsChecked))
     {
         str.Append("\"\",");
     }
     if (filter.Columns.Any(e => e.Column == ReportColumns.City && e.IsChecked))
     {
         str.Append("\"\",");
     }
     if (filter.Columns.Any(e => e.Column == ReportColumns.State && e.IsChecked))
     {
         str.Append("\"\",");
     }
     if (filter.Columns.Any(e => e.Column == ReportColumns.Zip && e.IsChecked))
     {
         str.Append("\"\",");
     }
     if (filter.Columns.Any(e => e.Column == ReportColumns.Country && e.IsChecked))
     {
         str.Append("\"\",");
     }
     if (filter.Columns.Any(e => e.Column == ReportColumns.Company && e.IsChecked))
     {
         str.Append("\"\",");
     }
 }
Ejemplo n.º 5
0
        /// <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);
        }
Ejemplo n.º 6
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);
        }
Ejemplo n.º 7
0
 public static PdfDocument CreateContectReportDocument(FilterContactReport filter,
                                                       List <ContactReportResultDto> contacts, string sender)
 {
     _document = new Document();
     // DefineStyles();
     FillEnvelops(contacts, sender, filter);
     //Test();
     return(outputDocument);
 }
Ejemplo n.º 8
0
        static void FillLabelRows(FilterContactReport filter, List <ContactReportResultDto> contacts)
        {
            int countCols = 0;
            Row row       = _table.AddRow();

            foreach (ContactReportResultDto contact in contacts.Where(a => a.Addresses != null && a.Addresses.Any()))
            {
                if (filter.ReportType == TransFilterType.Family)
                {
                    foreach (ContactReportAddress addr in contact.Addresses)
                    {
                        countCols++;
                        if ((countCols % 2 == 0) && countCols != 0)
                        {
                            continue;
                        }
                        if (countCols > 5)
                        {
                            countCols = 1;
                            row       = _table.AddRow();
                        }
                        var rowStr = $"{contact.FamilyName}\n{GetFullAddressLine(addr, filter)}";
                        FillRow(row, countCols - 1, rowStr,
                                false, ParagraphAlignment.Left,
                                VerticalAlignment.Top, marginLeft: new Unit {
                            Millimeter = 3
                        });
                    }
                }
                if (filter.ReportType == TransFilterType.Member)
                {
                    foreach (ContactReportAddress addr in contact.Addresses)
                    {
                        foreach (ContactReportMambers member in contact.Members)
                        {
                            countCols++;
                            if ((countCols % 2 == 0) && countCols != 0)
                            {
                                continue;
                            }
                            if (countCols > 5)
                            {
                                countCols = 1;
                                row       = _table.AddRow();
                            }
                            var memberName = (filter.SkipTitles ? "" : member.Title) + member.FirstName + " " + member.LastName;
                            var rowStr     = $"{memberName}\n{GetFullAddressLine(addr, filter)}";
                            FillRow(row, countCols - 1, rowStr,
                                    false, ParagraphAlignment.Left,
                                    VerticalAlignment.Top, marginLeft: new Unit {
                                Millimeter = 3
                            });
                        }
                    }
                }
            }
        }
Ejemplo n.º 9
0
 static void FillGrouped(int colsCount, List <GroupedContactReport> grp, FilterContactReport filter)
 {
     foreach (GroupedContactReport grouped in grp)
     {
         Row rowHead = _table.AddRow();
         FillRow(rowHead, 0, grouped.Name, true, ParagraphAlignment.Left, VerticalAlignment.Center);
         rowHead.Cells[0].MergeRight = colsCount - 1;
         FillContent(grouped.Contacts, filter);
     }
 }
Ejemplo n.º 10
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);
            }
        }
Ejemplo n.º 11
0
        public static string GetCsvString(FilterContactReport filter, List <ContactReportResultDto> contacts)
        {
            StringBuilder str = new StringBuilder();
            bool          colAmount;

            // FillColumns(str, filter);
            str.Append("sep=,\n");
            str.Append("\"Name\",");
            FillAdressColumns(str, filter.Columns.Where(r => (int)r.Column >= 8 && (int)r.Column <= 13 && r.IsChecked).OrderBy(e => e.Column).ToList());
            FillContactsColumns(str, filter.Columns.Where(r => r.IsChecked).OrderBy(e => e.Column).ToList(), out colAmount, contacts);
            str.Append("\n");
            FillRows(str, filter, contacts);
            return(str.ToString());
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Use for contact report
        /// </summary>
        /// <param name="filter">object with params for filtering</param>
        /// <returns>List of filtered contacts</returns>
        public IList <ContactReportResultDto> FilterContactReport(FilterContactReport filter)
        {
            Mapper.Initialize(r => r.CreateMap <FilterContactReport, SelectContactReportStoredProcedure>()
                              .ForMember(q => q.TransactionSort, e => e.MapFrom(t => (int)t.TransactionSort))
                              .ConstructUsing(
                                  x => QueryProvider.CreateQuery <SelectContactReportStoredProcedure>(ConfigurationManager.AppSettings["schema"]))
                              );

            var queryMember = Mapper.Map <FilterContactReport, SelectContactReportStoredProcedure>(filter);
            var resultq     = queryMember.Execute();

            return(!resultq.HasNoDataRows ? ConvertResultToContactReport(resultq.ResultToArray <ContactReportDto>().ToList())
                : new List <ContactReportResultDto>());
        }
Ejemplo n.º 13
0
        string GetContactLine(ContactReportContactInfo contact, FilterContactReport filter, int memberType)
        {
            var prefix = "";

            if (memberType == 1)
            {
                prefix = "His: ";
            }
            if (memberType == 2)
            {
                prefix = "Her: ";
            }
            string isNc = contact.NoCall != null && (bool)contact.NoCall && filter.ShowNC ? "(NC)" : "";

            return($"{prefix}{isNc} {contact.PhoneNumber}");
        }
Ejemplo n.º 14
0
        static int GetColCount(FilterContactReport filter)
        {
            int resp = 1;

            //contact info cols
            resp += filter.Columns.Count(r => (int)r.Column >= 0 && (int)r.Column <= 7);
            //address cols
            if (filter.Columns.Any(r => (int)r.Column >= 8 && (int)r.Column <= 12))
            {
                resp += 2;
            }
            if (filter.Columns.Any(r => r.Column == ReportColumns.Company))
            {
                resp++;
            }
            return(resp);
        }
Ejemplo n.º 15
0
 private static void FillRows(StringBuilder str, FilterContactReport filter, List <ContactReportResultDto> contacts)
 {
     foreach (var contact in contacts)
     {
         var contactStr = "";
         if (filter.ReportType == TransFilterType.Family)
         {
             if (contact.Addresses != null && contact.Addresses.Any())
             {
                 foreach (ContactReportAddress addr in contact.Addresses)
                 {
                     FillRow(str, contact.FamilyName, filter, addr, contact.Members.SelectMany(r => r.Contacts.Select(t => { t.MemberType = r.TypeID; return(t); })).ToList());
                 }
             }
             else
             {
                 FillRow(str, contact.FamilyName, filter, null, contact.Members.SelectMany(r => r.Contacts.Select(t => { t.MemberType = r.TypeID; return(t); })).ToList());
             }
         }
         if (filter.ReportType == TransFilterType.Member)
         {
             if (contact.Addresses != null && contact.Addresses.Any())
             {
                 foreach (ContactReportAddress addr in contact.Addresses)
                 {
                     foreach (ContactReportMambers member in contact.Members)
                     {
                         var memberName = (filter.SkipTitles ? "" : member.Title) + member.FirstName + " " +
                                          member.LastName;
                         FillRow(str, memberName, filter, addr, member.Contacts.Select(t => { t.MemberType = member.TypeID; return(t); }).ToList());
                     }
                 }
             }
             else
             {
                 foreach (ContactReportMambers member in contact.Members)
                 {
                     var memberName = (filter.SkipTitles ? "" : member.Title) + member.FirstName + " " +
                                      member.LastName;
                     FillRow(str, memberName, filter, null, member.Contacts.Select(t => { t.MemberType = member.TypeID; return(t); }).ToList());
                 }
             }
         }
     }
 }
Ejemplo n.º 16
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);
        }
Ejemplo n.º 17
0
        int GetColCount(FilterContactReport filter)
        {
            int resp = 1;

            //contact info cols
            resp += filter.Columns.Count(r => (int)r.Column >= 1 && (int)r.Column <= 8 && r.IsChecked);
            //address cols
            if (filter.Columns.Any(r => r.Column == ReportColumns.Address && r.IsChecked))
            {
                resp++;
            }
            if (filter.Columns.Any(r => (int)r.Column >= 10 && (int)r.Column <= 13 && r.IsChecked))
            {
                resp++;
            }
            if (filter.Columns.Any(r => r.Column == ReportColumns.Company && r.IsChecked))
            {
                resp++;
            }
            return(resp);
        }
Ejemplo n.º 18
0
        List <GroupedContactReport> GroupBy(List <ContactReportResultDto> contacts, FilterContactReport filter)
        {
            if (filter.GroupBy == "City")
            {
                return(GroupByCity(contacts));
            }

            if (filter.GroupBy == "State")
            {
                return(GroupByState(contacts));
            }
            if (filter.GroupBy == "Zip")
            {
                return(GroupByZip(contacts));
            }
            if (filter.GroupBy == "Country")
            {
                return(GroupByCountry(contacts));
            }
            return(null);
        }
Ejemplo n.º 19
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);
        }
Ejemplo n.º 20
0
        public static Document CreateContectReportDocument(FilterContactReport filter, List <ContactReportResultDto> contacts)
        {
            _document = new Document {
                Info = { Title = filter.Name }
            };
            var cosCount = GetColCount(filter);

            DefineStyles();
            // CreateEnvelopPage(contacts, sender);
            //Envelopes

            //LABELS
            CreateLabelPage();
            FillLabelRows(filter, contacts);
            //TABLE
            //CreateConcatcPage(filter, cosCount);
            //if (filter.Columns.Any(r => (int)r.Column >= 8 && (int)r.Column <= 12) && !string.Equals(filter.GroupBy, "None", StringComparison.InvariantCultureIgnoreCase))
            //    FillGrouped(cosCount, GroupBy(contacts, filter), filter);
            //else
            //    FillContent(contacts, filter);
            //AddBottom("Contact Report Summary", "Number of Addresses", colsRows);
            return(_document);
        }
Ejemplo n.º 21
0
        static int CreateColumns(FilterContactReport filter, int colsCount, Unit?sectionWidth = null)
        {
            Unit?colWidth = null;

            if (sectionWidth != null)
            {
                colWidth = sectionWidth / colsCount;
            }
            List <ReportColumn> checkedCols = new List <ReportColumn>();
            Column column = _table.AddColumn();

            //first name col
            column.Format.Alignment = ParagraphAlignment.Center;
            if (colWidth != null)
            {
                column.Width = (Unit)colWidth;
            }
            //create cols obj
            checkedCols = filter.Columns.Where(r => r.IsChecked).ToList();
            //company
            if (checkedCols.Any(e => e.Column == ReportColumns.Company))
            {
                column = _table.AddColumn();
                if (colWidth != null)
                {
                    column.Width = (Unit)colWidth;
                }
                column.Format.Alignment = ParagraphAlignment.Right;
            }
            //Address
            if (checkedCols.Any(e => (int)e.Column >= 8 && (int)e.Column <= 12))
            {
                //col for address
                if (checkedCols.Any(r => r.Column == ReportColumns.Address && r.IsChecked))
                {
                    column = _table.AddColumn();
                    if (colWidth != null)
                    {
                        column.Width = (Unit)colWidth;
                    }
                    column.Format.Alignment = ParagraphAlignment.Right;
                }
                //col for city,state,zip, country
                if (checkedCols.Any(e => (int)e.Column >= 8 && (int)e.Column <= 12 && e.IsChecked))
                {
                    column = _table.AddColumn();
                    if (colWidth != null)
                    {
                        column.Width = (Unit)colWidth;
                    }
                    column.Format.Alignment = ParagraphAlignment.Right;
                }
            }
            //Contact data
            foreach (ReportColumn col in checkedCols.Where(e => (int)e.Column <= 7).OrderBy(e => e.Column))
            {
                column = _table.AddColumn();
                if (colWidth != null)
                {
                    column.Width = (Unit)colWidth;
                }
                column.Format.Alignment = ParagraphAlignment.Right;
            }



            //fill col obj
            var startedIsnex = 1;
            Row row          = _table.AddRow();

            //Name
            FillRow(row, ParagraphAlignment.Center, true, TableHeaderBackground, 0, Grouping.GetTranslation("new_report_Name"), true, ParagraphAlignment.Left, VerticalAlignment.Bottom, true, TableHeaderFont, fontSize: 11);
            //Company
            if (checkedCols.Any(e => e.Column == ReportColumns.Company))
            {
                startedIsnex++;
                var col = checkedCols.First(e => e.Column == ReportColumns.Company);
                FillRow(row, ParagraphAlignment.Center, true, TableHeaderBackground, 1,
                        Grouping.GetTranslation(Grouping.GetTranslation(col.Name)), true, ParagraphAlignment.Center, VerticalAlignment.Bottom, true, TableHeaderFont, fontSize: 11);
            }
            //Address
            if (checkedCols.Any(e => (int)e.Column >= 8 && (int)e.Column <= 12))
            {
                var colName     = "";
                var colPosition = checkedCols.Any(r => r.Column == ReportColumns.Company) ? 2 : 1;
                if (checkedCols.Any(e => e.Column == ReportColumns.Address && e.IsChecked))
                {
                    colName += Grouping.GetTranslation(checkedCols.First(e => e.Column == ReportColumns.Address).Name);
                    startedIsnex++;
                    FillRow(row, ParagraphAlignment.Center, true, TableHeaderBackground, colPosition,
                            colName, true, ParagraphAlignment.Center, VerticalAlignment.Bottom, true, TableHeaderFont, fontSize: 11);
                    colPosition++;
                }
                colName = "";
                if (checkedCols.Any(e => (int)e.Column >= 8 && (int)e.Column <= 12 && e.IsChecked))
                {
                    if (checkedCols.Any(e => e.Column == ReportColumns.City))
                    {
                        colName +=
                            $"{Grouping.GetTranslation(checkedCols.First(e => e.Column == ReportColumns.City).Name)}";
                    }
                    if (checkedCols.Any(e => e.Column == ReportColumns.State))
                    {
                        colName +=
                            $"/{Grouping.GetTranslation(checkedCols.First(e => e.Column == ReportColumns.State).Name)}";
                    }
                    if (checkedCols.Any(e => e.Column == ReportColumns.Zip))
                    {
                        colName +=
                            $"/{Grouping.GetTranslation(checkedCols.First(e => e.Column == ReportColumns.Zip).Name)}";
                    }
                    if (checkedCols.Any(e => e.Column == ReportColumns.Country))
                    {
                        colName +=
                            $"/{Grouping.GetTranslation(checkedCols.First(e => e.Column == ReportColumns.Country).Name)}";
                    }
                    startedIsnex++;
                    FillRow(row, ParagraphAlignment.Center, true, TableHeaderBackground, colPosition,
                            colName, true, ParagraphAlignment.Center, VerticalAlignment.Bottom, true, TableHeaderFont,
                            fontSize: 11);
                }
            }
            //Contact data
            checkedCols = checkedCols.Where(e => (int)e.Column <= 7).OrderBy(e => e.Column).ToList();

            for (var i = 0; i < checkedCols.Count; i++)
            {
                var          index = startedIsnex + i;
                ReportColumn col   = checkedCols[i];
                FillRow(row, ParagraphAlignment.Center, true, TableHeaderBackground, index,
                        Grouping.GetTranslation(Grouping.GetTranslation(col.Name)), true, ParagraphAlignment.Center, VerticalAlignment.Bottom, true, TableHeaderFont, fontSize: 11);
            }

            var colCount = row.Cells.Count;


            return(colCount);
        }
Ejemplo n.º 22
0
 static string GetContactStringFromList(List <ContactReportContactInfo> contacts, FilterContactReport filter, int memberType)
 {
     return(contacts.Aggregate("", (current, cont) => current + (GetContactLine(cont, filter, memberType) + "\n")));
 }
Ejemplo n.º 23
0
        static void FillContactsForMember(Row row, int startIndex, ContactReportMambers member, FilterContactReport filter)
        {
            var cols = filter.Columns.Where(e => (int)e.Column >= 0 && (int)e.Column <= 7).OrderBy(w => w.Column).ToList();

            for (int i = 0; i < cols.Count(); i++)
            {
                var index = startIndex + i;
                var col   = cols[i];
                FillRow(row, index, GetContactStringFromList(member.Contacts.Where(r => r.PhoneTypeID == (int)col.Column).ToList(), filter, member.TypeID)
                        , false, ParagraphAlignment.Left,
                        VerticalAlignment.Center);
            }
        }
Ejemplo n.º 24
0
 static string GetContactsForFamily(List <ContactReportMambers> members,
                                    FilterContactReport filter, int colId)
 {
     return(members.Aggregate("", (current, member) => current + (GetContactStringFromList(member.Contacts.Where(r => r.PhoneTypeID == colId).ToList(), filter, member.TypeID) + "\n")));
 }
Ejemplo n.º 25
0
 static List <ContactReportResultDto> GetContactReportResult(FilterContactReport filter)
 {
     return(service.FilterContactReport(filter).ToList());
 }
Ejemplo n.º 26
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}\",");
     }
 }
Ejemplo n.º 27
0
 static void FillEnvelops(List <ContactReportResultDto> contacts, string senderAddr, FilterContactReport filter)
 {
     foreach (ContactReportResultDto contact in contacts.Where(e => e.Addresses != null && e.Addresses.Any()))
     {
         foreach (ContactReportAddress addr in contact.Addresses)
         {
             if (filter.ReportType == TransFilterType.Family)
             {
                 AddEnvelopPage(senderAddr, contact.FamilyName, addr, filter);
             }
             if (filter.ReportType == TransFilterType.Member)
             {
                 CreateEnvelopsForMembers(senderAddr, contact, addr, filter);
             }
         }
     }
 }
Ejemplo n.º 28
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);
     }
 }
Ejemplo n.º 29
0
        static int CreateConcatcPage(FilterContactReport filter, int colCount)
        {
            // Each MigraDoc document needs at least one section.
            _section = _document.AddSection();
            //_section.PageSetup = _document.DefaultPageSetup.Clone();
            var pageSize = _document.DefaultPageSetup.Clone();

            //  pageSize.Orientation = colCount < 5 ? Orientation.Portrait : Orientation.Landscape;
            pageSize.Orientation = Orientation.Portrait;
            pageSize.PageFormat  = PageFormat.A4;
            pageSize.LeftMargin  = new Unit {
                Centimeter = 1.5
            };
            pageSize.RightMargin = new Unit {
                Centimeter = 1.5
            };
            pageSize.OddAndEvenPagesHeaderFooter = true;
            pageSize.StartingNumber = 1;
            _section.PageSetup      = pageSize;
            Paragraph paragraph = _section.Headers.Primary.AddParagraph();

            paragraph.AddText(filter.Name);
            paragraph.Format.Font.Size = 9;
            paragraph.Format.Alignment = ParagraphAlignment.Center;


            // Create the item table
            _table       = _section.AddTable();
            _table.Style = "Table";

            _table.Borders.Color       = TableBorder;
            _table.Borders.Width       = 0.25;
            _table.Borders.Left.Width  = 0.5;
            _table.Borders.Right.Width = 0.5;
            _table.Rows.LeftIndent     = 0;
            _table.Rows.HeightRule     = RowHeightRule.AtLeast;
            _table.Rows.Height         = 12;
            Unit curPageWidth = new Unit {
                Centimeter = pageSize.Orientation == Orientation.Landscape ? 29.7 : 21
            };
            Unit?pageWidth = curPageWidth - _section.PageSetup.LeftMargin - _section.PageSetup.RightMargin;



            colCount = CreateColumns(filter, colCount, pageWidth);
            _table.SetEdge(0, 0, colCount, 1, Edge.Box, BorderStyle.Single, 0.75, Color.Empty);

            //page num
            var style = _document.Styles[StyleNames.Footer];

            style.ParagraphFormat.AddTabStop("9cm", TabAlignment.Center);
            style.Font.Name  = "Verdana";
            style.Font.Name  = "Times New Roman";
            style.Font.Size  = 9;
            style.Font.Color = FontColor;
            // Create a paragraph with centered page number. See definition of style "Footer".
            Paragraph paragraph2 = new Paragraph();

            paragraph2.Style = StyleNames.Footer;
            paragraph2.AddTab();
            paragraph2.AddPageField();

            // Add paragraph to footer for odd pages.
            _section.Footers.Primary.Add(paragraph2);
            // Add clone of paragraph to footer for odd pages. Cloning is necessary because an object must
            // not belong to more than one other object. If you forget cloning an exception is thrown.
            _section.Footers.EvenPage.Add(paragraph2.Clone());


            return(colCount);
        }
Ejemplo n.º 30
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);
        }