Ejemplo n.º 1
0
        /// <summary>
        /// Determins the field is of the specified type.
        /// </summary>
        /// <typeparam name="T">The type of the elements of source.</typeparam>
        /// <param name="source">The value to check.</param>
        /// <param name="type">Type couch type to compare.</param>
        /// <returns>true if the field has the specified type; otherwise, false.</returns>
        public static bool IsCouchType <T>(this T source, CouchType couchType)
        {
#pragma warning disable IDE0046 // Convert to conditional expression
            if (couchType == CouchType.CNull && source == null)
            {
                return(true);
            }
            if (couchType == CouchType.CBoolean && source is bool)
            {
                return(true);
            }
            if (couchType == CouchType.CString && source is string)
            {
                return(true);
            }
            if (couchType == CouchType.CNumber && typeof(T).IsPrimitive)
            {
                return(true);
            }
            if (couchType == CouchType.CArray && source is IEnumerable)
            {
                return(true);
            }
            return(couchType == CouchType.CObject && typeof(T).IsClass);

#pragma warning restore IDE0046 // Convert to conditional expression
        }
Ejemplo n.º 2
0
        private Expression VisitIsCouchTypeMethod(MethodCallExpression m)
        {
            _sb.Append("{");
            Visit(m.Arguments[0]);
            _sb.Append(":{\"$type\":");
            ConstantExpression cExpression = m.Arguments[1] as ConstantExpression ?? throw new ArgumentException("Argument is not of type ConstantExpression.");
            CouchType          couchType   = cExpression.Value as CouchType ?? throw new ArgumentException("Argument is not of type CouchType.");

            _sb.Append($"\"{couchType.Value}\"");
            _sb.Append("}}");
            return(m);
        }
 /// <summary>
 /// Determines the field is of the specified type.
 /// </summary>
 /// <typeparam name="T">The type of the elements of source.</typeparam>
 /// <param name="source">The value to check.</param>
 /// <param name="couchType">Type couch type to compare.</param>
 /// <returns>true if the field has the specified type; otherwise, false.</returns>
 public static bool IsCouchType <T>(this T source, CouchType couchType)
 {
     if (couchType == CouchType.CNull && source == null)
     {
         return(true);
     }
     if (couchType == CouchType.CBoolean && source is bool)
     {
         return(true);
     }
     if (couchType == CouchType.CString && source is string)
     {
         return(true);
     }
     if (couchType == CouchType.CNumber && typeof(T).IsPrimitive)
     {
         return(true);
     }
     if (couchType == CouchType.CArray && source is IEnumerable)
     {
         return(true);
     }
     return(couchType == CouchType.CObject && typeof(T).IsClass);
 }
Ejemplo n.º 4
0
        public static void Initialize(CouchtypeContext context)
        {
            context.Database.EnsureCreated();

            // Look for any students.
            if (context.Students.Any())
            {
                return;   // DB has been seeded
            }

            var couch = new CouchType[]
            {
                new Student {
                    FirstMidName = "Carson", LastName = "Alexander", EnrollmentDate = DateTime.Parse("2005-09-01")
                },
                new Student {
                    FirstMidName = "Meredith", LastName = "Alonso", EnrollmentDate = DateTime.Parse("2002-09-01")
                },
                new Student {
                    FirstMidName = "Arturo", LastName = "Anand", EnrollmentDate = DateTime.Parse("2003-09-01")
                },
                new Student {
                    FirstMidName = "Gytis", LastName = "Barzdukas", EnrollmentDate = DateTime.Parse("2002-09-01")
                },
                new Student {
                    FirstMidName = "Yan", LastName = "Li", EnrollmentDate = DateTime.Parse("2002-09-01")
                },
                new Student {
                    FirstMidName = "Peggy", LastName = "Justice", EnrollmentDate = DateTime.Parse("2001-09-01")
                },
                new Student {
                    FirstMidName = "Laura", LastName = "Norman", EnrollmentDate = DateTime.Parse("2003-09-01")
                },
                new Student {
                    FirstMidName = "Nino", LastName = "Olivetto", EnrollmentDate = DateTime.Parse("2005-09-01")
                }
            };

            foreach (Student s in students)
            {
                context.Students.Add(s);
            }
            context.SaveChanges();

            var courses = new Course[]
            {
                new Course {
                    CourseID = 1050, Title = "Chemistry", Credits = 3
                },
                new Course {
                    CourseID = 4022, Title = "Microeconomics", Credits = 3
                },
                new Course {
                    CourseID = 4041, Title = "Macroeconomics", Credits = 3
                },
                new Course {
                    CourseID = 1045, Title = "Calculus", Credits = 4
                },
                new Course {
                    CourseID = 3141, Title = "Trigonometry", Credits = 4
                },
                new Course {
                    CourseID = 2021, Title = "Composition", Credits = 3
                },
                new Course {
                    CourseID = 2042, Title = "Literature", Credits = 4
                }
            };

            foreach (Course c in courses)
            {
                context.Courses.Add(c);
            }
            context.SaveChanges();

            var enrollments = new Enrollment[]
            {
                new Enrollment {
                    StudentID = 1, CourseID = 1050, Grade = Grade.A
                },
                new Enrollment {
                    StudentID = 1, CourseID = 4022, Grade = Grade.C
                },
                new Enrollment {
                    StudentID = 1, CourseID = 4041, Grade = Grade.B
                },
                new Enrollment {
                    StudentID = 2, CourseID = 1045, Grade = Grade.B
                },
                new Enrollment {
                    StudentID = 2, CourseID = 3141, Grade = Grade.F
                },
                new Enrollment {
                    StudentID = 2, CourseID = 2021, Grade = Grade.F
                },
                new Enrollment {
                    StudentID = 3, CourseID = 1050
                },
                new Enrollment {
                    StudentID = 4, CourseID = 1050
                },
                new Enrollment {
                    StudentID = 4, CourseID = 4022, Grade = Grade.F
                },
                new Enrollment {
                    StudentID = 5, CourseID = 4041, Grade = Grade.C
                },
                new Enrollment {
                    StudentID = 6, CourseID = 1045
                },
                new Enrollment {
                    StudentID = 7, CourseID = 3141, Grade = Grade.A
                },
            };

            foreach (Enrollment e in enrollments)
            {
                context.Enrollments.Add(e);
            }
            context.SaveChanges();
        }