Beispiel #1
0
 /// <summary>
 /// Imports a category.
 /// </summary>
 /// <param name="args">The args.</param>
 /// <param name="dupeMode">if set to <c>true</c> [dupe mode].</param>
 /// <param name="cn">SQL Connection.</param>
 /// <param name="trns">SQL Transaction.</param>
 /// <returns></returns>
 public static List<object> ImportCategory( Dictionary<string, object> args, bool dupeMode, SqlConnection cn, SqlTransaction trns )
 {
     List<object> j = new List<object>();
     /* must contain at least the primary key */
     if( ( !args.ContainsKey( "categoryName" ) ) || ( !args.ContainsKey( "itemNumber" ) ) ) {
         return j;
     }
     if( args[ "itemNumber" ].ToString() == "" || args[ "itemNumber" ] == null ) {
         return j;
     }
     try {
         using( SqlCommand cmd = new SqlCommand( @"insertCategory @categoryName,@itemNumber", cn, trns ) ) {
             cmd.Parameters.Add( "@categoryName", SqlDbType.VarChar ).Value = args.KeyOrDefault( "categoryName", "", true );
             cmd.Parameters.Add( "@itemNumber", SqlDbType.VarChar ).Value = args.KeyOrDefault( "itemNumber", "", true );
             using( SqlDataReader d = cmd.ExecuteReader() ) {
                 if( d.HasRows ) {
                     return ( List<object> )d.GetJsonArray( false )[ 0 ];
                 }
             }
         }
     } catch( Exception e ) {
         String.Format( "importCategory threw an exception ==> {0}", e.Message ).Debug( 0 );
         return j;
     }
     return j;
 }
