public ActionResult AddMerchant(AddMerchantModel MerchantToAdd)
        {
            IMerchantDAO MerchantData = new MerchantDAO();

            if (MerchantToAdd.MerchantID != null)
            {
                if (MerchantData.GetMerchant(MerchantToAdd.MerchantID) != null)
                {
                    ModelState.AddModelError("MerchantID", "Merchant ID already on file");
                }
            }

            if (MerchantToAdd.MerchantUserName != null)
            {
                //if (MerchantData.GetMerchantByUserName(MerchantToAdd.MerchantUserName) != null)
                //    ModelState.AddModelError("UserName", "Merchant User Name already on file");

                IUserDAO UserDAO = new UserDAO();
                if (UserDAO.GetUser(MerchantToAdd.MerchantUserName) != null)
                {
                    ModelState.AddModelError("UserName", "Merchant 'user name' already on file");
                }
            }
            if (ModelState.IsValid)
            {
                // Attempt to add the merchant
                try
                {
                    String AgentUserName = (String)Session["AgentUserName"];
                    if (AgentUserName == null)
                    {
                        AgentUserName = User.Identity.Name;
                    }
                    if (AgentUserName.Length == 0)
                    {
                        AgentUserName = User.Identity.Name;
                    }
                    bool createStatus = MerchantServiceInstance.AddMerchant(MerchantToAdd,
                                                                            AgentUserName, Roles.IsUserInRole(AgentUserName, "Agent"));

                    if (createStatus == true)
                    {
                        ModelState.AddModelError("", "Merchant Created");
                    }
                    else
                    {
                        ModelState.AddModelError("", "Failed to create the merchant");
                    }
                }
                catch (Exception Ex)
                {
                    ModelState.AddModelError("", Common.StandardExceptionErrorMessage(Ex));
                }
            }
            // If we got this far, something failed, redisplay form

            return(View(MerchantToAdd));
        }
Пример #2
0
        public async Task <bool> Delete(Merchant Merchant)
        {
            MerchantDAO MerchantDAO = await DataContext.Merchant.Where(x => x.Id == Merchant.Id).FirstOrDefaultAsync();

            DataContext.Merchant.Remove(MerchantDAO);
            await DataContext.SaveChangesAsync();

            return(true);
        }
Пример #3
0
        public async Task <bool> Update(Merchant Merchant)
        {
            MerchantDAO MerchantDAO = DataContext.Merchant.Where(x => x.Id == Merchant.Id).FirstOrDefault();

            MerchantDAO.Id            = Merchant.Id;
            MerchantDAO.Name          = Merchant.Name;
            MerchantDAO.Phone         = Merchant.Phone;
            MerchantDAO.ContactPerson = Merchant.ContactPerson;
            MerchantDAO.Address       = Merchant.Address;
            await DataContext.SaveChangesAsync();

            return(true);
        }
        List <CardHistory> IHistoryDAO.GetMerchantHistory(int MerchantToList, int Page, int PageSize)
        {
            using (var GiftEntity = new GiftEntities())
            {
                IMerchantDAO       MerchantData = new MerchantDAO();
                List <CardHistory> Histories    = new List <CardHistory>();
                ICardRepository    CardData     = new CardRepository(GiftEntity);
                Merchant           MerchToList  = MerchantData.GetMerchant(MerchantToList);
                if (MerchToList == null)
                {
                    return(Histories);
                }
                Guid MerchantToListGUID = MerchToList.MerchantGUID;

                var MerchHistories = (from m in GiftEntity.Histories
                                      where m.WhichMerchantGUID == MerchantToListGUID
                                      orderby m.ID descending
                                      select m
                                      ).Skip(Page * PageSize).Take(PageSize);

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

                foreach (var Hist in MerchHistories)
                {
                    string CardNumber = (from c in GiftEntity.Cards
                                         where c.CardGUID == Hist.CardGUID
                                         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.WhichMerchantGUID
                                        select m.MerchantName).FirstOrDefault();
                    Chist.Clerk       = Hist.Clerk;
                    Chist.When        = Hist.WhenHappened;
                    Chist.TransType   = Hist.TransType;
                    Chist.Transaction = ConvertTransactionType(Hist.TransType);
                    Chist.Amount      = Hist.Amount;
                    Chist.Text        = Hist.TransactionText;
                    //Chist.Card2 = Hist.Card2;
                    Chist.InvoiceNumber = Hist.InvoiceNumber;
                    Histories.Add(Chist);
                }
                return(Histories);
            }
        }
        bool ICLerkService.AddClerk(String MerchantID, AddClerkModel WebPageData)
        {
            String ResultMessage = "";

            using (GiftEntities GiftEntity = new GiftEntities())
            {
                IClerkDAO ClerkData  = new ClerkDAO(GiftEntity);
                Clerk     ClerkToAdd = new Clerk();


                // verify that this is not a duplicate clerk at this merchant location

                IMerchantDAO MerchantData = new MerchantDAO(GiftEntity);
                Merchant     Merch        = MerchantData.GetMerchant(MerchantID);
                Clerk        Duplicate    = ClerkData.GetClerk(Merch.MerchantGUID, WebPageData.ClerkID);
                if (Duplicate != null)
                {
                    throw new Exception("Clerk ID already in system");
                }

                // this is something that would make sense to have in a transaction
                // but to do that would require a DAO that can have the
                // connection defined outside of it.

                String ClerkUserName = GetUniqueClerkUserName(WebPageData.ClerkName);
                ClerkToAdd.Whom     = WebPageData.ClerkName;
                ClerkToAdd.ClerkID  = WebPageData.ClerkID;
                ClerkToAdd.UserName = ClerkUserName;
                ClerkData.CreateClerk(MerchantID, ClerkToAdd);

                String ClerkEmail = GetUniqueClerkEmail(MerchantID, ClerkUserName);

                // we also need to define this "user name" in the system

                MembershipUser user = AddClerkToUsers(ClerkUserName, ClerkEmail, WebPageData.ClerkPassword, out ResultMessage);
                if (user == null)
                {
                    throw new Exception(ResultMessage);
                }

                // and give it the clerk role

                AddUserToClerkRole(ClerkUserName);
            }
            return(true);
        }
