DateTime IHistoryDAO.GetFirstTransactionDate(String MerchantID)
        {
            DateTime Results = DateTime.Now;

            using (var GiftEntity = new GiftEntities())
            {
                // start by validating the merchant id

                Merchant Merch = GiftEntity.Merchants.FirstOrDefault(d => d.MerchantID == MerchantID);
                if (Merch == null)
                {
                    return(Results);
                }

                // get the last history item

                History LastHistory = (from h in GiftEntity.Histories
                                       where h.WhichMerchantGUID == Merch.MerchantGUID
                                       orderby h.ID
                                       select h).FirstOrDefault();
                if (LastHistory == null)
                {
                    return(Results);
                }

                Results = LastHistory.WhenHappened;
            }
            return(Results);
        }
示例#2
0
        void ICardHolderService.RegisterNewCard(String CardHolderName, String CardNumber)
        {
            using (GiftEntities GiftEntity = new GiftEntities())
            {
                ICardHolderRepository tCardHolderRepository = new CardHolderRepository(GiftEntity);
                ICardRepository       tCardRespository      = new CardRepository(GiftEntity);
                Card tCard = tCardRespository.GetCard(CardNumber);
                if (tCard == null)
                {
                    throw new Exception("Card not on file");
                }
                if (tCard.Activated != "Y")
                {
                    throw new Exception("Card not activated yet");
                }
                if (tCard.CardHolderGUID != null)
                {
                    throw new Exception("Card already registered to someone else");
                }

                CardHolder tCardHolder = tCardHolderRepository.RegisterThisCard(CardHolderName, tCard.CardGUID);
                if (tCardHolder != null)
                {
                    tCardRespository.RegisterCard(tCardHolder.ID, tCardHolder.CardHolderGUID, CardNumber);
                }
            }
        }
