Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            using (var mySql = new MySqlContext())
            {
                int cnt = mySql.Depart.Count();
                Console.WriteLine(cnt);
            }

            Console.ReadKey();
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            Console.WriteLine(DateTime.Now);
            Stopwatch sw = Stopwatch.StartNew();

            using (var pgAdmin = new PgAdminContext())
            {
                using (var mySql = new MySqlContext())
                {
                    //INSERT INTO `units` (UnitSn, UnitName, UnitIp, UnitPort) VALUES ('00-1', 'IrisKing', '8.8.8.8', '8888');
                    Units units = new Units()
                    {
                        UnitId = 1,
                        UnitSn = "00-1",
                        UnitName = "中科虹霸",
                        //ParentUnitId =
                        UnitIp = "8.8.8.8",
                        UnitPort = "8888",
                        CreateTime = DateTime.Now,
                        UpdateTime = DateTime.Now,
                        //DeleteTime =
                        //Memo = "",
                    };

                    mySql.Units.Add(units);
                    int rows = mySql.SaveChanges();
                    Console.WriteLine(rows);

                    var devs = pgAdmin.iris_device.Select(d => new IrisDevice()
                    {
                        UnitId = units.UnitId,
                        DevSn = d.dev_sn,
                        DevType = d.dev_type ?? 6,
                        DevAddress = d.place,
                        StartTime = d.start_time,
                        Place = d.place,
                    });
                    mySql.IrisDevice.AddRange(devs);
                    rows = mySql.SaveChanges();
                    Console.WriteLine(rows);

                    #region ClassType

                    var cts = pgAdmin.class_type.Select(ct => new ClassType()
                    {
                        UnitId = units.UnitId,
                        ClassTypeId = ct.class_type_id,
                        ClassTypeName = ct.class_type_name,
                        CreateTime = ct.create_time ?? DateTime.Now,
                        UpdateTime = ct.update_time ?? DateTime.Now,
                        DeleteTime = ct.delete_info == null ? (DateTime?)null : DateTime.Now,
                        Memo = ct.memo,
                    });
                    mySql.ClassType.AddRange(cts);
                    rows = mySql.SaveChanges();
                    Console.WriteLine(rows);

                    #endregion

                    #region WorkType

                    var wts = pgAdmin.work_type.Select(wt => new WorkType()
                    {
                        UnitId = units.UnitId,
                        WorkTypeId = wt.work_type_id,
                        WorkTypeName = wt.work_type_name,
                        CreateTime = wt.create_time ?? DateTime.Now,
                        UpdateTime = wt.update_time ?? DateTime.Now,
                        DeleteTime = wt.delete_info == null ? (DateTime?)null : DateTime.Now,
                        Memo = wt.memo,
                    });
                    mySql.WorkType.AddRange(wts);
                    rows = mySql.SaveChanges();
                    Console.WriteLine(rows);

                    #endregion

                    #region PrincipalType

                    var pts = pgAdmin.principal_type.Select(pt => new PrincipalType()
                    {
                        UnitId = units.UnitId,
                        PrincipalTypeId = pt.principal_type_id,
                        PrincipalTypeName = pt.principal_type_name,
                        PrincipalTypeOrder = pt.principal_type_order,
                        CreateTime = pt.create_time ?? DateTime.Now,
                        UpdateTime = pt.update_time ?? DateTime.Now,
                        DeleteTime = pt.delete_info == null ? (DateTime?)null : DateTime.Now,
                        Memo = pt.memo,
                    });
                    mySql.PrincipalType.AddRange(pts);
                    rows = mySql.SaveChanges();
                    Console.WriteLine(rows);

                    #endregion

                    #region Principal

                    int principalTypeCount = mySql.PrincipalType.Count();
                    var ps = pgAdmin.principal.Select(p => new Principal()
                    {
                        UnitId = units.UnitId,
                        PrincipalId = p.principal_id,
                        PrincipalName = p.principal_name,
                        PrincipalTypeId = p.principal_id % principalTypeCount <= 0 ? 1 : p.principal_id % principalTypeCount,
                        //PrincipalTypeId = GetMod(p.principal_id, principalTypeCount),
                        CreateTime = p.create_time ?? DateTime.Now,
                        UpdateTime = p.update_time ?? DateTime.Now,
                        DeleteTime = p.delete_info == null ? (DateTime?)null : DateTime.Now,
                        Memo = p.memo,
                    });
                    mySql.Principal.AddRange(ps);
                    rows = mySql.SaveChanges();
                    Console.WriteLine(rows);

                    #endregion

                    #region Depart

                    var ds = pgAdmin.depart.Select(d => new Depart()
                    {
                        UnitId = units.UnitId,
                        DepartId = d.depart_id,
                        DepartSn = d.depart_sn,
                        DepartName = d.depart_name,
                        ParentDepartId = d.parent_depart_id,
                        ContactPhone = d.contact_phone,
                        CreateTime = d.create_time ?? DateTime.Now,
                        UpdateTime = d.update_time ?? DateTime.Now,
                        DeleteTime = d.delete_time,
                        Memo = d.memo,
                    });
                    mySql.Depart.AddRange(ds);
                    rows = mySql.SaveChanges();
                    Console.WriteLine(rows);

                    #endregion

                    #region PersonBase

                    int departCount = pgAdmin.depart.Count();
                    int principalCount = pgAdmin.principal.Count();
                    int workTypeCount = pgAdmin.work_type.Count();
                    int classTypeCount = pgAdmin.class_type.Count();

                    var pbs = pgAdmin.person_base.Select(pb => new PersonBase()
                    {
                        UnitId = units.UnitId,
                        PersonId = pb.person_id,
                        OwnerKey = pb.owner_key,
                        WorkSn = pb.work_sn,
                        Name = pb.name,
                        DepartId = pb.depart_id % departCount == 0 ? 1 : pb.depart_id % departCount,
                        PrincipalId = pb.principal_id % principalCount == 0 ? 1 : pb.principal_id % principalCount,
                        WorkTypeId = pb.work_type_id % workTypeCount == 0 ? 1 : pb.work_type_id % workTypeCount,
                        ClassTypeId = pb.class_type_id_on_ground % classTypeCount == 0 ? 1 : pb.class_type_id_on_ground % classTypeCount,
                        ClassTypeIdInWell = pb.class_type_id % classTypeCount == 0 ? 1 : pb.class_type_id % classTypeCount,
                        Sex = pb.sex,
                        BloodType = pb.blood_type,
                        Birthdate = pb.birthdate,
                        Workday = pb.workday,
                        IdCard = pb.id_card,
                        Phone = pb.phone,
                        Address = pb.address,
                        Zipcode = pb.zipcode,
                        Email = pb.email,
                        CreateTime = pb.create_time ?? DateTime.Now,
                        UpdateTime = pb.update_time ?? DateTime.Now,
                        DeleteTime = pb.delete_time,
                        Memo = pb.memo,
                        EyeFlag = -1,
                        EnrollTime = DateTime.Now,
                    });
                    mySql.PersonBase.AddRange(pbs);
                    rows = mySql.SaveChanges();
                    Console.WriteLine(rows + "rows" + DateTime.Now);

                    #endregion

                    #region AttendType
                    //leave_type_id > 50 are AttendType

                    var ats = pgAdmin.leave_type.Where(ct => ct.leave_type_id < 50).Select(ct => new AttendType()
                    {
                        AttendTypeId = ct.leave_type_id,
                        AttendTypeName = ct.leave_type_name,
                        AttendSign = ct.attend_sign,
                        Priority = ct.priority,
                        CreateTime = ct.create_time ?? DateTime.Now,
                        UpdateTime = ct.update_time ?? DateTime.Now,
                        DeleteTime = ct.delete_info == null ? (DateTime?)null : DateTime.Now,
                        Memo = ct.memo,
                    });
                    mySql.AttendType.AddRange(ats);
                    rows = mySql.SaveChanges();
                    Console.WriteLine(rows);

                    #endregion

                    #region ClassOrderNormal

                    int classOrderCount = pgAdmin.class_order_normal.Count();
                    var cons = pgAdmin.class_order_normal.Select(con => new ClassOrderNormal()
                    {
                        UnitId = units.UnitId,
                        ClassOrderId = con.class_order_id % classOrderCount == 0 ? 1 : con.class_order_id % classOrderCount,
                        ClassOrderName = con.class_order_name,
                        AttendSign = con.attend_sign,
                        ClassTypeId = con.class_type_id % classTypeCount == 0 ? 1 : con.class_type_id % classTypeCount,
                        AttendOffMinutes = con.attend_off_minutes ?? 1441,
                        InStartTime = con.in_well_start_time ?? 480, //60 * 8 -> 8h
                        //InEarlyEndTime =
                        InEndTime = con.in_well_end_time,
                        //InOutDivision =
                        OutStartTime = con.out_well_start_time,
                        //OutOvertimeStart =
                        OutEndTime = con.out_well_end_time ?? 960, //60*16  ->16h
                        RestTime = string.Empty,
                        WorkCnt = "60,10;120,15",
                        CreateTime = con.create_time ?? DateTime.Now,
                        UpdateTime = con.update_time ?? DateTime.Now,
                        DeleteTime = con.delete_info == null ? (DateTime?)null : DateTime.Now,
                        Memo = con.memo,
                    });
                    mySql.ClassOrderNormal.AddRange(cons);
                    rows = mySql.SaveChanges();
                    Console.WriteLine(rows);

                    #endregion

                    #region PersonRecogBase

                    var devices = new string[]
                    {
                        "00:E0:4C:3A:87:E4",
                        "00:e0:4c:3a:87:eb",
                        "00:E0:4C:3A:87:EC",
                        "00:E0:4C:3A:87:F8",
                        "00:E0:4C:3A:88:0E",
                        "00:E0:4C:3A:88:0E",
                        "00:E0:4C:3A:88:18",
                        "00:E0:4C:3A:88:54",
                        "00:E0:4C:3A:88:8E",
                        "0000-0000-0000",
                        "0049-2134-1234",
                        "0049-2134-1234",
                        "0049-4B6E-82CC",
                        "0049-4b6e-82E7",
                        "0049-4B6E-83F6",
                        "0049-4B6E-83F8",
                        "0049-4B6E-8455",
                    };

                    var recogs = from prb in pgAdmin.person_recog_base
                                 where devices.Contains(prb.device_sn)
                                 // let r = random.Next(0, devTypes.Length)
                                 select new PersonRecogBase()
                                 {
                                     UnitId = units.UnitId,
                                     PersonRecogLogId = prb.person_recog_log_id,
                                     PersonId = (prb.person_id ?? 0) % classTypeCount == 0 ? 1 : (prb.person_id ?? 0) % classTypeCount,
                                     ClassTypeId = prb.class_type_id % classTypeCount == 0 ? 1 : prb.class_type_id % classTypeCount,
                                     RecogTime = prb.recog_time,
                                     RecogType = prb.recog_type,
                                     DevSn = prb.device_sn,//devices[r],
                                     DevType = prb.dev_type,//devTypes[r],
                                     AtPosition = prb.at_position,
                                     OpTime = prb.op_time,
                                     OperatorName = prb.operator_name,
                                     DeleteTime = prb.delete_time,
                                     Memo = prb.memo,
                                     AttendState = 0,
                                 };
                    var temp = recogs.ToList();

                    mySql.PersonRecogBase.AddRange(temp);
                    rows = mySql.SaveChanges();
                    Console.WriteLine(rows);

                    #endregion

                    #region AttendRecordNormal

                    //int recogBaseCount = pgAdmin.person_recog_base.Count();

                    //var arns = pgAdmin.attend_record_normal.Where(arn => arn.person_id != null).Select(arn => new AttendRecordNormal()
                    //{
                    //    UnitId = units.UnitId,
                    //    AttendRecordId = arn.attend_record_id,
                    //    PersonId = arn.person_id.Value,
                    //    InId = GetMod(arn.in_id ?? 0, recogBaseCount),  //!!!
                    //    InWellTime = arn.in_well_time,
                    //    InAttendTypeId = GetMod(arn.in_leave_type_id ?? 0, 6),
                    //    //InAttendTypeName =
                    //    OutId = GetMod(arn.out_id ?? 0, recogBaseCount),   //!!!
                    //    OutWellTime = arn.out_well_time,
                    //    OutAttendTypeId = GetMod(arn.out_leave_type_id ?? 0, 6),
                    //    //OutAttendTypeName =
                    //    IsValid = arn.is_valid,
                    //    AttendTypeId = GetMod(arn.attend_type ?? 0, 6),
                    //    //LeaveTypeName =
                    //    ClassOrderId = GetMod(arn.class_order_id ?? 0, classOrderCount),//arn.class_order_id,
                    //    WorkTime = arn.work_time ?? 0,
                    //    AttendDay = arn.attend_day,
                    //    DevGroup = arn.dev_group ?? 6,
                    //    WorkCnt = arn.work_cnt,
                    //    CreateTime = arn.create_time,
                    //    Memo = arn.memo,
                    //});
                    //mySql.AttendRecordNormal.AddRange(arns);
                    //rows = mySql.SaveChanges();
                    //Console.WriteLine(rows);

                    #endregion

                    mySql.SystemParams.Add(new SystemParam() { DupTime = 5, InDupRecog = 0, OutDupRecog = 1, UnitId = units.UnitId });
                    rows = mySql.SaveChanges();
                    Console.WriteLine(rows);

                    //int rows = mySql.SaveChanges();
                    //Console.WriteLine(rows);
                }
            }

            Console.WriteLine(sw.ElapsedMilliseconds + "ms");
            Console.ReadKey();
        }