Пример #6
0
        public async Task <bool> Create(Merchant Merchant)
        {
            MerchantDAO MerchantDAO = new MerchantDAO();

            MerchantDAO.Id            = Merchant.Id;
            MerchantDAO.Name          = Merchant.Name;
            MerchantDAO.Phone         = Merchant.Phone;
            MerchantDAO.ContactPerson = Merchant.ContactPerson;
            MerchantDAO.Address       = Merchant.Address;

            await DataContext.Merchant.AddAsync(MerchantDAO);

            await DataContext.SaveChangesAsync();

            Merchant.Id = MerchantDAO.Id;
            return(true);
        }
        // we are mixing in both data field validation and content validation

        bool ITerminalService.ValidateMerchantID(String MerchantID, out String Message)
        {
            // first do data field validation

            Message = "NO MERCH ID";
            if (MerchantID == null)
            {
                return(false);
            }
            Message = "BAD MERCH ID";
            if (MerchantID.Length > 46)
            {
                return(false);
            }
            MerchantIDAttribute MerchantTest = new MerchantIDAttribute();

            if (!(MerchantTest.IsValid(MerchantID)))
            {
                return(false);
            }

            // then check the database to see if this merchant id is valid
            Message = "MID NOT FOUND";

            using (GiftEntities GiftEntity = new GiftEntities())
            {
                IMerchantDAO MerchantData = new MerchantDAO(GiftEntity);
                Merchant     Merch        = MerchantData.GetMerchant(MerchantID);
                if (Merch == null)
                {
                    return(false);
                }
                Message = "MID NOT ACTIVE";
                if (Merch.GiftActive != "A")
                {
                    return(false);
                }

                return(true);
            }
        }
Пример #8
0
        // F o r m a t  L o y a l t y  R e c e i p t

        Receipt ITransactionService.FormatLoyaltyReceipt(ReceiptInformation RecInfo)
        {
            Merchant Merch;
            Receipt  aRec = new Receipt();

            using (GiftEntities GiftEntity = new GiftEntities())
            {
                IMerchantDAO MerchantData = new MerchantDAO(GiftEntity);
                Merch = MerchantData.GetMerchant(RecInfo.MerchantID);


                // format the header lines

                aRec.AddCentered(Merch.ReceiptHeaderLine1);
                aRec.AddCentered(Merch.ReceiptHeaderLine2);
                aRec.AddCentered(Merch.ReceiptHeaderLine3);
                aRec.AddCentered(Merch.ReceiptHeaderLine4);
                aRec.AddCentered(Merch.ReceiptHeaderLine5);

                // format the date & time line

                String TransactionDate;
                String TransactionTime;

                if (RecInfo.LocalTime != null)
                {
                    TransactionDate = RecInfo.LocalTime.ToShortDateString();
                    TransactionTime = RecInfo.LocalTime.ToShortTimeString();
                }
                else
                {
                    TransactionDate = RecInfo.When.ToShortDateString();
                    TransactionTime = RecInfo.When.ToShortTimeString();
                }
                aRec.JustifyBoth(TransactionDate, TransactionTime);
                if (RecInfo.TransactionNumber > 0)
                {
                    aRec.AddCentered("#: " + RecInfo.TransactionNumber.ToString());
                }

                // format the transaction type

                aRec.Add("");
                aRec.AddCentered(RecInfo.TransactionType);//Utils.getMappedMessage("Activate"));
                if (RecInfo.ApprovalMessage != null)
                {
                    if (RecInfo.ApprovalMessage.Length > 0)
                    {
                        aRec.AddCentered(RecInfo.ApprovalMessage);
                    }
                }

                aRec.Add("");
                if (RecInfo.CardNumber != null)
                {
                    if (RecInfo.CardNumber.Length > 0)
                    {
                        aRec.AddCentered("Account " + //Utils.getMappedMessage("Account") + " "
                                         aRec.GetPrintableCardNumber(RecInfo.CardNumber));
                    }
                    else
                    {
                        aRec.AddCentered("Phone: " + //Utils.getMappedMessage("Phone:") + " "
                                         RecInfo.PhoneNumber);
                    }
                }
                else
                {
                    aRec.AddCentered("Phone: " + //Utils.getMappedMessage("Phone:") + " "
                                     RecInfo.PhoneNumber);
                }


                // format the amount line

                if (RecInfo.Amount != null)
                {
                    aRec.Add("");
                    aRec.AddCentered("Amount: " + RecInfo.Amount); //Utils.getMappedMessage("Amount") + amount);
                }
                if (RecInfo.Description != null)
                {
                    if (RecInfo.Description.Length > 0)
                    {
                        aRec.Add("");
                        aRec.AddCentered(RecInfo.Description);
                    }
                }
                if (RecInfo.AdditionalMessage != null)
                {
                    if (RecInfo.AdditionalMessage.Length > 0)
                    {
                        aRec.Add("");
                        aRec.AddCentered(RecInfo.AdditionalMessage);
                    }
                }

                // add the footer lines

                aRec.Add("");
                aRec.Add(Merch.ReceiptFooterLine1);
                aRec.Add(Merch.ReceiptFooterLine2);
            }
            return(aRec);
        }