Пример #1
0
        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;
        }
Пример #2
0
        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;
            }
        }
Пример #3
0
        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;
        }
Пример #4
0
        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;
        }
Пример #5
0
        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
        }