示例#3
0
        //
        // RoleProvider.GetAllRoles
        //

        public override string[] GetAllRoles()
        {
            try
            {
                using (var GiftEntity = new GiftEntities())
                {
                    var Roles = (from r in GiftEntity.Roles
                                 where r.ApplicationName == pApplicationName
                                 select r);

                    List <String> sRoles = new List <string>();
                    foreach (Role g in Roles)
                    {
                        sRoles.Add(g.Rolename);
                    }
                    return(sRoles.ToArray());
                }
            }
            catch (Exception e)
            {
                if (WriteExceptionsToEventLog)
                {
                    WriteToEventLog(e, "GetAllRoles");
                }
                else
                {
                    throw e;
                }
            }
            return(new string[0]);
        }
        List <String> ICardRepository.Dump()
        {
            List <String> Results = new List <string>();


            using (var GiftEntity = new GiftEntities())
            {
                var DBCard = (from c in GiftEntity.Cards
                              select c);
                foreach (Card c in DBCard)
                {
                    String CardLine = "INSERT INTO [CARDS] " +
                                      "(CardGUID,CardNumber, CardNumLast4,  MerchantGUID, " +
                                      "GroupCode, CardholderGUID, Shipped, Activated," +
                                      "GiftBalance, LoyaltyBalance, LoyaltyLifetimePoints, LoyaltyVisits, DateShipped, DateActivated) " +
                                      Environment.NewLine +
                                      "Values (" +
                                      "'" + c.CardGUID.ToString() + "'," +
                                      "'" + c.CardNumber + "'," +
                                      "'" + c.CardNumLast4 + "'," +
                                      "'" + c.MerchantGUID + "'," +
                                      "'" + c.CardHolderGUID + "'," +
                                      "'" + c.Shipped + "'," +
                                      "'" + c.Activated + "'," +
                                      "'" + c.GiftBalance + "'," +
                                      "'" + c.DateShipped + "'," +
                                      "'" + c.DateActivated + "'"
                                      + ");";

                    Results.Add(CardLine);
                }
            }

            return(Results);
        }
        List <CardHistory> IHistoryDAO.GetCardHistory(String CardToSearchFor)
        {
            using (var GiftEntity = new GiftEntities())
            {
                List <CardHistory> Histories = new List <CardHistory>();
                ICardRepository    CardData  = new CardRepository(GiftEntity);
                Card WhichCard = CardData.GetCard(CardToSearchFor);
                if (WhichCard == null)
                {
                    return(Histories);
                }
                var CardHistories = from c in GiftEntity.Histories
                                                                           //join c2 in GiftEntity.Cards on c.Card2 equals c2.ID
                                    where c.CardGUID == WhichCard.CardGUID //||
                                                                           //c.Card2 == WhichCard.ID
                                    select new
                {
                    ID         = c.ID,
                    CardGUID   = c.CardGUID,
                    TransType  = c.TransType,
                    When       = c.WhenHappened,
                    Amount     = c.Amount,
                    MerchWhere = c.WhichMerchantGUID,
                    Clrk       = c.Clerk,
                    Text       = c.TransactionText,
                    //Card2 = c2.CardNumber,
                    InvoiceNumber = c.InvoiceNumber
                };

                // need to restructure what we return to the calling program
                if (CardHistories == null)
                {
                    return(Histories);
                }

                foreach (var Hist in CardHistories)
                {
                    string CardNumber = (from c in GiftEntity.Cards
                                         where c.CardGUID == Hist.CardGUID
                                         orderby c.ID descending
                                         select c.CardNumLast4).FirstOrDefault();
                    CardHistory Chist = new CardHistory();
                    Chist.ID         = Hist.ID;
                    Chist.CardNumber = CardNumber;
                    Chist.MerchWhere = (from m in GiftEntity.Merchants
                                        where m.MerchantGUID == Hist.MerchWhere
                                        select m.MerchantName).FirstOrDefault();
                    Chist.Clerk       = Hist.Clrk;
                    Chist.When        = Hist.When;
                    Chist.TransType   = Hist.TransType;
                    Chist.Transaction = ConvertTransactionType(Hist.TransType);
                    Chist.Amount      = Hist.Amount;
                    Chist.Text        = Hist.Text;
                    //Chist.Card2 = Hist.Card2;
                    Chist.InvoiceNumber = Hist.InvoiceNumber;
                    Histories.Add(Chist);
                }
                return(Histories);
            }
        }
        // I want to do this in classes that inherit from this
        //IQueryable<T> List<T>() where T : class;
        //T Get<T>(int id) where T : class;
        //void Create<T>(T entityTOCreate) where T : class;
        //void Edit<T>(T entityToEdit) where T : class;

        protected void InitializeConnection()
        {
            if (GiftEntity == null)
            {
                GiftEntity = new GiftEntities();
            }
        }
        public ActionResult ListThisMerchantCards(String MerchantID)
        {
            List <String> TCards = new List <String>();

            try
            {
                CardRepository tCardRepository = new CardRepository();
                using (GiftEntities GiftEntity = new GiftEntities())
                {
                    var CardListData = (from c in GiftEntity.Cards
                                        where c.MerchantGUID ==
                                        (from m in GiftEntity.Merchants
                                         where m.MerchantID == MerchantID
                                         select m.MerchantGUID).FirstOrDefault()
                                        select c.CardNumber).DefaultIfEmpty();

                    if (CardListData != null)
                    {
                        foreach (String CNum in CardListData)
                        {
                            String CardNum = GiftEncryption.Decrypt(CNum);
                            TCards.Add(CardNum);
                        }
                    }
                }
            }
            catch (Exception Ex)
            {
                ModelState.AddModelError("", Common.StandardExceptionErrorMessage(Ex));
            }
            return(View(TCards));
        }
示例#8
0
        EditCardHolderModel ICardHolderService.FindCardHolder(String PhoneNumber, String EmailAddress)
        {
            using (GiftEntities GiftEntity = new GiftEntities())
            {
                EditCardHolderModel   WebData = new EditCardHolderModel();
                CardHolder            CardH   = new CardHolder();
                ICardHolderRepository tCardHolderRepository = new CardHolderRepository(GiftEntity);
                if (PhoneNumber != null)
                {
                    CardH = tCardHolderRepository.GetCardHolderByPhoneNumber(PhoneNumber);
                    if (CardH != null)
                    {
                        tCardHolderRepository.MoveToWebFormat(WebData, CardH);
                    }
                    else
                    {
                        return(null);
                    }
                }
                else
                {
                    CardH = tCardHolderRepository.GetCardholderByEmail(EmailAddress);
                    if (CardH != null)
                    {
                        tCardHolderRepository.MoveToWebFormat(WebData, CardH);
                    }
                    else
                    {
                        return(null);
                    }
                }

                return(WebData);
            }
        }
