public ResultDto PostCommonSenseData(CommonSenseDto commonSenseDto) { var result = new ResultDto { ResultDescription = "" }; using (var context = new BookcaveEntities()) { var bookRecords = context.Database.SqlQuery<BookRecord>("Select * from BookRecords where Isbn13 = {0}", commonSenseDto.Isbn13); if (bookRecords.FirstOrDefault() == null) return new ResultDto { ResultDescription = "no general info exists yet for " + commonSenseDto.Isbn13 }; var contentRecords = context.Database.SqlQuery<ContentRecord>("Select * from ContentRecords where Isbn13 = {0}", commonSenseDto.Isbn13); var currentContentRecord = contentRecords.FirstOrDefault(); Mapper.CreateMap<CommonSenseDto, ContentRecord>(); if (currentContentRecord != null) { var modifiedContentRecord = Mapper.Map<CommonSenseDto, ContentRecord>(commonSenseDto, currentContentRecord); var aggregateContent = DataFunctions.GetAverageContentAge(modifiedContentRecord); context.Database.ExecuteSqlCommand ( "update ContentRecords set CommonSensePause={0},CommonSenseOn={1},CommonSenseNoKids={2},AverageContentAge={3} where Isbn13={4}", commonSenseDto.CommonSensePause, commonSenseDto.CommonSenseOn, commonSenseDto.CommonSenseNoKids, aggregateContent, commonSenseDto.Isbn13 ); context.SaveChanges(); result.ResultDescription += commonSenseDto.Isbn13 + " contents updated"; } else { var newContentRecord = Mapper.Map<CommonSenseDto, ContentRecord>(commonSenseDto); newContentRecord.AverageContentAge = DataFunctions.GetAverageContentAge(newContentRecord); context.ContentRecords.Add(newContentRecord); context.SaveChanges(); result.ResultDescription += commonSenseDto.Isbn13 + " contents added"; } } return result; }
public static StandardResult postcsm(CommonSenseDto csmDto) { using (WebClient webClient = new WebClient()) { webClient.Headers["Content-type"] = "application/json"; var memoryStream = new MemoryStream(); var serializedJson = new DataContractJsonSerializer(typeof(LexileDto)); serializedJson.WriteObject(memoryStream, csmDto); var uri = new Uri(@"http://apps.apprendacloud.com/api/services/json/r/bookcavetest(v1)/BookService/IBook/books"); byte[] res1 = webClient.UploadData(uri.ToString(), "POST", memoryStream.ToArray()); StandardResult stdres = standardResult(res1, csmDto.Isbn13); return stdres; } }
public static StandardResult postCommonSenseMedia(csmdata csm) { // map CommonSenseMedia to CommonSenseDto var csmDto = new CommonSenseDto(); csmDto.Isbn13 = csm.isbn13; // csmDto.CommonSenseUrl = csm.url; csmDto.CommonSenseOn = (byte)csm.onage; csmDto.CommonSensePause = (byte)(csm.offage - 1); csmDto.CommonSenseNoKids = csm.notforkids; // csmDto.CommonSenseGenre = csm.genre; // csmDto.CommonSenseReview = (double?)csm.review; // csmDto.CommonSenseParentReview = (double?)csm.parentreview; // csmDto.CommonSenseKidReview = (double?)csm.kidreview; StandardResult result = postcsm(csmDto); return result; }
public static List<StandardResult> postCommonSenseMedia(List<CommonSenseMedia> csms) { List<StandardResult> resultset = new List<StandardResult>(); foreach (CommonSenseMedia csm in csms) { // map CommonSenseMedia to CommonSenseDto var csmDto = new CommonSenseDto(); csmDto.Isbn13 = csm.Isbn13; // csmDto.CommonSenseUrl = csm.url; csmDto.CommonSenseOn = (byte)csm.onage; csmDto.CommonSensePause = (byte)(csm.offage - 1); csmDto.CommonSenseNoKids = csm.notforkids; // csmDto.CommonSenseGenre = csm.genre; // csmDto.CommonSenseReview = (double?)csm.review; // csmDto.CommonSenseParentReview = (double?)csm.parentreview; // csmDto.CommonSenseKidReview = (double?)csm.kidreview; StandardResult result = postcsm(csmDto); resultset.Add(result); } return resultset; }
public void PostCommonSenseData() { using (var sr = new StreamReader(@"C:\Users\tiliska\documents\csm.csv")) { sr.ReadLine(); string svLine; // Read and display lines from the file until the end of // the file is reached. while ((svLine = sr.ReadLine()) != null) { var commonSenseData = svLine.Split(','); var commonSenseDto = new CommonSenseDto(); //isbn13 var isbn13 = commonSenseData[0]; commonSenseDto.Isbn13 = isbn13; var service = new BookService(); var bookReviewUrl = commonSenseData[1]; var notForKids = commonSenseData[2]; commonSenseDto.CommonSenseNoKids = Convert.ToBoolean(notForKids); var commonSensePause = commonSenseData[3]; commonSenseDto.CommonSensePause = Convert.ToByte(commonSensePause); var commonSenseOn = commonSenseData[4]; commonSenseDto.CommonSenseOn = Convert.ToByte(commonSenseOn); if (post) { var sourceCode = "commonsense"; if (useCloud) uri = new Uri(cloudUrl + sourceCode); else uri = new Uri(localUrl + sourceCode); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); var webClient = new WebClient(); webClient.Headers["Content-type"] = "application/json"; var memoryStream = new MemoryStream(); var serializedJson = new DataContractJsonSerializer(typeof(CommonSenseDto)); serializedJson.WriteObject(memoryStream, commonSenseDto); try { byte[] res1 = webClient.UploadData(uri.ToString(), "POST", memoryStream.ToArray()); } catch (WebException) { Console.WriteLine(commonSenseDto.Isbn13 + " doesn't have general info"); } } else service.PostCommonSenseData(commonSenseDto); }//while }//using }