Ejemplo n.º 1
0
        private static VendorCollection PrepareNewVendorCollection()
        {
            VendorCollection vendors = new VendorCollection();

            //不变的
            vendors.Add(new Vendor()
            {
                Code        = "1",
                Description = "vendor 1",
                Name        = "vendor 1",
                VendorID    = "vendorID1"
            });

            //变化的
            vendors.Add(new Vendor()
            {
                Code        = "2",
                Description = "vendor 22",
                Name        = "vendor 22",
                VendorID    = "vendorID2"
            });

            //增加的
            vendors.Add(new Vendor()
            {
                Code        = "4",
                Description = "vendor 4",
                Name        = "vendor 4",
                VendorID    = "vendorID4"
            });

            return(vendors);
        }
Ejemplo n.º 2
0
        public static Vendor Select(int Id)
        {
            VendorCollection vendors = Vendor.Select($"Id = {Id}", "Id");
            Vendor           vendor  = (vendors.Count == 1) ? vendors[0] : null;

            return(vendor);
        }
Ejemplo n.º 3
0
        private static VendorCollection PrepareOldVendorCollection()
        {
            VendorCollection vendors = new VendorCollection();

            vendors.Add(new Vendor()
            {
                Code        = "1",
                Description = "vendor 1",
                Name        = "vendor 1",
                VendorID    = "vendorID1"
            });

            vendors.Add(new Vendor()
            {
                Code        = "2",
                Description = "vendor 2",
                Name        = "vendor 2",
                VendorID    = "vendorID2"
            });

            //将被删除的
            vendors.Add(new Vendor()
            {
                Code        = "3",
                Description = "vendor 3",
                Name        = "vendor 3",
                VendorID    = "vendorID3"
            });

            return(vendors);
        }
Ejemplo n.º 4
0
        public static bool Insert(Product product)
        {
            string Sql = string.Format("insert into [product] " +
                                       " (VendorId, Name, VendorPartNumber, Price, Unit, PhotoPath) " +
                                       " values " +
                                       " (@VendorId, @Name, @VendorPartNumber, @Price, @Unit, @PhotoPath)");
            //string ConnStr = @"Server=STUDENT05;Database=prs;Trusted_Connection=True;";
            SqlCommand Cmd = CreateConnection(ConnStr, Sql, "Connection didn't open");

            AddSqlInsertUpdateParameters(Cmd, product);

            int recsAffected = ExecuteSqlInsUpdDelCommand(Cmd, "Insert failed!");

            product.Id = GetLastIdGenerated(ConnStr, "Product");

            // get the vendor
            VendorCollection vendors = Vendor.Select("Id = " + product.VendorId, "Id");

            if (vendors.Count > 0)
            {
                product.Vendor = vendors[0];
            }

            Cmd.Connection.Close();
            return(recsAffected == 1);
        }
Ejemplo n.º 5
0
        public void CompareSourceEnumerableObjectNullTest()
        {
            VendorCollection newVendors = PrepareNewVendorCollection();

            ObjectCollectionCompareResult result = ObjectCompareHelper.CompareEnumerableObject(null, newVendors);

            Assert.IsTrue(result.AreDifferent);
            Assert.AreEqual(3, result.Added.Count);

            for (int i = 0; i < newVendors.Count; i++)
            {
                Assert.IsNotNull(result.Added[i].FindByNewPropertyValue("Name", newVendors[i].Name));
            }
        }
Ejemplo n.º 6
0
        public void CompareTargetEnumerableObjectNullTest()
        {
            VendorCollection oldVendors = PrepareOldVendorCollection();

            ObjectCollectionCompareResult result = ObjectCompareHelper.CompareEnumerableObject(oldVendors, null);

            Assert.IsTrue(result.AreDifferent);
            Assert.AreEqual(3, result.Deleted.Count);

            for (int i = 0; i < oldVendors.Count; i++)
            {
                Assert.IsNotNull(result.Deleted[i].FindByOldPropertyValue("Name", oldVendors[i].Name));
            }
        }