Beispiel #2
0
 /// <summary>
 /// Adds a reply to the reply or Blog matching the replyId key.
 /// Uses a SQL transaction to roll back changes if the boolean key "preview"
 /// is true, but still shows what would have happened.
 /// </summary>
 /// <param name="args">The argument dictionary {
 ///		replyId
 ///		email
 ///		subject
 ///		rating
 ///		userId
 ///		comment
 ///		addedOn
 ///		parentId
 ///		reference
 ///		disabled
 ///		approves
 ///		disapproves
 ///		flaggedInappropriate
 ///		message
 /// }</param>
 /// <returns>Dictionary containing {error:0,desc:"",subject:"blah",message:"blah"} when successfull or the error. </returns>
 public static Dictionary<string, object> AddReply(Dictionary<string, object> args)
 {
     ("FUNCTION /w SP addReply").Debug(10);
     Dictionary<string, object> j = new Dictionary<string, object>();
     Session session = null;
     bool preview = false;
     if(args.ContainsKey("sessionId")) {
         session = new Session(Main.Site, new Guid((string)args["sessionId"]));
     } else {
         session = Main.GetCurrentSession();
     }
     using(SqlConnection cn = Site.CreateConnection(true, true)) {
         cn.Open();
         using(SqlTransaction trans = cn.BeginTransaction("reply")) {
             if(args.ContainsKey("preview")) {
                 preview = (bool)args["preview"];
             }
             string replyId = Guid.NewGuid().ToString();
             Guid parentId;
             if(args.ContainsKey("replyId")) {
                 replyId = args["replyId"].ToString();
             }
             if(args.ContainsKey("parentId")) {
                 parentId = new Guid(args["parentId"].ToString());
             } else {
                 j.Add("error", 2);
                 j.Add("description", "Key parentId is not present.");
                 return j;
             }
             /* email the Blog to which this reply belongs, if they like that sort of thing. */
             //int nestCount = 0;
             /*
             BlogEntry entry = null;
             while(entry == null) {
                 entry = Main.Site.Blogs.AllEntries.Find(delegate(BlogEntry be) {
                     return be.Id == parentId;
                 });
                 if(entry == null) {
                     Reply reply = Main.Site.Replies.List.Find(delegate(Commerce.Reply rp) {
                         return rp.Id == parentId;
                     });
                     if(reply == null) {
                         j.Add("error", 4);
                         j.Add("description", "Could not find parent..");
                         return j;
                     }
                     // step up until the parent is a Blog
                     parentId = reply.ParentId;
                 }
                 nestCount++;
             }
             if(!entry.AllowComments) {
                 j.Add("error", 5);
                 j.Add("description", "This Blog does not allow comments.");
                 return j;
             }
             */
             string email = args.KeyOrDefault("email", "").ToString();
             string subject = args.KeyOrDefault("subject", "").ToString();
             string rating = args.KeyOrDefault("rating", "").ToString();
             string comment = args.KeyOrDefault("message", "").ToString();
             string addedOn = args.KeyOrDefault("addedOn", DateTime.Now.ToString()).ToString();
             string reference = args.KeyOrDefault("reference", "").ToString();
             /* accept all messages instantly in test mode */
             string disabled = args.KeyOrDefault("disabled", false).ToString();
             string approves = args.KeyOrDefault("approves", 0).ToString();
             string disapproves = args.KeyOrDefault("disapproves", 0).ToString();
             string flaggedInappropriate = args.KeyOrDefault("flaggedInappropriate", false).ToString();
             string commandText = @"dbo.insertReply @replyId, @email,
         @subject, @rating, @userId, @comment, @addedOn, @parentId,
         @reference, @disabled, @approves, @disapproves, @flaggedInappropriate";
             using(SqlCommand cmd = new SqlCommand(commandText, cn, trans)) {
                 cmd.Parameters.Add("@replyId", SqlDbType.UniqueIdentifier).Value = new Guid(replyId);
                 cmd.Parameters.Add("@email", SqlDbType.VarChar).Value = email;
                 cmd.Parameters.Add("@subject", SqlDbType.VarChar).Value = subject;
                 cmd.Parameters.Add("@rating", SqlDbType.VarChar).Value = rating;
                 cmd.Parameters.Add("@userId", SqlDbType.Int).Value = session.UserId;
                 cmd.Parameters.Add("@comment", SqlDbType.VarChar).Value = comment;
                 cmd.Parameters.Add("@addedOn", SqlDbType.DateTime).Value = Convert.ToDateTime(addedOn);
                 cmd.Parameters.Add("@parentId", SqlDbType.UniqueIdentifier).Value = new Guid(parentId.ToString());
                 cmd.Parameters.Add("@reference", SqlDbType.VarChar).Value = reference;
                 cmd.Parameters.Add("@disabled", SqlDbType.Bit).Value = Convert.ToBoolean(disabled);
                 cmd.Parameters.Add("@approves", SqlDbType.Int).Value = Convert.ToInt32(approves);
                 cmd.Parameters.Add("@disapproves", SqlDbType.Int).Value = Convert.ToInt32(disapproves);
                 cmd.Parameters.Add("@flaggedInappropriate", SqlDbType.Int).Value = 0;
                 cmd.ExecuteNonQuery();
                 j.Add("subject", args["subject"].ToString());
                 j.Add("message", args["message"].ToString());
                 j.Add("replyId", replyId);
                 if(preview) {
                     trans.Rollback();
                 } else {
                     trans.Commit();
                 }
             }
             /*
             if(!preview) {
                 Main.Site.Replies = new Commerce.Replies(Main.Site);
                 Main.Site.Blogs = new Commerce.Blogs(Main.Site);
                 Guid gReplyId = new Guid(replyId);
                 Commerce.Reply newReply = Main.Site.Replies.List.Find(delegate(Commerce.Reply rp) {
                     return rp.Id == gReplyId;
                 });
                 if(entry.EmailUpdates) {
                     CreateEmailEventArgs emailArgs =
                     new CreateEmailEventArgs("commentAdded",
                     Main.Site.site_operator_email,
                     entry.Author.Email, Main.Site.site_log_email,
                     entry.Author, session, newReply, entry);
                     DefaultEmails.CommentAdded(ref emailArgs);
                     Main.Site.raiseOncreateemail(emailArgs);
                     SendEmailArgResult(emailArgs, cn, null);
                 }
             }
              */
             j.Add("blogEntryId", parentId);
             j.Add("error", 0);
             j.Add("description", "");
         }
     }
     return j;
 }
