Пример #1
0
            private void updateSection(ASECTION_CONTROL_100 sec_100)
            {
                ASECTION_CONTROL_100 secTemp = new ASECTION_CONTROL_100();

                using (sc.Data.DBConnection_EF con = sc.Data.DBConnection_EF.GetUContext())
                {
                    secTemp.SEC_ID  = sec_100.SEC_ID;
                    secTemp.SUB_VER = "";
                    con.ASECTION_CONTROL_100.Attach(secTemp);
                    secTemp.CHG_AREA_SECSOR_1 = sec_100.CHG_AREA_SECSOR_1;
                    secTemp.CHG_AREA_SECSOR_2 = sec_100.CHG_AREA_SECSOR_2;
                    secTemp.OBS_SENSOR_F      = sec_100.OBS_SENSOR_F;
                    secTemp.OBS_SENSOR_R      = sec_100.OBS_SENSOR_R;
                    secTemp.OBS_SENSOR_L      = sec_100.OBS_SENSOR_L;
                    secTemp.RANGE_SENSOR_F    = sec_100.RANGE_SENSOR_F;
                    secTemp.IS_ADR_RPT        = sec_100.IS_ADR_RPT;
                    secTemp.CAN_GUIDE_CHG     = sec_100.CAN_GUIDE_CHG;
                    secTemp.HID_CONTROL       = sec_100.HID_CONTROL;
                    secTemp.BRANCH_FLAG       = sec_100.BRANCH_FLAG;
                    con.Entry(secTemp).Property(p => p.CHG_AREA_SECSOR_1).IsModified = true;
                    con.Entry(secTemp).Property(p => p.CHG_AREA_SECSOR_2).IsModified = true;
                    con.Entry(secTemp).Property(p => p.OBS_SENSOR_F).IsModified      = true;
                    con.Entry(secTemp).Property(p => p.OBS_SENSOR_R).IsModified      = true;
                    con.Entry(secTemp).Property(p => p.OBS_SENSOR_L).IsModified      = true;
                    con.Entry(secTemp).Property(p => p.RANGE_SENSOR_F).IsModified    = true;
                    con.Entry(secTemp).Property(p => p.IS_ADR_RPT).IsModified        = true;
                    con.Entry(secTemp).Property(p => p.CAN_GUIDE_CHG).IsModified     = true;
                    con.Entry(secTemp).Property(p => p.HID_CONTROL).IsModified       = true;
                    con.Entry(secTemp).Property(p => p.BRANCH_FLAG).IsModified       = true;

                    sectionControlDao.Update(con, secTemp);
                    con.Entry(secTemp).State = System.Data.Entity.EntityState.Detached;
                }
            }
Пример #2
0
 public bool updateSectionData(ASECTION sec, ASECTION_CONTROL_100 sec_100)
 {
     try
     {
         using (System.Transactions.TransactionScope tx = sc.Common.SCUtility.getTransactionScope())
         {
             using (sc.Data.DBConnection_EF con = sc.Data.DBConnection_EF.GetUContext())
             {
                 updateSection(sec);
                 updateSection(sec_100);
                 tx.Complete();
             }
         }
     }
     catch (Exception ex)
     {
         NLog.LogManager.GetCurrentClassLogger().Error(ex, "Exception:");
         return(false);
     }
     return(true);
 }