Ejemplo n.º 7
0
        //Select
        public static VendorCollection Select(string WhereClause, string OrderByClause)
        {
            string        Sql     = string.Format("SELECT * from [Vendor] WHERE {0} ORDER BY {1}", WhereClause, OrderByClause);
            string        ConnStr = @"Server=STUDENT05;Database=prs;Trusted_Connection=True;";
            SqlConnection Conn    = new SqlConnection(ConnStr);

            Conn.Open();
            if (Conn.State != System.Data.ConnectionState.Open)
            {
                throw new ApplicationException("Connection didn't open");
            }
            SqlCommand    Cmd    = new SqlCommand(Sql, Conn);
            SqlDataReader Reader = Cmd.ExecuteReader();

            if (!Reader.HasRows)
            {
                throw new ApplicationException("Result set has no rows!");
            }
            VendorCollection vendors = new VendorCollection();

            while (Reader.Read())
            {
                int    id            = Reader.GetInt32(Reader.GetOrdinal("Id"));
                string code          = Reader.GetString(Reader.GetOrdinal("Code"));
                string name          = Reader.GetString(Reader.GetOrdinal("Name"));
                string address       = Reader.GetString(Reader.GetOrdinal("Address"));
                string city          = Reader.GetString(Reader.GetOrdinal("City"));
                string state         = Reader.GetString(Reader.GetOrdinal("State"));
                string zip           = Reader.GetString(Reader.GetOrdinal("Zip"));
                string phone         = Reader.GetString(Reader.GetOrdinal("Phone"));
                string email         = Reader.GetString(Reader.GetOrdinal("Email"));
                bool   isRecommended = Reader.GetBoolean(Reader.GetOrdinal("IsRecommended"));

                Vendor vendor = new Vendor();
                vendor.Id            = id;
                vendor.Code          = code;
                vendor.Name          = name;
                vendor.Address       = address;
                vendor.City          = city;
                vendor.State         = state;
                vendor.Zip           = zip;
                vendor.IsRecommended = isRecommended;


                vendors.Add(vendor);
            }
            return(vendors);
        }
        public static VendorCollection LoadForGroup(Int32 groupId, int maximumRows, int startRowIndex, string sortExpression)
        {
            //CREATE THE DYNAMIC SQL TO LOAD OBJECT
            StringBuilder selectQuery = new StringBuilder();

            selectQuery.Append("SELECT");
            if (maximumRows > 0)
            {
                selectQuery.Append(" TOP " + (startRowIndex + maximumRows).ToString());
            }
            selectQuery.Append(" " + Vendor.GetColumnNames("ac_Vendors"));
            selectQuery.Append(" FROM ac_Vendors, ac_VendorGroups");
            selectQuery.Append(" WHERE ac_Vendors.VendorId = ac_VendorGroups.VendorId");
            selectQuery.Append(" AND ac_VendorGroups.GroupId = @groupId");
            selectQuery.Append(" AND StoreId = @storeId");
            if (!string.IsNullOrEmpty(sortExpression))
            {
                selectQuery.Append(" ORDER BY " + sortExpression);
            }
            Database  database      = Token.Instance.Database;
            DbCommand selectCommand = database.GetSqlStringCommand(selectQuery.ToString());

            database.AddInParameter(selectCommand, "@groupId", System.Data.DbType.Int32, groupId);
            database.AddInParameter(selectCommand, "@storeId", System.Data.DbType.Int32, Token.Instance.StoreId);
            //EXECUTE THE COMMAND
            VendorCollection results = new VendorCollection();
            int thisIndex            = 0;
            int rowCount             = 0;

            using (IDataReader dr = database.ExecuteReader(selectCommand))
            {
                while (dr.Read() && ((maximumRows < 1) || (rowCount < maximumRows)))
                {
                    if (thisIndex >= startRowIndex)
                    {
                        Vendor vendor = new Vendor();
                        Vendor.LoadDataReader(vendor, dr);
                        results.Add(vendor);
                        rowCount++;
                    }
                    thisIndex++;
                }
                dr.Close();
            }
            return(results);
        }
