Exemplo n.º 1
0
        public ApiResponse CreateSpreadSheet(string name)
        {
            ApiResponse res = new ApiResponse();

            try
            {
                var r = this.Auth();

                if (r.Code != System.Net.HttpStatusCode.OK)
                {
                    return(r);
                }
                var service = new SheetsService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName       = "Punnel",
                });

                Google.Apis.Sheets.v4.Data.Sheet default_sheet = new Google.Apis.Sheets.v4.Data.Sheet();
                default_sheet.Properties = new Google.Apis.Sheets.v4.Data.SheetProperties()
                {
                    Title = "Punnel"
                };
                List <Google.Apis.Sheets.v4.Data.Sheet> sheets = new List <Google.Apis.Sheets.v4.Data.Sheet>();
                sheets.Add(default_sheet);
                var result = service.Spreadsheets.Create(new Google.Apis.Sheets.v4.Data.Spreadsheet()
                {
                    Properties = new Google.Apis.Sheets.v4.Data.SpreadsheetProperties()
                    {
                        Title = name
                    },
                    Sheets = sheets
                }).Execute();

                if (result != null)
                {
                    var pnsheet = result.Sheets[0];
                    Core.Entities.Integration.GoogleSheet.SpreadPunnelSheetViewModel result_data = new Core.Entities.Integration.GoogleSheet.SpreadPunnelSheetViewModel()
                    {
                        Id      = result.SpreadsheetId,
                        SheetId = pnsheet.Properties.SheetId
                    };
                    res.Data = result_data;
                    res.Code = System.Net.HttpStatusCode.OK;
                }
            }
            catch (Exception ex)
            {
                _log.Error(ex);
                res.Message = ex.Message;
            }
            return(res);
        }
Exemplo n.º 2
0
        public ApiResponse GetSheetsBySpreadSheetId(string id)
        {
            ApiResponse res = new ApiResponse();

            try
            {
                var r = this.Auth();

                if (r.Code != System.Net.HttpStatusCode.OK)
                {
                    return(r);
                }
                var service = new SheetsService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName       = "Punnel",
                });

                var result = service.Spreadsheets.Get(id).Execute();
                if (result != null)
                {
                    string sheet_name = "Punnel";
                    var    k          = result.Sheets.FirstOrDefault(x => x.Properties.Title.ToLower() == "punnel");
                    if (k != null)
                    {
                        Core.Entities.Integration.GoogleSheet.SpreadPunnelSheetViewModel result_data1 = new Core.Entities.Integration.GoogleSheet.SpreadPunnelSheetViewModel()
                        {
                            Id      = result.SpreadsheetId,
                            Name    = result.Properties.Title,
                            SheetId = k.Properties.SheetId
                        };
                        res.Data = result_data1;
                        res.Code = System.Net.HttpStatusCode.OK;
                    }
                    else
                    {
                        List <Google.Apis.Sheets.v4.Data.Request> requests = new List <Google.Apis.Sheets.v4.Data.Request>();
                        requests.Add(new Google.Apis.Sheets.v4.Data.Request()
                        {
                            AddSheet = new Google.Apis.Sheets.v4.Data.AddSheetRequest()
                            {
                                Properties = new Google.Apis.Sheets.v4.Data.SheetProperties()
                                {
                                    Title = sheet_name
                                }
                            }
                        });
                        Google.Apis.Sheets.v4.Data.BatchUpdateSpreadsheetRequest requestBody = new Google.Apis.Sheets.v4.Data.BatchUpdateSpreadsheetRequest();
                        requestBody.Requests = requests;
                        var res_updated = service.Spreadsheets.BatchUpdate(requestBody, result.SpreadsheetId).Execute();

                        result = service.Spreadsheets.Get(result.SpreadsheetId).Execute();

                        var pnsheet = result.Sheets[result.Sheets.Count - 1];

                        Core.Entities.Integration.GoogleSheet.SpreadPunnelSheetViewModel result_data = new Core.Entities.Integration.GoogleSheet.SpreadPunnelSheetViewModel()
                        {
                            Id      = result.SpreadsheetId,
                            SheetId = pnsheet.Properties.SheetId
                        };
                        res.Data = result_data;
                        res.Code = System.Net.HttpStatusCode.OK;
                    }
                }
            }
            catch (Exception ex)
            {
                _log.Error(ex);
                res.Message = "Không tìm thấy Spread Id: " + id;
            }
            return(res);
        }