private int LogSyncObject(object entity, int shopId, string action)
        {
            var  objName = entity.GetType().Name;
            Guid syncId  = Guid.Empty;

            if (objName.Contains("ShoppingCartItem"))
            {
                ShoppingCartItem cart = (ShoppingCartItem)entity;
                entity = cart;
                syncId = cart.SyncTrackId;
            }

            if (objName.Contains("ShoppingCart"))
            {
                ShoppingCart cart = (ShoppingCart)entity;
                entity = cart;
                syncId = cart.SyncTrackId;
            }

            if (objName.Contains("Expenses"))
            {
                Expenses cart = (Expenses)entity;
                entity = cart;
                syncId = cart.SyncTrackId;
            }

            if (objName.Contains("Customer"))
            {
                Customer cart = (Customer)entity;
                entity = cart;
                syncId = cart.SyncTrackId;
            }
            if (objName == "staff")
            {
                staff cart = (staff)entity;
                entity = cart;
                syncId = cart.SyncTrackId;
            }

            if (objName.ToLower() == "product")
            {
                Product cart = (Product)entity;
                entity = cart;
                syncId = cart.SyncTrackId;
            }

            SyncManager man = new Core.SyncManager
            {
                Action                   = action,
                DateLogged               = DateTime.Now,
                Entity                   = objName,
                ShopId                   = shopId,
                SourceDataStore          = "Remote",
                SourceDataStoreType      = "SQLServer",
                DestinationDataStore     = "Local",
                DestinationDataStoreType = "SQLLite",
                State               = Newtonsoft.Json.JsonConvert.SerializeObject(entity),
                SyncTrackId         = syncId,
                SyncExecutionStatus = 0,
                SyncManagerId       = Guid.NewGuid()
            };

            int c = DAL.GenericOperation <SyncManager>(man, action, objName);

            return(c);
        }
        private object SetSyncDataPost(object entity, string action)
        {
            var objName = entity.GetType().Name;

            if (objName.Contains("ShoppingCartItem"))
            {
                ShoppingCartItem cart = (ShoppingCartItem)entity;
                cart.DateSynced     = DateTime.Now;
                cart.SyncStatus     = 0;
                cart.SyncTrackId    = cart.SyncTrackId;
                cart.UnSyncedEvents = 1;
                entity = cart;
                DAL.UpdateShoppingCartitemsSync(cart);
            }

            if (objName.Contains("ShoppingCart"))
            {
                ShoppingCart cart = (ShoppingCart)entity;
                cart.DateSynced = DateTime.Now;
                cart.SyncStatus = 0;
                //cart.SyncTrackId = Guid.NewGuid();
                cart.SyncTrackId    = cart.SyncTrackId;
                cart.UnSyncedEvents = 1;
                entity = cart;
                DAL.UpdateShoppingCartSync(cart);
            }

            if (objName.Contains("Expenses"))
            {
                Expenses cart = (Expenses)entity;
                cart.DateSynced = DateTime.Now;
                cart.SyncStatus = 0;
                //cart.SyncTrackId = Guid.NewGuid();
                cart.SyncTrackId    = cart.SyncTrackId;
                cart.UnSyncedEvents = 1;
                entity = cart;
                DAL.UpdateExpenseSync(cart);
            }

            if (objName.Contains("Customer"))
            {
                Customer cart = (Customer)entity;
                cart.DateSynced = DateTime.Now;
                cart.SyncStatus = 0;
                //cart.SyncTrackId = Guid.NewGuid();
                cart.SyncTrackId    = cart.SyncTrackId;
                cart.UnSyncedEvents = 1;
                entity = cart;
                DAL.UpdateCustomerSync(cart);
            }
            if (objName == "Product")
            {
                Product cart = (Product)entity;
                cart.DateSynced = DateTime.Now;
                cart.SyncStatus = 0;
                //cart.SyncTrackId = Guid.NewGuid();
                cart.SyncTrackId    = cart.SyncTrackId;
                cart.UnSyncedEvents = 1;
                entity = cart;
                DAL.UpdateProductSync(cart);
            }
            if (objName == "staff")
            {
                staff cart = (staff)entity;
                cart.DateSynced = DateTime.Now;
                cart.SyncStatus = 0;
                //cart.SyncTrackId = Guid.NewGuid();
                cart.SyncTrackId    = cart.SyncTrackId;
                cart.UnSyncedEvents = 1;
                entity = cart;
                DAL.UpdateStaffSync(cart);
            }
            return(entity);
        }