Ejemplo n.º 9
0
        public void CompareEnumerableObjectTest()
        {
            VendorCollection oldVendors = PrepareOldVendorCollection();
            VendorCollection newVendors = PrepareNewVendorCollection();

            ObjectCollectionCompareResult result = ObjectCompareHelper.CompareEnumerableObject(oldVendors, newVendors);

            Assert.IsTrue(result.AreDifferent);

            Assert.AreEqual(1, result.Added.Count);
            Assert.AreEqual(1, result.Updated.Count);
            Assert.AreEqual(1, result.Deleted.Count);

            Assert.IsNotNull(result.Updated[0].FindByOldPropertyValue("Name", "vendor 2"));
            Assert.IsNotNull(result.Updated[0].FindByNewPropertyValue("Name", "vendor 22"));

            Assert.IsNotNull(result.Added[0].FindByNewPropertyValue("Name", "vendor 4"));
            Assert.IsNotNull(result.Deleted[0].FindByOldPropertyValue("Name", "vendor 3"));
        }
        public static VendorCollection  LoadForCriteria(string sqlCriteria, int maximumRows, int startRowIndex, string sortExpression)
        {
            //CREATE THE DYNAMIC SQL TO LOAD OBJECT
            StringBuilder selectQuery = new StringBuilder();

            selectQuery.Append("SELECT");
            if (maximumRows > 0)
            {
                selectQuery.Append(" TOP " + (startRowIndex + maximumRows).ToString());
            }
            selectQuery.Append(" " + Vendor.GetColumnNames(string.Empty));
            selectQuery.Append(" FROM ac_Vendors");
            string whereClause = string.IsNullOrEmpty(sqlCriteria) ? string.Empty : " WHERE " + sqlCriteria;

            selectQuery.Append(whereClause);
            if (!string.IsNullOrEmpty(sortExpression))
            {
                selectQuery.Append(" ORDER BY " + sortExpression);
            }
            Database  database      = Token.Instance.Database;
            DbCommand selectCommand = database.GetSqlStringCommand(selectQuery.ToString());
            //EXECUTE THE COMMAND
            VendorCollection results = new VendorCollection();
            int thisIndex            = 0;
            int rowCount             = 0;

            using (IDataReader dr = database.ExecuteReader(selectCommand))
            {
                while (dr.Read() && ((maximumRows < 1) || (rowCount < maximumRows)))
                {
                    if (thisIndex >= startRowIndex)
                    {
                        Vendor vendor = new Vendor();
                        Vendor.LoadDataReader(vendor, dr);
                        results.Add(vendor);
                        rowCount++;
                    }
                    thisIndex++;
                }
                dr.Close();
            }
            return(results);
        }
Ejemplo n.º 11
0
        public VendorCollection GetAllVendorsDynamicCollection(string whereExpression, string orderBy)
        {
            IDBManager       dbm  = new DBManager();
            VendorCollection cols = new VendorCollection();

            try
            {
                dbm.CreateParameters(2);
                dbm.AddParameters(0, "@WhereCondition", whereExpression);
                dbm.AddParameters(1, "@OrderByExpression", orderBy);
                IDataReader reader = dbm.ExecuteReader(CommandType.StoredProcedure, "SelectVendorsDynamic");
                while (reader.Read())
                {
                    Vendor vendor = new Vendor();
                    vendor.VendorID              = Int32.Parse(reader["VendorID"].ToString());
                    vendor.AddressID             = Int32.Parse(reader["AddressID"].ToString());
                    vendor.ActiveFlag            = bool.Parse(reader["ActiveFlag"].ToString());
                    vendor.ContactName           = reader["ContactName"].ToString();
                    vendor.AccountNumber         = reader["AccountNumber"].ToString();
                    vendor.CreditRating          = byte.Parse(reader["CreditRating"].ToString());
                    vendor.PreferredVendorStatus = bool.Parse(reader["PreferredVendorStatus"].ToString());
                    vendor.Name         = reader["Name"].ToString();
                    vendor.Email        = reader["Email"].ToString();
                    vendor.Phone        = reader["Phone"].ToString();
                    vendor.Fax          = reader["Fax"].ToString();
                    vendor.ModifiedDate = DateTime.Parse(reader["ModifiedDate"].ToString());
                    vendor.AltPhone     = reader["AltPhone"].ToString();
                    vendor.Terms        = reader["Terms"].ToString();
                    cols.Add(vendor);
                }
            }
            catch (Exception ex)
            {
                log.Write(ex.Message, "GetAllVendorsDynamicCollection");
                throw (ex);
            }
            finally
            {
                dbm.Dispose();
            }
            return(cols);
        }