Beispiel #3
0
 /// <summary>
 /// Imports an item.
 /// </summary>
 /// <param name="args">The item arguments.</param>
 /// <param name="dupeMode">if set to <c>true</c> [dupe mode].</param>
 /// <param name="cn">SQL connection.</param>
 /// <param name="trns">SQL transaction.</param>
 /// <returns>List of item imported.</returns>
 public static List<object> ImportItem( Dictionary<string, object> args, bool dupeMode, SqlConnection cn, SqlTransaction trns )
 {
     List<object> j = new List<object>();
     /* must contain at least the primary key */
     if( !args.ContainsKey( "itemNumber" ) ) {
         return j;
     }
     if( args[ "itemNumber" ].ToString() == "" || args[ "itemNumber" ] == null ) {
         return j;
     }
     try {
         string commandText = @"dbo.insertItem
         @itemNumber,@displayPrice,@reorderPoint,@BOMOnly,@itemHTML,@price,
         @salePrice,@wholeSalePrice, @isOnSale,@description,@shortCopy,
         @productCopy,@weight,@quantifier, @shortDescription, @freeShipping,
         @formName,@keywords, @searchPriority, @workCreditValue, @noTax,
         @deleted, @removeAfterPurchase,@parentItemNumber,@allowPreorders, @inventoryOperator,
         @inventoryRestockOnFlagId,@itemIsConsumedOnFlagId,@inventoryDepletesOnFlagId,@revenueAccount,
         @ratio,@highThreshold,@expenseAccount,@inventoryAccount,
         @COGSAccount,@SKU,@itemType,@averageCost,@dupeMode";
         using( SqlCommand cmd = new SqlCommand( commandText, cn, trns ) ) {
             cmd.Parameters.Add( "@itemNumber", SqlDbType.Variant ).Value = args.KeyOrDefault( "itemNumber", "", dupeMode );
             cmd.Parameters.Add( "@displayPrice", SqlDbType.Variant ).Value = args.KeyOrDefault( "displayPrice", "", dupeMode );
             cmd.Parameters.Add( "@reorderPoint", SqlDbType.Variant ).Value = args.KeyOrDefault( "reorderPoint", 10, dupeMode );
             cmd.Parameters.Add( "@BOMOnly", SqlDbType.Variant ).Value = args.KeyOrDefault( "BOMOnly", true, dupeMode );
             cmd.Parameters.Add( "@itemHTML", SqlDbType.Variant ).Value = args.KeyOrDefault( "itemHTML", "", dupeMode );
             cmd.Parameters.Add( "@price", SqlDbType.Variant ).Value = args.KeyOrDefault( "price", 0, dupeMode );
             cmd.Parameters.Add( "@salePrice", SqlDbType.Variant ).Value = args.KeyOrDefault( "salePrice", 0, dupeMode );
             cmd.Parameters.Add( "@wholeSalePrice", SqlDbType.Variant ).Value = args.KeyOrDefault( "wholeSalePrice", 0, dupeMode );
             cmd.Parameters.Add( "@isOnSale", SqlDbType.Variant ).Value = args.KeyOrDefault( "isOnSale", false, dupeMode );
             cmd.Parameters.Add( "@description", SqlDbType.Variant ).Value = args.KeyOrDefault( "description", "", dupeMode );
             cmd.Parameters.Add( "@shortCopy", SqlDbType.Variant ).Value = args.KeyOrDefault( "shortCopy", "", dupeMode );
             cmd.Parameters.Add( "@productCopy", SqlDbType.Variant ).Value = args.KeyOrDefault( "productCopy", "", dupeMode );
             cmd.Parameters.Add( "@weight", SqlDbType.Variant ).Value = args.KeyOrDefault( "weight", 1, dupeMode );
             cmd.Parameters.Add( "@quantifier", SqlDbType.Variant ).Value = args.KeyOrDefault( "quantifier", "Each", dupeMode );
             cmd.Parameters.Add( "@shortDescription", SqlDbType.Variant ).Value = args.KeyOrDefault( "shortDescription", "", dupeMode );
             cmd.Parameters.Add( "@freeShipping", SqlDbType.Variant ).Value = args.KeyOrDefault( "freeShipping", false, dupeMode );
             cmd.Parameters.Add( "@formName", SqlDbType.Variant ).Value = args.KeyOrDefault( "formName", "NO FORM", dupeMode );
             cmd.Parameters.Add( "@keywords", SqlDbType.Variant ).Value = args.KeyOrDefault( "keywords", "", dupeMode );
             cmd.Parameters.Add( "@searchPriority", SqlDbType.Variant ).Value = args.KeyOrDefault( "searchPriority", 0, dupeMode );
             cmd.Parameters.Add( "@workCreditValue", SqlDbType.Variant ).Value = args.KeyOrDefault( "workCreditValue", 0, dupeMode );
             cmd.Parameters.Add( "@noTax", SqlDbType.Variant ).Value = args.KeyOrDefault( "noTax", false, dupeMode );
             cmd.Parameters.Add( "@deleted", SqlDbType.Variant ).Value = args.KeyOrDefault( "deleted", false, dupeMode );
             cmd.Parameters.Add( "@removeAfterPurchase", SqlDbType.Variant ).Value = args.KeyOrDefault( "removeAfterPurchase", false, dupeMode );
             cmd.Parameters.Add( "@parentItemNumber", SqlDbType.Variant ).Value = args.KeyOrDefault( "parentItemNumber", "", dupeMode );
             cmd.Parameters.Add( "@allowPreorders", SqlDbType.Variant ).Value = args.KeyOrDefault( "allowPreorders", Main.Site.new_item_allowPreorders, dupeMode );
             cmd.Parameters.Add( "@inventoryOperator", SqlDbType.Variant ).Value = args.KeyOrDefault( "inventoryOperator", Main.Site.default_inventoryOperator, dupeMode );
             cmd.Parameters.Add( "@inventoryRestockOnFlagId", SqlDbType.Variant ).Value = args.KeyOrDefault( "inventoryRestockOnFlagId", Main.Site.default_inventoryRestockOnFlagId, dupeMode );
             cmd.Parameters.Add( "@itemIsConsumedOnFlagId", SqlDbType.Variant ).Value = args.KeyOrDefault( "itemIsConsumedOnFlagId", Main.Site.default_itemIsConsumedOnFlagId, dupeMode );
             cmd.Parameters.Add( "@inventoryDepletesOnFlagId", SqlDbType.Variant ).Value = args.KeyOrDefault( "inventoryDepletesOnFlagId", Main.Site.default_inventoryDepletesOnFlagId, dupeMode );
             cmd.Parameters.Add( "@revenueAccount", SqlDbType.Variant ).Value = args.KeyOrDefault( "revenueAccount", Main.Site.default_revenueAccount, dupeMode );
             cmd.Parameters.Add( "@ratio", SqlDbType.Variant ).Value = args.KeyOrDefault( "ratio", 1, dupeMode );
             cmd.Parameters.Add( "@highThreshold", SqlDbType.Variant ).Value = args.KeyOrDefault( "highThreshold", 500, dupeMode );
             cmd.Parameters.Add( "@expenseAccount", SqlDbType.Variant ).Value = args.KeyOrDefault( "expenseAccount", Main.Site.default_expenseAccount, dupeMode );
             cmd.Parameters.Add( "@inventoryAccount", SqlDbType.Variant ).Value = args.KeyOrDefault( "inventoryAccount", Main.Site.default_inventoryAccount, dupeMode );
             cmd.Parameters.Add( "@COGSAccount", SqlDbType.Variant ).Value = args.KeyOrDefault( "COGSAccount", Main.Site.default_inventoryCOGSAccount, dupeMode );
             cmd.Parameters.Add( "@SKU", SqlDbType.Variant ).Value = args.KeyOrDefault( "SKU", "", dupeMode );
             cmd.Parameters.Add( "@itemType", SqlDbType.Variant ).Value = args.KeyOrDefault( "itemType", 0, dupeMode );
             cmd.Parameters.Add( "@averageCost", SqlDbType.Variant ).Value = args.KeyOrDefault( "averageCost", 0, dupeMode );
             cmd.Parameters.Add( "@dupeMode", SqlDbType.Int ).Value = Utilities.Iif( dupeMode, 0, 1 );
             using( SqlDataReader d = cmd.ExecuteReader() ) {
                 if( d.HasRows ) {
                     return ( List<object> )d.GetJsonArray( false )[ 0 ];
                 }
             }
         }
         return j;
     } catch( Exception e ) {
         String.Format( "Immport item threw an exception ==> {0}", e.Message ).Debug( 0 );
         return j;
     }
 }