示例#1
0
        public override List <IOrder> Select()
        {
            Source = "sp_FetchOrder";
            string Token = UserProfileObj.GetToken();

            try
            {
                Object[] param =
                {
                    new MySqlParameter("@paramToken", Token)
                };
                DataSet       Output           = Commands.ExecuteQuery(Source, CommandType.StoredProcedure, param);
                List <IOrder> OrderDetailsList = new List <IOrder>();
                foreach (DataRow dr in Output.Tables[0].Rows)
                {
                    IOrder Order = new Order();
                    Order.SetStatusID(Int32.Parse(dr["sID"].ToString()));
                    Order.SetOrderID(Int32.Parse(dr["oID"].ToString()));
                    Order.SetOrderDate(DateTime.Parse(dr["date"].ToString()));
                    Order.SetStatusName(dr["statusName"].ToString());
                    Order.SetOrderType(dr["oTypeName"].ToString());
                    OrderDetailsList.Add(Order);
                }
                return(OrderDetailsList);
            }
            catch (Exception ex)
            {
                Logger.Instance().Log(Fatal.Instance(), ex);
                throw ex;
            }
        }
示例#2
0
 public override List <IAddress> Select()
 {
     Source = "sp_FetchAddress";
     try
     {
         Object[] param =
         {
             new MySqlParameter("@paramToken", UserProfileObj.GetToken())
         };
         DataSet         Output         = Commands.ExecuteQuery(Source, CommandType.StoredProcedure, param);
         List <IAddress> AddressDetails = new List <IAddress>();
         foreach (DataRow dr in Output.Tables[0].Rows)
         {
             IAddress AddressObject = new Address(
                 AddressID: int.Parse(dr["aid"].ToString()),
                 AddressName: dr["addressName"].ToString(),
                 StreetName: dr["streetName"].ToString(),
                 AptNum: dr["appt"].ToString(),
                 PostalCode: dr["postalcode"].ToString(),
                 PhoneNum: dr["phone"].ToString(),
                 City: dr["city"].ToString(),
                 Province: dr["province"].ToString(),
                 CID: int.Parse(dr["cid"].ToString())
                 );
             AddressDetails.Add(AddressObject);
         }
         return(AddressDetails);
     }
     catch (Exception ex)
     {
         Logger.Instance().Log(Fatal.Instance(), ex);
         throw ex;
     }
 }
 public override List <ICardDetails> Select()
 {
     Source = "sp_FetchCardDetails ";
     try
     {
         Object[] param =
         {
             new MySqlParameter("@paramToken", UserProfileObj.GetToken())
         };
         DataSet             Output     = Commands.ExecuteQuery(Source, CommandType.StoredProcedure, param);
         List <ICardDetails> CardDetail = new List <ICardDetails>();
         foreach (DataRow dr in Output.Tables[0].Rows)
         {
             ICardDetails CardObj = new CardDetails();
             CardObj.SetCardID(Int32.Parse(dr["caID"].ToString()));
             CardObj.SetName(dr["CardNameEncrypt"].ToString());
             CardObj.SetCardNumber(dr["CardNumberEncrypt"].ToString());
             CardObj.SetExpiryMonth(dr["ExpiryMonthEncrypt"].ToString());
             CardObj.SetExpiryYear((dr["ExpiryYearEncrypt"].ToString()));
             CardObj.SetCvv((dr["CvvEncrypt"].ToString()));
             CardObj.SetIV(dr["Salt"].ToString());
             CardObj.SetDecryptionKey(dr["DecryptionKey"].ToString());
             CardDetail.Add(CardObj);
         }
         return(CardDetail);
     }
     catch (Exception ex)
     {
         Logger.Instance().Log(Fatal.Instance(), ex);
         throw ex;
     }
 }
