using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Authorization; using Microsoft.EntityFrameworkCore; using rockfishCore.Models; using System.IO; namespace rockfishCore.Util { public static class CustomerUtils { /// /// Adds email if not already present, handles trimming and check for duplicates etc /// **DOES NOT CALL SAVE ON CONTEXT, CALLER IS RESPONSIBLE** /// /// /// public static void AddAdminEmailIfNotPresent(Customer cust, string newEmail) { AddEmailIfNotPresent(cust, newEmail, true); } /// /// Adds email if not already present, handles trimming and check for duplicates etc /// **DOES NOT CALL SAVE ON CONTEXT, CALLER IS RESPONSIBLE** /// /// /// public static void AddSupportEmailIfNotPresent(Customer cust, string newEmail) { AddEmailIfNotPresent(cust, newEmail, false); } /// /// Adds email if not already present, handles trimming and check for duplicates etc /// **DOES NOT CALL SAVE ON CONTEXT, CALLER IS RESPONSIBLE** /// /// /// /// private static void AddEmailIfNotPresent(Customer cust, string newEmail, bool isAdmin) { newEmail = newEmail.Trim(); string newEmailAsLower = newEmail.ToLowerInvariant(); string compareTo = cust.AdminEmail; if (false == isAdmin) compareTo = cust.SupportEmail; bool noPriorAddress = false; if (!string.IsNullOrWhiteSpace(compareTo)) compareTo = compareTo.ToLowerInvariant(); else noPriorAddress = true; //See if email is already present if (false == noPriorAddress && compareTo.Contains(newEmailAsLower)) { return;//skip this one, it's already there } //It's not in the field already so add it if (noPriorAddress) { if (isAdmin) cust.AdminEmail = newEmail; else cust.SupportEmail = newEmail; } else { if (isAdmin) cust.AdminEmail = cust.AdminEmail + ", " + newEmail; else cust.SupportEmail = cust.SupportEmail + ", " + newEmail; } } }//eoc }//eons