/* * GET http://localhost:4338/api/SpreadSheet/34567/tickets * * response: * { * "rowId": 31519, * "ticketA": { * "count": 1, * "participants": [ * { * "rowId": 31519, * "pId": 43239, * "name": "-", * "email": "-", * "phone": "-", * "jobTitle": "-", * "company": "-", * "ticket": "TicketA" * } * ] * }, * "ticketB": { * "count": 2, * "participants": [ * { * "rowId": 31519, * "pId": 24978, * "name": "-", * "email": "-", * "phone": "-", * "jobTitle": "-", * "company": "-", * "ticket": "TicketB" * } * ] * }, * "ticketC": { * "count": 2, * "participants": [ * { * "rowId": 31519, * "pId": 78304, * "name": "-", * "email": "-", * "phone": "-", * "jobTitle": "-", * "company": "-", * "ticket": "TicketC" * } * ] * } * } */ public TicketsDataResponse GetTicketsData(int rowId) { var service = SpreadSheetServiceFactory.Produce(); var rowsData = SpreadSheetServiceHelper.FindRows(service, rowId); if (rowsData == null) { return(null); } var response = new TicketsDataResponse { RowId = rowId, TicketA = new TicketData(), TicketB = new TicketData(), TicketC = new TicketData() }; foreach (var rowData in rowsData) { var participant = new ParticipantDataRequest { RowId = rowId, pId = Convert.ToInt32(rowData[11]), Name = rowData[12].ToString(), Phone = rowData[13].ToString(), Email = rowData[14].ToString(), JobTitle = rowData[15].ToString(), Company = rowData[16].ToString(), TicketName = rowData[17].ToString() }; switch (participant.TicketName.ToLower()) { case "ticketa": response.TicketA.Participants.Add(participant); break; case "ticketb": response.TicketB.Participants.Add(participant); break; case "ticketc": response.TicketC.Participants.Add(participant); break; } } return(response); }
/* * POST http://localhost:4338/api/SpreadSheet/participant/update * * request: * { * "rowId": 1234, * "pId": 3344, * "name": "Avi", * "email" : "*****@*****.**", * "phone":"054-5555555", * "jobTitle": "Developer", * "company": "Celcom", * "ticket": "TicketA" * } */ public int UpdateParticipantData([FromBody] ParticipantDataRequest request) { var service = SpreadSheetServiceFactory.Produce(); var rowNumber = SpreadSheetServiceHelper.FindParticipantRowNumber(service, request.RowId, request.pId); var values = new List <object> { request.Name, request.Phone, request.Email, request.JobTitle, request.Company }; var apiUpdateRequest = service.Spreadsheets.Values.Update(new ValueRange { MajorDimension = "ROWS", // COLUMNS/ ROWS Values = new List <IList <object> > { values } }, AppConfig.SpreadSheetId, string.Format("Sheet1!M{0}", rowNumber)); // M2 = starting point apiUpdateRequest.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.RAW; var apiUpdateResponse = apiUpdateRequest.Execute(); return(apiUpdateResponse.UpdatedColumns.HasValue ? apiUpdateResponse.UpdatedColumns.Value : 0); }