示例#4
0
        public DataSet FetchOrderDetailsByTypeAndStatus()
        {
            Source = "sp_FetchOrderDetailsByTypeAndStatus";
            string Token       = UserProfileObj.GetToken();
            string OrderType   = OrderObj.GetOrderType();
            string OrderStatus = OrderObj.GetStatusName();

            try
            {
                Object[] param =
                {
                    new MySqlParameter("@paramToken",     Token),
                    new MySqlParameter("@paramOrderType", OrderType),
                    new MySqlParameter("@paramStatus",    OrderStatus)
                };
                return(Commands.ExecuteQuery(Source, CommandType.StoredProcedure, param));
            }
            catch (MySqlException mse)
            {
                Logger.Instance().Log(Fatal.Instance(), mse);
                throw mse;
            }
            catch (Exception ex)
            {
                Logger.Instance().Log(Fatal.Instance(), ex);
                throw ex;
            }
        }
示例#5
0
 public IUserProfile FetchParticularProfile(IUserProfile UserProfileObj)
 {
     try
     {
         string Token = UserProfileObj.GetToken();
         DATALAYER.UserTemplate <IUserProfile> UserDataLayerTemplate = new DATALAYER.NormalUserTemplate(UserProfileObj);
         DataSet output = UserDataLayerTemplate.FetchProfile(UserProfileObj);
         if (output.Tables[0].Rows.Count > 0)
         {
             UserProfile profile = new UserProfile();
             profile.SetFirstName(output.Tables[0].Rows[0]["firstname"].ToString());
             profile.SetLastName(output.Tables[0].Rows[0]["lastname"].ToString());
             profile.SetEmail(output.Tables[0].Rows[0]["email"].ToString());
             profile.SetIsAdmin(output.Tables[0].Rows[0]["roleName"].ToString() == "ADMIN" ? true : false);
             profile.SetAmountOwe(0);
             profile.SetAmountPaid(0);
             profile.SetToken(Token);
             return(profile);
         }
         else
         {
             return(null);
         }
     }
     catch (Exception ex)
     {
         // log the exception
         Logger.Instance().Log(Fatal.Instance(), ex);
         throw ex;
     }
 }
示例#6
0
        public void AddTokenToDatabase()
        {
            Source = "sp_addToken";
            string Email = UserProfileObj.GetEmail();
            string Token = UserProfileObj.GetToken();

            try
            {
                object[] paramToken =
                {
                    new MySqlParameter("@paramToken", Token),
                    new MySqlParameter("@paramEmail", Email),
                };
                Commands.ExecuteQuery(Source, CommandType.StoredProcedure, paramToken);
            }
            catch (Exception ex)
            {
                Logger.Instance().Log(Fatal.Instance(), ex);
                throw ex;
            }
        }
示例#7
0
        public DataSet FetchProfile(IUserProfile UserProfileObj)
        {
            string Source = "sp_getUserProfile";
            string Token  = UserProfileObj.GetToken();

            try
            {
                object[] parameters =
                {
                    new MySqlParameter("@paramToken", Token)
                };
                DataSet output = MySQLCommands.Instance().ExecuteQuery(Source, CommandType.StoredProcedure, parameters);
                return(output);
            }
            catch (Exception ex)
            {
                Logger.Instance().Log(Fatal.Instance(), ex);
                throw ex;
            }
        }
示例#8
0
        public DataSet CreateOrderID(IAddress AddressObj, ICardDetails CardObj, IUserProfile UserProfileObj)
        {
            string Source = "sp_CreateOrderID";

            try
            {
                object[] paramToken =
                {
                    new MySqlParameter("@aID",        AddressObj.GetAddressID()),
                    new MySqlParameter("@caID",       CardObj.GetCardID()),
                    new MySqlParameter("@paramToken", UserProfileObj.GetToken())
                };
                return(MySQLCommands.Instance().ExecuteQuery(Source, CommandType.StoredProcedure, paramToken));
            }
            catch (Exception ex)
            {
                Logger.Instance().Log(Fatal.Instance(), ex);
                throw ex;
            }
        }
