public ActionResult fbCalendar()
        {
            InfoConnServiceReference.InfoConnSoapClient client = new InfoConnServiceReference.InfoConnSoapClient();
            var connectorSource = client.GetConnectorSource(UserId, InfoConnServiceReference.ConnectorSourceType.Facebook);

            if (connectorSource == null)
            {
                if (Request["code"] == null)
                {

                    return new RedirectResult(oAuthFacbook.AuthorizationLinkGet(), true);
                }
                else
                {
                    var conectorAuth = oAuthFacbook.AccessTokenGet(Request["code"]);
                    connectorSource = new InfoConnServiceReference.ConnectorSource
                    {
                        UserId = UserId,
                        AccessToken = conectorAuth.AccessToken,
                        RefressToken = conectorAuth.RefressToken,
                        ExpiresDate = conectorAuth.ExpiresDate,
                        ConnectorSourceType = (int)ConnectorSourceType.Facebook,
                        LastModified = DateTime.Now ,
                        IsUpdateRunning = false,
                        CacheLastUpdate_Short = DateTime.Now,
                        CacheLastUpdate_Longer = DateTime.Now,
                        CacheLastUpdate_Medium = DateTime.Now,
                        DoCacheUpdate_Longer = false,
                        DoCacheUpdate_Medium = false,
                        DoCacheUpdate_Short = false
                    };

                    client.AddConnectorSource(connectorSource);
                }
            }

            InfoConnServiceReference.SearchOption option = new InfoConnServiceReference.SearchOption();
            option.ConnectorSourceType = InfoConnServiceReference.ConnectorSourceType.Facebook;
            var model = client.GetEvents(UserId, option, InfoConnServiceReference.ConnectorSourceType.Facebook);

            return View(model);
        }
        public ActionResult iCalendar(HttpPostedFileBase file)
        {
            InfoConnServiceReference.InfoConnSoapClient client = new InfoConnServiceReference.InfoConnSoapClient();
            var connectorSource = client.GetConnectorSource(UserId, InfoConnServiceReference.ConnectorSourceType.iCalendar);

            if (connectorSource == null)
            {
                connectorSource = new InfoConnServiceReference.ConnectorSource
                {
                    UserId = UserId,
                    ConnectorSourceType = (int)ConnectorSourceType.iCalendar,
                    ExpiresDate = DateTime.Now,
                    LastModified = DateTime.Now,
                    IsUpdateRunning = false,
                    CacheLastUpdate_Short = DateTime.Now,
                    CacheLastUpdate_Longer = DateTime.Now,
                    CacheLastUpdate_Medium = DateTime.Now,
                    DoCacheUpdate_Longer = false,
                    DoCacheUpdate_Medium = false,
                    DoCacheUpdate_Short = false
                };

                client.AddConnectorSource(connectorSource);

            }

            var fileName = string.Format("ics_{0}_{1}", DateTime.Now.ToString("yyyyMMddHHmmssms"), Path.GetFileName(file.FileName));
            var path = Path.Combine(Server.MapPath("~/App_Data/Uploads"), fileName);
            file.SaveAs(path);

            List<Event> lst = new List<Event>();

            InfoConnServiceReference.SearchOption option = new InfoConnServiceReference.SearchOption();

            option.ICSFilePath = path;

            //Store event into cached database
            client.SaveEvents(UserId, option, InfoConnServiceReference.ConnectorSourceType.iCalendar);

            InfoConn.TestWebsite.InfoConnServiceReference.Event[] events = client.GetEvents(UserId, option, InfoConnServiceReference.ConnectorSourceType.iCalendar);
            if(events!=null && events.Length>0){
                return View(events);
            }else{
                return View();
            }
        }
        public ActionResult oauth2callback()
        {
            InfoConnServiceReference.InfoConnSoapClient client = new InfoConnServiceReference.InfoConnSoapClient();

            var conectorAuth = oAuthGoogle.AccessTokenGet(Request["code"]);
            var connectorSource = new InfoConnServiceReference.ConnectorSource
            {
                UserId = UserId,
                AccessToken = conectorAuth.AccessToken,
                RefressToken = conectorAuth.RefressToken,
                ExpiresDate = conectorAuth.ExpiresDate,
                ConnectorSourceType = (int)ConnectorSourceType.Google,
                LastModified = DateTime.Now,
                IsUpdateRunning = false,
                CacheLastUpdate_Short = DateTime.Now,
                CacheLastUpdate_Longer = DateTime.Now,
                CacheLastUpdate_Medium = DateTime.Now,
                DoCacheUpdate_Longer = false,
                DoCacheUpdate_Medium = false,
                DoCacheUpdate_Short = false

            };

            client.AddConnectorSource(connectorSource);
            return RedirectToAction(controller = "Home", action = "ggCalendar" );
            //return RedirectToAction("ggCalendar","Home");
        }
        public ActionResult ggCalendar()
        {
            //InfoConnServiceReference.InfoConnSoapClient client = new InfoConnServiceReference.InfoConnSoapClient();
            //var connectorSource = client.GetConnectorSource(UserId, InfoConnServiceReference.ConnectorSourceType.Google);

            //if (connectorSource == null)
            //{
            //    if (Request["code"] == null)
            //    {

            //        return new RedirectResult(oAuthGoogle.AuthorizationLinkGet(), true);
            //    }
            //}

            //InfoConnServiceReference.SearchOption option = new InfoConnServiceReference.SearchOption();
            //InfoConn.TestWebsite.InfoConnServiceReference.Calendar[] obj = client.GetCalendars(UserId, InfoConnServiceReference.ConnectorSourceType.Google);
            //option.CalendarId = obj[2].CalendarId;
            //var model = client.GetEvents(UserId, option, InfoConnServiceReference.ConnectorSourceType.Google);

            //ViewData["MyListItems"] = obj;

            //return View(model);
            InfoConnServiceReference.InfoConnSoapClient client = new InfoConnServiceReference.InfoConnSoapClient();
            var connectorSource = client.GetConnectorSource(UserId, InfoConnServiceReference.ConnectorSourceType.Google);

            if (connectorSource == null)
            {
                if (Request["code"] == null)
                {

                    return new RedirectResult(oAuthGoogle.AuthorizationLinkGet(), true);
                }
                else
                {
                    var conectorAuth = oAuthFacbook.AccessTokenGet(Request["code"]);
                    connectorSource = new InfoConnServiceReference.ConnectorSource
                    {
                        UserId = UserId,
                        AccessToken = conectorAuth.AccessToken,
                        RefressToken = conectorAuth.RefressToken,
                        ExpiresDate = conectorAuth.ExpiresDate,
                        ConnectorSourceType = (int)ConnectorSourceType.Facebook,
                        LastModified = DateTime.Now,
                        IsUpdateRunning = false,
                        CacheLastUpdate_Short = DateTime.Now,
                        CacheLastUpdate_Longer = DateTime.Now,
                        CacheLastUpdate_Medium = DateTime.Now,
                        DoCacheUpdate_Longer = false,
                        DoCacheUpdate_Medium = false,
                        DoCacheUpdate_Short = false
                    };

                    client.AddConnectorSource(connectorSource);
                }
            }

            InfoConnServiceReference.SearchOption option = new InfoConnServiceReference.SearchOption();
            option.ConnectorSourceType = InfoConnServiceReference.ConnectorSourceType.Google;
            var model = client.GetEvents(UserId, option, InfoConnServiceReference.ConnectorSourceType.Google);
            ViewData["MyListItems"] = client.GetCalendars(UserId, InfoConnServiceReference.ConnectorSourceType.Google);
            return View(model);
        }