public string UpdatePricingTitle(string editedTitles)
    {
        //Saad
        int userKey = new Base().UserKey;
        if (userKey == 0)
        {
            return "{\"login\": false}";
        }

        try
        {
            dynamic item = new JavaScriptSerializer().Deserialize<dynamic>(editedTitles);

            DataModelEntities context = new DataModelEntities();

            int itemCode = Convert.ToInt32(item["ItemCode"]);
            SellerItem sellerItem = context.SellerItems.SingleOrDefault(a => a.Item_Code == itemCode);

            if (sellerItem != null)
            {
                sellerItem.Rotate_Order = Convert.ToInt32(item["Rotate"]);
                sellerItem.Rotate_Days = Convert.ToInt32(item["Days"]);
                sellerItem.Rotate_Sales = Convert.ToInt32(item["Sales"]);
                sellerItem.Is_Title_Automated = Convert.ToBoolean(item["IsAutomate"]);
                ItemTitle itemTitle;

                if (item.ContainsKey("Title1") && !string.IsNullOrEmpty(item["Title1"].ToString()))
                {
                    if (item.ContainsKey("ItemTitleId1") && !string.IsNullOrEmpty(item["ItemTitleId1"]))
                    {
                        int itemTitleId1 = Convert.ToInt32(item["ItemTitleId1"]);
                        itemTitle = context.ItemTitles.SingleOrDefault(a => a.ItemTitleId == itemTitleId1);
                        if (itemTitle != null)
                        {
                            if (!string.IsNullOrEmpty(itemTitle.Title) && itemTitle.Title.ToString().ToLower() != item["Title1"].ToString().ToLower())
                                itemTitle.TotalSales = 0;

                            itemTitle.ItemId = itemCode;
                            itemTitle.Title = item["Title1"].ToString();
                            itemTitle.Updated_Date = DateTime.Now;
                            itemTitle.Updated_By = userKey;

                        }

                    }
                    else
                    {
                        itemTitle = new ItemTitle();
                        itemTitle.ItemId = itemCode;
                        itemTitle.Title = item["Title1"].ToString();
                        itemTitle.Added_Date = DateTime.Now;
                        itemTitle.Added_By = userKey;
                        itemTitle.TotalSales = 0;
                        itemTitle.Is_Locked = false;
                        itemTitle.Is_Current = false;
                        itemTitle.Title_Index = 1;
                        sellerItem.ItemTitles.Add(itemTitle);

                    }
                }

                if (item.ContainsKey("Title2") && !string.IsNullOrEmpty(item["Title2"].ToString()))
                {
                    if (item.ContainsKey("ItemTitleId2") && !string.IsNullOrEmpty(item["ItemTitleId2"]))
                    {
                        int itemTitleId1 = Convert.ToInt32(item["ItemTitleId2"]);
                        itemTitle = context.ItemTitles.SingleOrDefault(a => a.ItemTitleId == itemTitleId1);
                        if (itemTitle != null)
                        {
                            if (!string.IsNullOrEmpty(itemTitle.Title) && itemTitle.Title.ToString().ToLower() != item["Title2"].ToString().ToLower())
                                itemTitle.TotalSales = 0;
                            itemTitle.ItemId = itemCode;
                            itemTitle.Title = item["Title2"].ToString();
                            itemTitle.Updated_Date = DateTime.Now;
                            itemTitle.Updated_By = userKey;
                        }
                    }
                    else
                    {
                        itemTitle = new ItemTitle();
                        itemTitle.ItemId = itemCode;
                        itemTitle.Title = item["Title2"].ToString();
                        itemTitle.Added_Date = DateTime.Now;
                        itemTitle.Added_By = userKey;
                        itemTitle.TotalSales = 0;
                        itemTitle.Is_Locked = false;
                        itemTitle.Is_Current = false;
                        itemTitle.Title_Index = 2;
                        sellerItem.ItemTitles.Add(itemTitle);
                    }
                }

                if (item.ContainsKey("Title3") && !string.IsNullOrEmpty(item["Title3"].ToString()))
                {
                    if (item.ContainsKey("ItemTitleId3") && !string.IsNullOrEmpty(item["ItemTitleId3"]))
                    {
                        int itemTitleId1 = Convert.ToInt32(item["ItemTitleId3"]);
                        itemTitle = context.ItemTitles.SingleOrDefault(a => a.ItemTitleId == itemTitleId1);
                        if (itemTitle != null)
                        {
                            if (!string.IsNullOrEmpty(itemTitle.Title) && itemTitle.Title.ToString().ToLower() != item["Title3"].ToString().ToLower())
                                itemTitle.TotalSales = 0;
                            itemTitle.ItemId = itemCode;
                            itemTitle.Title = item["Title3"].ToString();
                            itemTitle.Updated_Date = DateTime.Now;
                            itemTitle.Updated_By = userKey;
                        }
                    }
                    else
                    {
                        itemTitle = new ItemTitle();
                        itemTitle.ItemId = itemCode;
                        itemTitle.Title = item["Title3"].ToString();
                        itemTitle.Added_Date = DateTime.Now;
                        itemTitle.Added_By = userKey;
                        itemTitle.TotalSales = 0;
                        itemTitle.Is_Locked = false;
                        itemTitle.Is_Current = false;
                        itemTitle.Title_Index = 3;
                        sellerItem.ItemTitles.Add(itemTitle);
                    }
                }

                if (item.ContainsKey("Title4") && !string.IsNullOrEmpty(item["Title4"].ToString()))
                {
                    if (item.ContainsKey("ItemTitleId4") && !string.IsNullOrEmpty(item["ItemTitleId4"]))
                    {
                        int itemTitleId1 = Convert.ToInt32(item["ItemTitleId4"]);
                        itemTitle = context.ItemTitles.SingleOrDefault(a => a.ItemTitleId == itemTitleId1);
                        if (itemTitle != null)
                        {
                            if (!string.IsNullOrEmpty(itemTitle.Title) && itemTitle.Title.ToString().ToLower() != item["Title4"].ToString().ToLower())
                                itemTitle.TotalSales = 0;
                            itemTitle.ItemId = itemCode;
                            itemTitle.Title = item["Title4"].ToString();
                            itemTitle.Updated_Date = DateTime.Now;
                            itemTitle.Updated_By = userKey;
                        }
                    }
                    else
                    {
                        itemTitle = new ItemTitle();
                        itemTitle.ItemId = itemCode;
                        itemTitle.Title = item["Title4"].ToString();
                        itemTitle.Added_Date = DateTime.Now;
                        itemTitle.Added_By = userKey;
                        itemTitle.TotalSales = 0;
                        itemTitle.Is_Locked = false;
                        itemTitle.Is_Current = false;
                        itemTitle.Title_Index = 4;
                        sellerItem.ItemTitles.Add(itemTitle);
                    }
                }

                if (item.ContainsKey("Title5") && !string.IsNullOrEmpty(item["Title5"].ToString()))
                {
                    if (item.ContainsKey("ItemTitleId5") && !string.IsNullOrEmpty(item["ItemTitleId5"]))
                    {
                        int itemTitleId1 = Convert.ToInt32(item["ItemTitleId5"]);
                        itemTitle = context.ItemTitles.SingleOrDefault(a => a.ItemTitleId == itemTitleId1);
                        if (itemTitle != null)
                        {
                            if (!string.IsNullOrEmpty(itemTitle.Title) && itemTitle.Title.ToString().ToLower() != item["Title5"].ToString().ToLower())
                                itemTitle.TotalSales = 0;
                            itemTitle.ItemId = itemCode;
                            itemTitle.Title = item["Title5"].ToString();
                            itemTitle.Updated_Date = DateTime.Now;
                            itemTitle.Updated_By = userKey;
                        }
                    }
                    else
                    {
                        itemTitle = new ItemTitle();
                        itemTitle.ItemId = itemCode;
                        itemTitle.Title = item["Title5"].ToString();
                        itemTitle.Added_Date = DateTime.Now;
                        itemTitle.Added_By = userKey;
                        itemTitle.TotalSales = 0;
                        itemTitle.Is_Locked = false;
                        itemTitle.Is_Current = false;
                        itemTitle.Title_Index = 5;
                        sellerItem.ItemTitles.Add(itemTitle);
                    }
                }

                context.SaveChanges();

                if (sellerItem.Is_Title_Automated == true)
                {
                    string title = sellerItem.ItemTitles.FirstOrDefault().Title;
                    if (!string.IsNullOrEmpty(title))
                    {
                        //Saad

                    }
                }

            }

            return "1";
        }
        catch (Exception ex)
        {
            Logging.WriteLog(LogType.Error, ex.ToString());
            return "0";
        }
    }
 /// <summary>
 /// Deprecated Method for adding a new object to the ItemTitles EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToItemTitles(ItemTitle itemTitle)
 {
     base.AddObject("ItemTitles", itemTitle);
 }
    public void UpdateProductTitle(int sellerItemCode, ItemTitle itemTitle, ItemTitle oldTitle)
    {
        DataModelEntities context = new DataModelEntities();
           SellerItem sellerItem = context.SellerItems.First(f => f.Item_Code == sellerItemCode);

           EbayServiceBL service = new EbayServiceBL((int)sellerItem.User_Code, (int)sellerItem.Country_Code);
           string result = service.ReviseEbayItemTitle(sellerItem.Item_ID, itemTitle.Title, service.UserTokens[(int)sellerItem.User_Account_Code]);

           /*In case of success service returns null*/
           if (string.IsNullOrEmpty(result))
           {
           TitleHistory ph = new TitleHistory();
           ph.Item_Code = sellerItemCode;
           ph.New_Title = itemTitle.Title;
           ph.Old_Title = oldTitle == null ? sellerItem.Item_Name : oldTitle.Title;
           ph.Total_Sales = oldTitle == null ? sellerItem.Current_Sales : oldTitle.TotalSales;
           ph.Created_Date = System.DateTime.Now;
           context.TitleHistories.AddObject(ph);
           context.SaveChanges();
           Logging.WriteLog(LogType.Info, sellerItem.Item_ID + " Title revised.");
           }
           else
           Logging.WriteLog(LogType.Error, result);
    }
 /// <summary>
 /// Create a new ItemTitle object.
 /// </summary>
 /// <param name="itemTitleId">Initial value of the ItemTitleId property.</param>
 public static ItemTitle CreateItemTitle(global::System.Int32 itemTitleId)
 {
     ItemTitle itemTitle = new ItemTitle();
     itemTitle.ItemTitleId = itemTitleId;
     return itemTitle;
 }