/// <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); }
///// <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)); }
///// <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)); }
///// <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)); }
///// <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()); }