Ejemplo n.º 12
0
        public VendorCollection GetAllVendorsCollection()
        {
            IDBManager       dbm  = new DBManager();
            VendorCollection cols = new VendorCollection();

            try
            {
                IDataReader reader = dbm.ExecuteReader(CommandType.StoredProcedure, "SelectVendorsAll");
                while (reader.Read())
                {
                    Vendor vendor = new Vendor();
                    vendor.VendorID              = Int32.Parse(reader["VendorID"].ToString());
                    vendor.ActiveFlag            = Boolean.Parse(reader["ActiveFlag"].ToString());
                    vendor.ContactName           = reader["ContactName"].ToString();
                    vendor.AccountNumber         = reader["AccountNumber"].ToString();
                    vendor.CreditRating          = Byte.Parse(reader["CreditRating"].ToString());
                    vendor.PreferredVendorStatus = Boolean.Parse(reader["PreferredVendorStatus"].ToString());
                    vendor.Name         = reader["Name"].ToString();
                    vendor.Email        = reader["Email"].ToString();
                    vendor.Phone        = reader["Phone"].ToString();
                    vendor.Fax          = reader["Fax"].ToString();
                    vendor.AddressID    = Int32.Parse(reader["AddressID"].ToString());
                    vendor.ModifiedDate = DateTime.Parse(reader["ModifiedDate"].ToString());
                    vendor.AltPhone     = reader["AltPhone"].ToString();
                    vendor.Terms        = reader["Terms"].ToString();
                    cols.Add(vendor);
                }
            }
            catch (Exception ex)
            {
                log.Write(ex.Message, "GetAllVendorsCollection");
                throw (ex);
            }
            finally
            {
                dbm.Dispose();
            }
            return(cols);
        }
Ejemplo n.º 13
0
        private string GetVendorName(int VendorId)
        {
            string           ret  = "";
            VendorCollection vend = (VendorCollection)cmbPrimaryVendor.DataSource;

            foreach (Vendor v in vend)
            {
                if (v.VendorID == VendorId)
                {
                    ret = v.Name;
                }
            }
            // DataSet dt = (DataSet)cmbPrimaryVendor.DataSource;
            //for (int i = 0; i < dt.Tables[0].Rows.Count; i++)
            //{
            //    if (VendorId == Int32.Parse(dt.Tables[0].Rows[i]["VendorId"].ToString()))
            //    {
            //        ret = dt.Tables[0].Rows[i]["Name"].ToString();
            //    }
            //}
            return(ret);
        }
Ejemplo n.º 14
0
        private void LoadVendors(int PrimaryVendor, int SecondaryVendor)
        {
            Vendor           v         = new Vendor();
            VendorCollection Primary   = new VendorCollection();
            VendorCollection Secondary = new VendorCollection();

            try
            {
                Primary = v.GetAllVendorsCollection();
                //Secondary = v.GetAllVendorsCollection();
                Primary.Insert(0, new Vendor(0, 0, "", "<Select One>", "", 1, false, "", "", "", false, DateTime.Today, "", ""));
                cmbPrimaryVendor.DataSource    = Primary;
                cmbPrimaryVendor.DisplayMember = "Name";
                cmbPrimaryVendor.ValueMember   = "VendorId";

                foreach (Vendor vend in Primary)
                {
                    Secondary.Add(vend);
                }
                //Primary.Insert(0, new Vendor(0, 0, "", "<Select One>", "", 1, false, "", "", "", false, DateTime.Today, "", ""));
                cmbSecondaryVendor.DataSource    = Secondary;
                cmbSecondaryVendor.DisplayMember = "Name";
                cmbSecondaryVendor.ValueMember   = "VendorId";
            }
            catch (Exception ex)
            {
                log.Write(ex.Message, "");
                MessageBox.Show(ex.Message);
            }
            finally
            {
                v         = null;
                Primary   = null;
                Secondary = null;
            }
        }
