/// <summary>
 /// Gets the full name.
 /// </summary>
 /// <param name="weddingPartyMember">The model.</param>
 /// <returns></returns>
 public string GetFullName(WeddingPartyMember weddingPartyMember)
 {
     if (weddingPartyMember.SummaryPartnerId == default(int))
     {
         return(String.Format("{0} {1}", weddingPartyMember.NameFirst.ToUpper(), weddingPartyMember.NameLast.ToUpper()));
     }
     else
     {
         return(String.Format("{0} {1} AND {2} {3}",
                              weddingPartyMember.NameFirst.ToUpper(),
                              weddingPartyMember.NameLast != weddingPartyMember.SummaryPartner.NameLast ? weddingPartyMember.NameLast.ToUpper() : String.Empty,
                              weddingPartyMember.SummaryPartner.NameFirst.ToUpper(),
                              weddingPartyMember.SummaryPartner.NameLast).ToUpper());
     }
 }
        /// <summary>
        /// Wedding Party Member
        /// </summary>
        /// <param name="weddingPartyMemberId">The wedding party member identifier.</param>
        /// <returns></returns>
        public async Task <ActionResult> WeddingPartyMember(int weddingPartyMemberId)
        {
            WeddingPartyMember model = (await WeddingPartyMemberBusinessManager.Current.SelectAsync(SecurityManager.Current.ConnectionInfo, new WeddingPartyMember()
            {
                WeddingPartyMemberId = weddingPartyMemberId
            })).FirstOrDefault();

            if (model.SummaryPartnerId != default(int))
            {
                model.SummaryPartner = (await WeddingPartyMemberBusinessManager.Current.SelectAsync(SecurityManager.Current.ConnectionInfo, new WeddingPartyMember()
                {
                    WeddingPartyMemberId = model.SummaryPartnerId
                })).FirstOrDefault();
            }

            return(View("WeddingPartyMemberDetail", model));
        }
        /// <summary>
        /// Select With Summary Partners Async
        /// </summary>
        /// <param name="connectionInfo">The connection information.</param>
        /// <param name="filter">The filter.</param>
        /// <returns></returns>
        public async Task <List <WeddingPartyMember> > SelectWithSummaryPartnersAsync(IConnectionInfo connectionInfo, WeddingPartyMember filter)
        {
            //TODO: Make this a custom Stored Proc

            List <WeddingPartyMember> entities = new List <WeddingPartyMember>();
            SqlDataReader             reader   = null;

            try
            {
                PopulateConnectionInfo(connectionInfo);

                SqlConnection connection = new SqlConnection(connectionInfo.ConnectionString);

                using (connection)
                {
                    List <SqlParameter> sqlParameters = new List <SqlParameter>();

                    string selectQuery = String.Format("SELECT {0}, sp.NameFirst as 'SummaryPartner.NameFirst', sp.NameLast as 'SummaryPartner.NameLast', sp.UDF1 as 'SummaryPartner.UDF1', sp.UDF2 as 'SummaryPartner.UDF2', sp.UDF3 as 'SummaryPartner.UDF3'FROM WeddingPartyMember wpm", String.Join(", ", EntityHelper.Current.GetAllColumns(filter).Select(s => String.Format("wpm.{0}", s))), EntityHelper.Current.GetTableName(filter));

                    selectQuery += String.Format(" LEFT JOIN WeddingPartyMember sp ON sp.WeddingPartyMemberId = wpm.SummaryPartnerId");

                    IEnumerable <string> modifiedColumns = filter.GetModifiedColumns();

                    if (modifiedColumns.Count() > 0)
                    {
                        //HACK We need a way to pass in a table prefix to each column in the filter.  Only 1 column needed here.
                        selectQuery += String.Format(" WHERE wpm.{0}", GetEntityFilter <WeddingPartyMember>(filter, modifiedColumns, sqlParameters, connectionInfo));
                    }

                    SqlCommand command = new SqlCommand(selectQuery, connection);

                    await connection.OpenAsync();

                    command.Parameters.AddRange(sqlParameters.ToArray());

                    reader = await command.ExecuteReaderAsync();

                    if (reader.HasRows)
                    {
                        while (await reader.ReadAsync())
                        {
                            entities.Add(EntityHelper.Current.PopulateFromDataReader <WeddingPartyMember>(reader, connectionInfo));
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw new CoreException("SQL Data Access Error", String.Format("There was an error with the {0} SQL Statement for the {1} Table.", "Select", EntityHelper.Current.GetTableName(filter)), e);
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }

            return(entities);
        }
Beispiel #4
0
        ///// <summary>
        ///// Update
        ///// </summary>
        ///// <param name="connectionInfo">The connection information.</param>
        ///// <param name="entity">The entity.</param>
        ///// <returns></returns>
        //public IProcessResult Update(IConnectionInfo connectionInfo, WeddingPartyMember entity)
        //{
        //    return UpdateInternal(connectionInfo, entity).Result;
        //}

        /// <summary>
        /// Update Async.
        /// </summary>
        /// <param name="connectionInfo">The connection information.</param>
        /// <param name="entity">The entity.</param>
        /// <returns></returns>
        public async Task <IProcessResult> UpdateAsync(IConnectionInfo connectionInfo, WeddingPartyMember entity)
        {
            return(await UpdateInternal(connectionInfo, entity));
        }
Beispiel #5
0
        ///// <summary>
        ///// Select
        ///// </summary>
        ///// <param name="connectionInfo">The connection information.</param>
        ///// <param name="filter">The filter.</param>
        ///// <returns></returns>
        //public List<WeddingPartyMember> Select(IConnectionInfo connectionInfo, WeddingPartyMember filter)
        //{
        //    return SelectInternal(connectionInfo, filter).Result;
        //}

        /// <summary>
        /// Select Async
        /// </summary>
        /// <param name="connectionInfo">The connection information.</param>
        /// <param name="filter">The filter.</param>
        /// <returns></returns>
        public async Task <List <WeddingPartyMember> > SelectAsync(IConnectionInfo connectionInfo, WeddingPartyMember filter)
        {
            return(await SelectInternal(connectionInfo, filter));
        }
Beispiel #6
0
        ///// <summary>
        ///// Update
        ///// </summary>
        ///// <param name="connectionInfo">The connection information.</param>
        ///// <param name="entity">The entity.</param>
        ///// <returns></returns>
        //public IProcessResult Update(IConnectionInfo connectionInfo, WeddingPartyMember entity)
        //{
        //    return WeddingPartyMemberManager.Current.Update(connectionInfo, entity);
        //}

        /// <summary>
        /// Update Async
        /// </summary>
        /// <param name="connectionInfo">The connection information.</param>
        /// <param name="entity">The entity.</param>
        /// <returns></returns>
        public async Task <IProcessResult> UpdateAsync(IConnectionInfo connectionInfo, WeddingPartyMember entity)
        {
            return(await WeddingPartyMemberManager.Current.UpdateAsync(connectionInfo, entity));
        }
Beispiel #7
0
        ///// <summary>
        ///// Select
        ///// </summary>
        ///// <param name="connectionInfo">The connection information.</param>
        ///// <param name="filter">The filter.</param>
        ///// <returns></returns>
        //public List<WeddingPartyMember> Select(IConnectionInfo connectionInfo, WeddingPartyMember filter)
        //{
        //    return WeddingPartyMemberManager.Current.Select(connectionInfo, filter);
        //}

        /// <summary>
        /// Select Async
        /// </summary>
        /// <param name="connectionInfo">The connection information.</param>
        /// <param name="filter">The filter.</param>
        /// <returns></returns>
        public async Task <List <WeddingPartyMember> > SelectAsync(IConnectionInfo connectionInfo, WeddingPartyMember filter)
        {
            return(await WeddingPartyMemberManager.Current.SelectAsync(connectionInfo, filter));
        }
 /// <summary>
 /// Selects the type of the with summary partners and group by.
 /// </summary>
 /// <param name="connectionInfo">The connection information.</param>
 /// <param name="filter">The filter.</param>
 /// <returns></returns>
 public async Task <List <List <WeddingPartyMember> > > SelectWithSummaryPartnersAndGroupByType(IConnectionInfo connectionInfo, WeddingPartyMember filter)
 {
     return((await SelectWithSummaryPartnersAsync(connectionInfo, filter))
            .GroupBy(wpm => new { wpm.WeddingPartyMemberTypeId, wpm.WeddingPartyMemberTypePriority })
            .Select(g => g.First()).ToList()
            .GroupBy(wpm => wpm.WeddingPartyMemberTypeId)
            .Select(g => g.ToList())
            .ToList());
 }