示例#9
0
        List <CardHolderHistoryItem> ICardHolderService.GetCardHistory(String CardHolderName, int CardID)
        {
            using (GiftEntities GiftEntity = new GiftEntities())
            {
                List <CardHolderHistoryItem> Results = new List <CardHolderHistoryItem>();
                ICardHolderRepository        tCardHolderRepository = new CardHolderRepository(GiftEntity);
                CardHolder  DBCardHolder       = tCardHolderRepository.GetCardHolder(CardHolderName);
                IHistoryDAO tHistoryRepository = new HistoryDAO(GiftEntity);

                List <CardHistory> cHistory = tHistoryRepository.GetCardHistory(CardID);
                foreach (CardHistory ch in cHistory)
                {
                    if (ch.TransType != "SHIP")
                    {
                        CardHolderHistoryItem HI = new CardHolderHistoryItem();
                        HI.When         = ch.When.ToShortDateString();
                        HI.Where        = ch.MerchWhere;
                        HI.WhatHappened = ch.Transaction;
                        HI.Amount       = ch.Amount.ToString();
                        if (ch.PointsGranted != null)
                        {
                            HI.PointsAwarded = ch.PointsGranted.ToString();
                        }
                        HI.Description = ch.Text;
                        Results.Add(HI);
                    }
                }
                return(Results);
            }
        }
示例#10
0
 bool IPriceService.UpdatePrice(EditPriceModel WebPageData)
 {
     using (var GiftEntity = new GiftEntities())
     {
         int   IdToSearchFor = Convert.ToInt32(WebPageData.DatabaseID);
         Price PriceToUpdate = (from c in GiftEntity.Prices
                                where c.ID == IdToSearchFor
                                select c).FirstOrDefault();
         if (PriceToUpdate == null)
         {
             throw new Exception("Trying to update a Price that does not exist");
         }
         PriceToUpdate.PricingName                = WebPageData.PricingName;
         PriceToUpdate.CardPrice                  = Convert.ToDecimal(WebPageData.CardPrice);
         PriceToUpdate.TransactionPrice           = Convert.ToDecimal(WebPageData.TransactionPrice);
         PriceToUpdate.SupportTransactionPrice    = Convert.ToDecimal(WebPageData.SupportTransactionPrice);
         PriceToUpdate.GiftMonthlyFee             = Convert.ToDecimal(WebPageData.GiftMonthlyFee);
         PriceToUpdate.CardholderMonthlyFee       = Convert.ToDecimal(WebPageData.CardholderMonthlyFee);
         PriceToUpdate.CardHolderPercentageCharge = Convert.ToInt32(WebPageData.CardHolderPercentageCharge);
         PriceToUpdate.AfterXMonths               = Convert.ToInt32(WebPageData.AfterXMonths);
         //GiftEntity.Prices.ApplyCurrentValues(PriceToUpdate);
         GiftEntity.SaveChanges(); //SaveOptions.AcceptAllChangesAfterSave
         return(true);
     }
 }
 Card ICardService.Getcard(String CardToFind)
 {
     using (GiftEntities GiftEntity = new GiftEntities())
     {
         ICardRepository CardData = new CardRepository(GiftEntity);
         return(CardData.GetCard(CardToFind));
     }
 }