Ejemplo n.º 15
0
        private static VendorCollection PrepareNewVendorCollection()
        {
            VendorCollection vendors = new VendorCollection();

            //不变的
            vendors.Add(new Vendor()
            {
                Code = "1",
                Description = "vendor 1",
                Name = "vendor 1",
                VendorID = "vendorID1"
            });

            //变化的
            vendors.Add(new Vendor()
            {
                Code = "2",
                Description = "vendor 22",
                Name = "vendor 22",
                VendorID = "vendorID2"
            });

            //增加的
            vendors.Add(new Vendor()
            {
                Code = "4",
                Description = "vendor 4",
                Name = "vendor 4",
                VendorID = "vendorID4"
            });

            return vendors;
        }
Ejemplo n.º 16
0
        private static VendorCollection PrepareOldVendorCollection()
        {
            VendorCollection vendors = new VendorCollection();

            vendors.Add(new Vendor()
            {
                Code = "1",
                Description = "vendor 1",
                Name = "vendor 1",
                VendorID = "vendorID1"
            });

            vendors.Add(new Vendor()
            {
                Code = "2",
                Description = "vendor 2",
                Name = "vendor 2",
                VendorID = "vendorID2"
            });

            //将被删除的
            vendors.Add(new Vendor()
            {
                Code = "3",
                Description = "vendor 3",
                Name = "vendor 3",
                VendorID = "vendorID3"
            });

            return vendors;
        }
Ejemplo n.º 17
0
        static void Main(string[] args)
        {
            string        ConnStr = @"Server=STUDENT05;Database=prs;Trusted_Connection=True;";
            SqlConnection Conn    = new SqlConnection(ConnStr);

            Conn.Open();
            if (Conn.State != System.Data.ConnectionState.Open)
            {
                throw new ApplicationException("Connection didn't open");
            }


            //            //insert
            //            string SqlInsert = @"insert [user] (UserName, Password, FirstName, LastName, Phone, Email, IsAdmin, IsReviewer)
            //values(@username, @password, @firstname, @lastname, @phone, @email, @isadmin, @isreviewer)";
            //            SqlCommand CmdInsert = new SqlCommand(SqlInsert, Conn); // creating new command'
            //            CmdInsert.Parameters.Add(new SqlParameter("@username", "acobb"));
            //            CmdInsert.Parameters.Add(new SqlParameter("@isadmin", "1"));
            //            CmdInsert.Parameters.Add(new SqlParameter("@password", "password"));
            //            CmdInsert.Parameters.Add(new SqlParameter("@firstname", "alex"));
            //            CmdInsert.Parameters.Add(new SqlParameter("@lastname", "cobb"));
            //            CmdInsert.Parameters.Add(new SqlParameter("@phone", "513-592-0744"));
            //            CmdInsert.Parameters.Add(new SqlParameter("@email", "*****@*****.**"));
            //            CmdInsert.Parameters.Add(new SqlParameter("@isreviewer", "1"));
            //            int recsAffected = CmdInsert.ExecuteNonQuery();
            //            if(recsAffected != 1) { // checking if the operation works
            //                throw new ApplicationException("Insert failed!");
            //            }

            //Select - using UserCollection class
            string         whereClause   = "Id = 3";
            string         orderByClause = "Username desc";
            UserCollection users         = User.Select(whereClause, orderByClause);
            User           user          = users[0];

            user.FirstName = "Alex";
            bool success = User.Update(user);

            success = User.Delete(user);
            //Insert function
            User user2Insert = new User {
                UserName   = "******",
                Password   = "******",
                FirstName  = "alex",
                LastName   = "cobb",
                Phone      = "5135920744",
                Email      = "*****@*****.**",
                IsReviewer = false,
                IsAdmin    = false
            };

            success = User.Insert(user2Insert);


            VendorCollection vendors = Vendor.Select("1 - 1", "Id");
            Vendor           vendor  = new Vendor {
                Code          = "Krog0002",
                Name          = "Kroger",
                Address       = "123 Any St.",
                City          = "Cincinnati", State = "OH", Zip = "45201",
                Email         = "*****@*****.**", Phone = "513-555-1212",
                IsRecommended = true
            };
            bool rc = Vendor.Insert(vendor);

            vendors     = Vendor.Select("Code = 'Krog0001'", "Code");
            vendor      = vendors[0];
            vendor.Code = "KROG1111";
            rc          = Vendor.Update(vendor);
            rc          = Vendor.Delete(vendor);
            int i = 0;
        }