Пример #3
0
        private async void uc_bt_Save1_Click(object sender, EventArgs e)
        {
            string          sec_id      = cmbo_SectionID_Value.Text as string;
            E_DIRC_DRIV     drive_dir   = (E_DIRC_DRIV)cmbo_DriveDir_Value.SelectedItem;
            E_DIRC_GUID     guide_dir   = (E_DIRC_GUID)cmbo_GuideDir_Value.SelectedItem;
            E_AreaSensorDir area_sensor = (E_AreaSensorDir)cmbo_AreaSensor_Value.SelectedItem;
            //string seg_num = cmbo_SegmentNo_Value.Text;

            E_DIRC_GUID     guide_dir_1     = (E_DIRC_GUID)cmbo_DirectionOfGuide1_Value.SelectedItem;
            E_DIRC_GUID     guide_dir_2     = (E_DIRC_GUID)cmbo_DirectionOfGuide2_Value.SelectedItem;
            string          segment_num_1   = cmbo_SegmentNumber1_Value.Text;
            string          segment_num_2   = cmbo_SegmentNumber2_Value.Text;
            E_AreaSensorDir areaSensorDir_1 = (E_AreaSensorDir)cmbo_AreaSensor1_Value.SelectedItem;
            E_AreaSensorDir areaSensorDir_2 = (E_AreaSensorDir)cmbo_AreaSensor2_Value.SelectedItem;

            double section_distance = (double)(num_section_dis.Value * 10000);
            double section_speed    = (double)(num_section_speed.Value * 100);

            bool CollisionAvoidance_ForwardStraight = ck_CA_Senser_Forward.Checked;
            bool CollisionAvoidance_RightStraight   = skinCheckBox2.Checked;
            bool CollisionAvoidance_LeftStraight    = skinCheckBox3.Checked;
            bool LaserSensor_ForwardStraight        = skinCheckBox4.Checked;
            bool PresenceBlockingRequest            = skinCheckBox5.Checked;
            bool PresenceAddressReport = skinCheckBox6.Checked;
            bool EnableChangeGuideArea = skinCheckBox7.Checked;
            bool PresenceHIDControl    = skinCheckBox8.Checked;
            bool PresenceDiverge       = skinCheckBox9.Checked;

            ASECTION sec = new ASECTION()
            {
                SEC_ID        = sec_id,
                DIRC_DRIV     = drive_dir,
                DIRC_GUID     = guide_dir,
                AREA_SECSOR   = area_sensor,
                CDOG_1        = guide_dir_1,
                CDOG_2        = guide_dir_2,
                CHG_SEG_NUM_1 = segment_num_1,
                CHG_SEG_NUM_2 = segment_num_2,
                SEC_DIS       = section_distance,
                SEC_SPD       = section_speed,
                PRE_BLO_REQ   = PresenceBlockingRequest ? 1 : 0,
                //BRANCH_FLAG = PresenceDiverge
            };
            ASECTION_CONTROL_100 sec_100 = new ASECTION_CONTROL_100()
            {
                SEC_ID            = sec_id,
                CHG_AREA_SECSOR_1 = areaSensorDir_1,
                CHG_AREA_SECSOR_2 = areaSensorDir_2,
                OBS_SENSOR_F      = CollisionAvoidance_ForwardStraight ? 1 : 0,
                OBS_SENSOR_R      = CollisionAvoidance_RightStraight ? 1 : 0,
                OBS_SENSOR_L      = CollisionAvoidance_LeftStraight ? 1 : 0,
                RANGE_SENSOR_F    = LaserSensor_ForwardStraight ? 1 : 0,
                IS_ADR_RPT        = PresenceAddressReport,
                CAN_GUIDE_CHG     = EnableChangeGuideArea,
                HID_CONTROL       = PresenceHIDControl,
                BRANCH_FLAG       = PresenceDiverge
            };
            bool isSuccess = false;
            await Task.Run(() =>
            {
                isSuccess = dataSetting.updateSectionData(sec, sec_100);
            });

            if (isSuccess)
            {
                VSection_100ObjToShow vsec = vsecs.Where(secShow => secShow.SEC_ID == sec_id).SingleOrDefault();
                vsec.DIRC_DRIV     = sec.DIRC_DRIV;
                vsec.DIRC_GUID     = sec.DIRC_GUID;
                vsec.AREA_SECSOR   = sec.AREA_SECSOR;
                vsec.CDOG_1        = sec.CDOG_1;
                vsec.CDOG_2        = sec.CDOG_2;
                vsec.CHG_SEG_NUM_1 = sec.CHG_SEG_NUM_1;
                vsec.CHG_SEG_NUM_2 = sec.CHG_SEG_NUM_2;
                vsec.SEC_DIS       = sec.SEC_DIS;
                vsec.SEC_SPD       = sec.SEC_SPD;
                vsec.PRE_BLO_REQ   = sec.PRE_BLO_REQ;
                //vsec.PRE_DIV = sec.PRE_DIV;

                vsec.CHG_AREA_SECSOR_1 = sec_100.CHG_AREA_SECSOR_1;
                vsec.CHG_AREA_SECSOR_2 = sec_100.CHG_AREA_SECSOR_2;
                vsec.OBS_SENSOR_F      = sec_100.OBS_SENSOR_F;
                vsec.OBS_SENSOR_R      = sec_100.OBS_SENSOR_R;
                vsec.OBS_SENSOR_L      = sec_100.OBS_SENSOR_L;
                vsec.RANGE_SENSOR_F    = sec_100.RANGE_SENSOR_F;
                vsec.IS_ADR_RPT        = sec_100.IS_ADR_RPT;
                vsec.CAN_GUIDE_CHG     = sec_100.CAN_GUIDE_CHG;
                vsec.HID_CONTROL       = sec_100.HID_CONTROL;
                vsec.BRANCH_FLAG       = sec_100.BRANCH_FLAG;
            }
        }
 public void Update(DBConnection_EF con, ASECTION_CONTROL_100 vh)
 {
     con.SaveChanges();
 }