示例#12
0
 void ICardHolderService.UpdateCardHolder(EditCardHolderModel WebData, String CardHolderName)
 {
     using (var GiftEntity = new GiftEntities())
     {
         ICardHolderRepository tCardHolderRepository = new CardHolderRepository(GiftEntity);
         tCardHolderRepository.UpdateCardHolder(WebData, CardHolderName);
     }
 }
        LastHistoryItem IHistoryDAO.GetLastHistoryItem(String MerchantID, long TransactionID)
        {
            LastHistoryItem Results = new LastHistoryItem();

            Results.LastItem     = new CardHistory();
            Results.ResponseCode = 'E';
            Results.ErrorCode    = "MIDER"; // - merchant id error

            using (var GiftEntity = new GiftEntities())
            {
                // start by validating the merchant id

                Merchant Merch = GiftEntity.Merchants.FirstOrDefault(d => d.MerchantID == MerchantID);
                if (Merch == null)
                {
                    return(Results);
                }

                // get the last history item

                History LastHistory;
                if (TransactionID != 0L)
                {
                    LastHistory = (from h in GiftEntity.Histories
                                   where h.WhichMerchantGUID == Merch.MerchantGUID &&
                                   h.ErrorCode == "APP  " &&
                                   h.ID == TransactionID
                                   select h).FirstOrDefault();
                }
                else
                {
                    LastHistory = (from h in GiftEntity.Histories
                                   where h.WhichMerchantGUID == Merch.MerchantGUID &&
                                   h.ErrorCode == "APP  "
                                   orderby h.ID descending
                                   select h).FirstOrDefault();
                }
                if (LastHistory == null)
                {
                    Results.ErrorCode = "NOTRN";
                    return(Results);
                }

                // get the rest of the information

                Results.LastItem.CardNumber = (from c in GiftEntity.Cards
                                               where c.CardGUID == LastHistory.CardGUID
                                               select c.CardNumLast4).FirstOrDefault();
                Results.LastItem.TransType   = LastHistory.TransType;
                Results.LastItem.Transaction = ConvertTransactionType(LastHistory.TransType);
                Results.LastItem.When        = LastHistory.WhenHappened;
                Results.LastItem.Amount      = LastHistory.Amount;
                Results.LastItem.Text        = LastHistory.TransactionText;
                Results.ResponseCode         = 'A';
            }
            return(Results);
        }
示例#14
0
 bool IClerkDAO.UpdateClerk(Clerk ToUpdate)
 {
     using (var GiftEntity = new GiftEntities())
     {
         GiftEntity.Clerks.Attach(ToUpdate);
         GiftEntity.SaveChanges(); //SaveOptions.AcceptAllChangesAfterSave
         return(true);
     }
 }
示例#15
0
        //
        // RoleProvider.RemoveUsersFromRoles
        //

        public override void RemoveUsersFromRoles(string[] usernames, string[] rolenames)
        {
            foreach (string rolename in rolenames)
            {
                if (!RoleExists(rolename))
                {
                    throw new ProviderException("Role name not found.");
                }
            }

            foreach (string username in usernames)
            {
                foreach (string rolename in rolenames)
                {
                    if (!IsUserInRole(username, rolename))
                    {
                        throw new ProviderException("User is not in role.");
                    }
                }
            }


            try
            {
                using (var GiftEntity = new GiftEntities())
                {
                    foreach (string username in usernames)
                    {
                        foreach (string rolename in rolenames)
                        {
                            var nRole = (from r in GiftEntity.UsersInRoles
                                         where r.Rolename == rolename &&
                                         r.Username == username &&
                                         r.ApplicationName == pApplicationName
                                         select r).FirstOrDefault();
                            if (nRole == null)
                            {
                                continue;
                            }
                            GiftEntity.UsersInRoles.Remove(nRole);
                        }
                    }
                    GiftEntity.SaveChanges();
                }
            }
            catch (Exception e)
            {
                if (WriteExceptionsToEventLog)
                {
                    WriteToEventLog(e, "RemoveUsersFromRoles");
                }
                else
                {
                    throw e;
                }
            }
        }
示例#16
0
 CardHolder ICardHolderRepository.GetCardHolder(int ID)
 {
     using (var GiftEntity = new GiftEntities())
     {
         CardHolder DBCardHolder = (from c in GiftEntity.CardHolders
                                    where c.ID == ID
                                    select c).FirstOrDefault();
         return(DBCardHolder);
     }
 }