Ejemplo n.º 18
0
        /// <summary>
        /// Generates mail messages for this email template
        /// </summary>
        /// <returns>An array of MailMessage objects generated</returns>
        public MailMessage[] GenerateMailMessages()
        {
            //BUILD AN ARRAY OF MESSAGES TO BE SENT
            List <MailMessage> messages       = new List <MailMessage>();
            NVelocityEngine    velocityEngine = NVelocityEngine.Instance;

            //PARSE THE ADDRESSES
            bool hasVendor;
            List <MailAddress> addressList = this.ParseAddresses(this.ToAddress, out hasVendor);
            List <MailAddress> ccList      = this.ParseAddresses(this.CCList);
            List <MailAddress> bccList     = this.ParseAddresses(this.BCCList);

            //CHECK FOR TO ADDRESSES
            if (addressList.Count > 0)
            {
                //BUILD MESSAGE GOING TO SPECIFIC ADDRESSES
                MailMessage mailMessage = new MailMessage();
                //ADD TO ADDRESSES
                foreach (MailAddress item in addressList)
                {
                    mailMessage.To.Add(item);
                }
                //ADD CC ADDRESSES
                foreach (MailAddress item in ccList)
                {
                    mailMessage.CC.Add(item);
                }
                //ADD BCC ADDRESSES
                foreach (MailAddress item in bccList)
                {
                    mailMessage.Bcc.Add(item);
                }
                //SET FROM ADDRESS
                mailMessage.From = new MailAddress(this.FromAddress);
                //PROCESS THE SUBJECT AND BODY
                mailMessage.Subject    = velocityEngine.Process(this.Parameters, this.Subject);
                mailMessage.Body       = velocityEngine.Process(this.Parameters, this.Body);
                mailMessage.IsBodyHtml = this.IsHTML;
                messages.Add(mailMessage);
            }

            //PROCESS VENDOR MESSAGES IF WE HAVE AN ORDER CONTEXT
            if (hasVendor && this.Parameters.ContainsKey("order"))
            {
                Order order = (Order)this.Parameters["order"];
                //DECIDE WHICH VENDORS NEED TO HAVE MESSAGES COMPILED
                VendorCollection vendors = VendorDataSource.LoadForOrder(order.OrderId);
                if (vendors.Count > 0)
                {
                    //VENDORS ARE FOUND, WE MUST COMPILE ONE MESSAGE FOR EACH VENDOR
                    foreach (Vendor vendor in vendors)
                    {
                        List <string> emailList = GetValidEmailList(vendor.Email);
                        if (emailList != null && emailList.Count > 0)
                        {
                            //BUILD VENDOR SPECIFIC ITEM COLLECTIONS
                            OrderItemCollection vendorItems            = new OrderItemCollection();
                            OrderItemCollection vendorNonShippingItems = new OrderItemCollection();
                            foreach (OrderItem item in order.Items)
                            {
                                if (item.Product != null)
                                {
                                    //SEE IF THIS IS A PRODUCT THAT BELONGS TO THE VENDOR
                                    if (item.Product.VendorId == vendor.VendorId)
                                    {
                                        vendorItems.Add(item);
                                        if (item.OrderShipmentId == 0)
                                        {
                                            vendorNonShippingItems.Add(item);
                                        }
                                    }
                                }
                                else
                                {
                                    //SEE IF THIS IS A NON-PRODUCT ITEM THAT APPLIES
                                    //E.G. A DISCOUNT ON A VENDOR ITEM
                                    if (vendorItems.IndexOf(item.ParentItemId) > -1)
                                    {
                                        vendorItems.Add(item);
                                        if (item.OrderShipmentId == 0)
                                        {
                                            vendorNonShippingItems.Add(item);
                                        }
                                    }
                                }
                            }
                            //BUILD VENDOR SPECIFIC SHIPMENT COLLECTION
                            OrderShipmentCollection vendorShipments = new OrderShipmentCollection();
                            foreach (OrderItem item in vendorItems)
                            {
                                if ((item.OrderShipment != null) && (vendorShipments.IndexOf(item.OrderShipmentId) < 0))
                                {
                                    vendorShipments.Add(item.OrderShipment);
                                }
                            }
                            //CREATE VENDOR SPECIFIC PARAMETERS
                            Hashtable vendorParameters = new Hashtable(this.Parameters);
                            vendorParameters["Vendor"]                 = vendor;
                            vendorParameters["VendorShipments"]        = vendorShipments;
                            vendorParameters["VendorItems"]            = vendorItems;
                            vendorParameters["VendorNonShippingItems"] = vendorNonShippingItems;
                            //COMPILE VENDOR SPECIFIC MAIL MESSAGE
                            MailMessage mailMessage = new MailMessage();
                            //ADD TO ADDRESSES
                            foreach (string email in emailList)
                            {
                                mailMessage.To.Add(email);
                            }
                            //ADD CC ADDRESSES
                            foreach (MailAddress item in ccList)
                            {
                                mailMessage.CC.Add(item);
                            }
                            //ADD BCC ADDRESSES
                            foreach (MailAddress item in bccList)
                            {
                                mailMessage.Bcc.Add(item);
                            }
                            //SET FROM ADDRESS
                            mailMessage.From = new MailAddress(this.FromAddress);
                            //PROCESS THE SUBJECT AND BODY
                            mailMessage.Subject    = velocityEngine.Process(vendorParameters, this.Subject);
                            mailMessage.Body       = velocityEngine.Process(vendorParameters, this.Body);
                            mailMessage.IsBodyHtml = this.IsHTML;
                            messages.Add(mailMessage);
                        }
                        else
                        {
                            Logger.Warn("Could not process vendor notification for '" + vendor.Name + "'; email address is invalid.");
                        }
                    }
                }
            }
            else
            if (hasVendor && this.Parameters.ContainsKey("vendors"))
            {
                Vendor[]         vendors  = (Vendor[])this.Parameters["vendors"];
                Product[]        products = (Product[])this.Parameters["products"];
                ProductVariant[] variants = (ProductVariant[])this.Parameters["variants"];

                if (vendors != null && vendors.Length > 0)
                {
                    foreach (Vendor vendor in vendors)
                    {
                        List <string> emailList = GetValidEmailList(vendor.Email);
                        if (emailList != null && emailList.Count > 0)
                        {
                            List <Product>        vendorProducts = new List <Product>();
                            List <ProductVariant> vendorVariants = new List <ProductVariant>();

                            if (products != null)
                            {
                                foreach (Product product in products)
                                {
                                    if (product.Vendor != null && product.VendorId == vendor.VendorId)
                                    {
                                        vendorProducts.Add(product);
                                    }
                                }
                            }

                            if (variants != null)
                            {
                                foreach (ProductVariant variant in variants)
                                {
                                    if (variant.Product.Vendor != null && variant.Product.Vendor.VendorId == vendor.VendorId)
                                    {
                                        vendorVariants.Add(variant);
                                    }
                                }
                            }

                            //CREATE VENDOR SPECIFIC PARAMETERS
                            Hashtable vendorParameters = new Hashtable(this.Parameters);
                            vendorParameters["vendor"]   = vendor;
                            vendorParameters["products"] = vendorProducts;
                            vendorParameters["variants"] = vendorVariants;

                            //COMPILE VENDOR SPECIFIC MAIL MESSAGE
                            MailMessage mailMessage = new MailMessage();
                            //ADD TO ADDRESSES
                            foreach (string email in emailList)
                            {
                                mailMessage.To.Add(email);
                            }
                            //ADD CC ADDRESSES
                            foreach (MailAddress item in ccList)
                            {
                                mailMessage.CC.Add(item);
                            }
                            //ADD BCC ADDRESSES
                            foreach (MailAddress item in bccList)
                            {
                                mailMessage.Bcc.Add(item);
                            }
                            //SET FROM ADDRESS
                            mailMessage.From = new MailAddress(this.FromAddress);
                            //PROCESS THE SUBJECT AND BODY
                            mailMessage.Subject    = velocityEngine.Process(vendorParameters, this.Subject);
                            mailMessage.Body       = velocityEngine.Process(vendorParameters, this.Body);
                            mailMessage.IsBodyHtml = this.IsHTML;
                            messages.Add(mailMessage);
                        }
                        else
                        {
                            Logger.Warn("Could not process vendor notification for '" + vendor.Name + "'; email address is invalid.");
                        }
                    }
                }
            }

            //RETURN THE GENERATED MAIL MESSAGE
            if (messages.Count == 0)
            {
                return(null);
            }
            return(messages.ToArray());
        }