示例#9
0
 public override List <ICardDetails> Select()
 {
     try
     {
         bool Response = new Security(UserProfileObj).AuthenticateUser();
         if (Response == true)
         {
             List <ICardDetails> DecryptedCardDetailsList = new List <ICardDetails>();
             foreach (ICardDetails EncryptedCardObj in CardDetailsDataLayerObj.Select())
             {
                 ICardDetails DecryptedCardDetails = new CardDetails();
                 AESObj.SetIV(EncryptedCardObj.GetIV());
                 AESObj.SetKey(EncryptedCardObj.GetDecryptionKey());
                 DecryptedCardDetails.SetCardID(EncryptedCardObj.GetCardID());
                 DecryptedCardDetails.SetName(AESObj.Decrypt(EncryptedCardObj.GetName()));
                 DecryptedCardDetails.SetCardNumber(AESObj.Decrypt(EncryptedCardObj.GetCardNumber()).ToString());
                 DecryptedCardDetails.SetExpiryMonth(AESObj.Decrypt(EncryptedCardObj.GetExpiryMonth()));
                 DecryptedCardDetails.SetExpiryYear(AESObj.Decrypt(EncryptedCardObj.GetExpiryYear()));
                 DecryptedCardDetails.SetCvv(AESObj.Decrypt(EncryptedCardObj.GetCvv()));
                 DecryptedCardDetailsList.Add(DecryptedCardDetails);
             }
             return(DecryptedCardDetailsList);
         }
         else
         {
             return(null);
         }
     }
     catch (NullReferenceException nex)
     {
         Logger.Instance().Log(Warn.Instance(), new LogInfo("Received null reference while fetching card details (Routine : AuthenticateUser), might be token manipulation. Check token : " + UserProfileObj.GetToken()));
         throw nex;
     }
     catch (Exception ex)
     {
         Logger.Instance().Log(Fatal.Instance(), ex);
         throw ex;
     }
 }
示例#10
0
        public UserProfileMenuResponse GetProfileMenu(string CookieMenu)
        {
            UserProfileMenuResponse ProfileMenu = new UserProfileMenuResponse();
            bool   ShouldFetchProfileFromServer = false;
            string Token = UserProfileObj.GetToken();

            try
            {
                // check if token exists
                if (Token == null)
                {
                    ProfileMenu.IsProfileAvailable = false;
                    return(ProfileMenu);
                }
                else
                {
                    bool response = new Security(UserProfileObj).AuthenticateUser();
                    if (response == false)
                    {
                        ProfileMenu.IsProfileAvailable = false;
                        return(ProfileMenu);
                    }
                    else
                    {
                        if (CookieMenu == null)
                        {
                            ShouldFetchProfileFromServer = true;
                        }
                        else
                        {
                            ProfileMenu = new JavaScriptSerializer().Deserialize <UserProfileMenuResponse>(CookieMenu);
                            if (ProfileMenu.IsProfileAvailable == false)
                            {
                                ShouldFetchProfileFromServer = true;
                            }
                        }
                    }
                }
                // get the profile menu
                if (CookieMenu == null)
                {
                    ShouldFetchProfileFromServer = true;
                }
                else
                {
                    ProfileMenu = new JavaScriptSerializer().Deserialize <UserProfileMenuResponse>(CookieMenu);
                    if (ProfileMenu.ShouldReupdate)
                    {
                        ShouldFetchProfileFromServer = true;
                    }
                }
                if (ShouldFetchProfileFromServer)
                {
                    ProfileMenu.SetUserProfile(new NormalUserTemplate(UserProfileObj).FetchParticularProfile(UserProfileObj));
                    ProfileMenu.IsProfileAvailable = true;
                }
            }
            catch (Exception ex)
            {
                Logger.Instance().Log(Fatal.Instance(), ex);
                ProfileMenu.IsProfileAvailable = false;
                throw ex;
            }

            return(ProfileMenu);
        }
 public override List <ICategory> Select()
 {
     try
     {
         bool Response = new Security(UserProfileObj).AuthenticateAdmin();
         if (Response == true)
         {
             return(CategoryTemplateObj.Select());
         }
         else
         {
             return(null);
         }
     }
     catch (NullReferenceException nex)
     {
         Logger.Instance().Log(Warn.Instance(), new LogInfo("Received null reference while fetching category (Routine : AuthenticateAdmin), might be token manipulation. Check token : " + UserProfileObj.GetToken()));
         throw nex;
     }
     catch (Exception ex)
     {
         Logger.Instance().Log(Fatal.Instance(), ex);
         throw ex;
     }
 }