示例#17
0
        /// <summary>
        /// Gets a single cardholder for editing
        /// </summary>
        /// <param name="CardHolderName"></param>
        /// <returns></returns>
        EditCardHolderModel ICardHolderService.GetCardHolder(String CardHolderName)
        {
            using (GiftEntities GiftEntity = new GiftEntities())
            {
                ICardHolderRepository tCardHolderRepository = new CardHolderRepository(GiftEntity);
                EditCardHolderModel   WebData = tCardHolderRepository.GetWebCardHolder(CardHolderName);

                return(WebData);
            }
        }
 User IUserDAO.GetUser(String UserName)
 {
     using (var GiftEntity = new GiftEntities())
     {
         User DBUser = (from c in GiftEntity.Users
                        where c.UserName == UserName
                        select c).FirstOrDefault();
         return(DBUser);
     }
 }
        int IUserDAO.GetUserCount()
        {
            int count;

            using (var GiftEntity = new GiftEntities())
            {
                count = (from c in GiftEntity.Users select c).Count();
            }
            return(count);
        }
示例#20
0
 Clerk IClerkDAO.GetClerk(int ID)
 {
     using (var GiftEntity = new GiftEntities())
     {
         Clerk DBClerk = (from c in GiftEntity.Clerks
                          where c.ID == ID
                          select c).FirstOrDefault();
         return(DBClerk);
     }
 }
示例#21
0
        int ICardHolderRepository.GetCardHolderCount()
        {
            int count;

            using (var GiftEntity = new GiftEntities())
            {
                count = (from c in GiftEntity.CardHolders select c).Count();
            }
            return(count);
        }
 bool IUserDAO.CreateUser(User UserToAdd)
 {
     using (var GiftEntity = new GiftEntities())
     {
         UserToAdd.PKID = Guid.NewGuid();
         GiftEntity.Users.Add(UserToAdd);
         GiftEntity.SaveChanges();
         return(true);
     }
 }
 User IUserDAO.GetUser(Guid ID)
 {
     using (var GiftEntity = new GiftEntities())
     {
         User DBUser = (from c in GiftEntity.Users
                        where c.PKID == ID
                        select c).FirstOrDefault();
         return(DBUser);
     }
 }
示例#24
0
        bool IPriceService.DeletePrice(int PriceID)
        {
            using (var GiftEntity = new GiftEntities())
            {
                IPriceDAO PriceData = new PriceDAO(GiftEntity);
                PriceData.DeletePrice(PriceID);
            }

            return(true);
        }
 void IHistoryDAO.DeleteHistoryItem(int ID)
 {
     using (var GiftEntity = new GiftEntities())
     {
         History DBHistory = (from c in GiftEntity.Histories
                              where c.ID == ID
                              select c).FirstOrDefault();
         GiftEntity.Histories.Remove(DBHistory);
         GiftEntity.SaveChanges();
     }
 }
示例#26
0
        CardHolder ICardHolderRepository.GetCardHolder(String CardHolderName)
        {
            String EncryptedCardHolderName = GiftEncryption.Encrypt(CardHolderName);

            using (var GiftEntity = new GiftEntities())
            {
                CardHolder DBCardHolder = (from c in GiftEntity.CardHolders
                                           where c.EncryptedCardHolderName == EncryptedCardHolderName
                                           select c).FirstOrDefault();
                return(DBCardHolder);
            }
        }
        User IUserDAO.GetUserByEmail(String email)
        {
            User DBUser = null;

            using (var GiftEntity = new GiftEntities())
            {
                DBUser = (from c in GiftEntity.Users
                          where c.Email == email
                          select c).FirstOrDefault();
            }
            return(DBUser);
        }
        int IUserDAO.GetUserOnlineCount(DateTime Window)
        {
            int count;

            using (var GiftEntity = new GiftEntities())
            {
                count = (from c in GiftEntity.Users
                         where c.LastActivityDate > Window
                         select c).Count();
            }
            return(count);
        }
 List <User> IUserDAO.ListUsers()
 {
     using (var GiftEntity = new GiftEntities())
     {
         List <User> ToReturn = new List <User>();
         foreach (User ch in GiftEntity.Users)
         {
             ToReturn.Add(ch);
         }
         return(ToReturn);
     }
 }
示例#30
0
 List <CardHolder> ICardHolderRepository.ListCardHolders()
 {
     using (var GiftEntity = new GiftEntities())
     {
         List <CardHolder> ToReturn = new List <CardHolder>();
         foreach (CardHolder ch in GiftEntity.CardHolders)
         {
             ToReturn.Add(ch);
         }
         return(ToReturn);
     }
 }