Ejemplo n.º 19
0
        static void Main(string[] args)
        {
            // Select
            string         whereClause   = "LastName = 'Cobb'";
            string         orderByClause = "UserName desc";
            UserCollection users         = User.Select(whereClause, orderByClause);
            User           user          = users[0];

            user.FirstName = "Alex";
            bool success = User.Update(user);

            success = User.Delete(user);
            User user2Insert = new User {
                UserName   = "******",
                Password   = "******",
                FirstName  = "Nbr 88",
                LastName   = "Cobb",
                Phone      = "513-555-1212",
                Email      = "*****@*****.**",
                IsReviewer = false,
                IsAdmin    = false
            };

            success = User.Insert(user2Insert);

            VendorCollection vendors = Vendor.Select("1 = 1", "Id");
            Vendor           vendor  = new Vendor {
                Code          = "Krog0010",
                Name          = "Kroger",
                Address       = "123 Any Street",
                City          = "Cincinnati", State = "OH", Zip = "45201",
                Email         = "*****@*****.**", Phone = "513-555-1212",
                IsRecommended = true
            };
            bool rc = Vendor.Insert(vendor);

            vendor.Code = "KROG1111";
            rc          = Vendor.Update(vendor);
            rc          = Vendor.Delete(vendor);

            ProductCollection products = Product.Select("1 = 1", "Id");
            Product           product  = new Product {
                VendorId         = 2,
                Name             = "Widget1",
                VendorPartNumber = "BWidget",
                Price            = 12345.67M,
                Unit             = "Each",
                PhotoPath        = "http://www.maxtrain.com"
            };

            rc            = Product.Insert(product);
            product.Price = 76543.21m;
            rc            = Product.Update(product);
            rc            = Product.Delete(product);

            PurchaseRequestCollection purchaseRequests = PurchaseRequest.Select("1 = 1", "Id");
            PurchaseRequest           purchaseRequest  = new PurchaseRequest();

            purchaseRequest.UserId        = 1;
            purchaseRequest.Description   = "My first purchase request";
            purchaseRequest.Justification = "My birthday";
            purchaseRequest.DateNeeded    = DateTime.Now;
            purchaseRequest.DeliveryMode  = "USPS";
            purchaseRequest.DocsAttached  = false;
            purchaseRequest.Status        = "New";
            //purchaseRequest.Total = 0.0M;
            //purchaseRequest.SubmittedDate = DateTime.Now;
            rc = PurchaseRequest.Insert(purchaseRequest);
            purchaseRequest.DateNeeded = DateTime.Now.AddDays(1);
            rc = PurchaseRequest.Update(purchaseRequest);
            purchaseRequests = PurchaseRequest.Select("1 = 1", "Id");
            rc = PurchaseRequest.Delete(purchaseRequest);
            purchaseRequests = PurchaseRequest.Select("1 = 1", "Id");

            //LineItemCollection lineitems = LineItem.Select("1 = 1", "Id");
            //LineItem lineitem = new LineItem {
            //    PurchaseRequestId = 3,
            //    ProductId = 3,
            //    Quantity = 1
            //};
            //rc = LineItem.Insert(lineitem);
            //PurchaseRequest NewPurchaseRequest = new PurchaseRequest {
            //    UserId = 2,
            //    Description = "First full add of PR",
            //    Justification = "I just want to"
            //};
            //rc = PurchaseRequest.Insert(NewPurchaseRequest);
            //rc = NewPurchaseRequest.AddLineItem(1, 10);
            //rc = NewPurchaseRequest.AddLineItem(2, 20);
            //rc = NewPurchaseRequest.AddLineItem(3, 30);
            PurchaseRequest NewPurchaseRequest = PurchaseRequest.Select(12);
            //rc = NewPurchaseRequest.UpdateLineItem(5, 11);


            int i = 0;
        }