コード例 #1
0
        public IQueryable<AlertSettingViewModel> GetAlertSetting(String EventClass)
        {
            List<AlertSettingViewModel> ret = new List<AlertSettingViewModel>();

            var qry = db.SystemSetting.Where(x => x.Seq != 0);
            if (EventClass != "" && db.SystemSetting.Where(x => x.EventClass == EventClass).Count() != 0)
                qry = db.SystemSetting.Where(x => x.EventClass == EventClass);
            else
                qry = db.SystemSetting.Where(x => x.EventClass == null);
            foreach (SystemSetting o in qry) {
                AlertSettingViewModel s = new AlertSettingViewModel();

                s.AlertTimes = o.AlertTimes;
                s.EventClass = o.EventClass;
                s.isSysDefault = o.isSysDefault;
                s.Seq = o.Seq;
                s.TimeSetting = new List<AlertTimeSettingViewModel>();
                s.HolidaySetting = new List<AlertHolidaySettingViewModel>();
                s.DetailSetting = new List<AlertDetailSettingViewModel>();

                var qry2 = db.AlertTimeSetting.Where(x => x.Seq != 0);
                if (EventClass != "" && db.AlertTimeSetting.Where(x => x.EventClass == EventClass).Count() != 0)
                    qry2 = db.AlertTimeSetting.Where(x => x.EventClass == EventClass);
                else
                    qry2 = db.AlertTimeSetting.Where(x => x.EventClass == null);
                foreach (AlertTimeSetting o2 in qry2) {
                    AlertTimeSettingViewModel t = new AlertTimeSettingViewModel();

                    t.EventClass = o2.EventClass;
                    t.isSysDefault = o2.isSysDefault;
                    t.Seq = o2.Seq;
                    t.Week = o2.Week;
                    t.isAlert = o2.isAlert;
                    t.StartTime = o2.StartTime;
                    t.EndTime = o2.EndTime;
                    t.StartTime2 = o2.StartTime2;
                    t.EndTime2 = o2.EndTime2;
                    t.StartTime3 = o2.StartTime3;
                    t.EndTime3 = o2.EndTime3;

                    s.TimeSetting.Add(t);
                }

                var qry3 = db.AlertHolidaySetting.Where(x => x.Seq != 0);
                if (EventClass != "" && db.AlertHolidaySetting.Where(x => x.EventClass == EventClass).Count() != 0)
                    qry3 = db.AlertHolidaySetting.Where(x => x.EventClass == EventClass);
                else
                    qry3 = db.AlertHolidaySetting.Where(x => x.EventClass == null);
                foreach (AlertHolidaySetting o3 in qry3) {
                    AlertHolidaySettingViewModel h = new AlertHolidaySettingViewModel();

                    h.EventClass = o3.EventClass;
                    h.isSysDefault = o3.isSysDefault;
                    h.Seq = o3.Seq;
                    h.EndDate = o3.EndDate;
                    h.StartDate = o3.StartDate;
                    h.isAlert = o3.isAlert;

                    s.HolidaySetting.Add(h);
                }

                var qry4 = db.AlertDetailSetting.Where(x => x.Seq != 0);
                if (EventClass != "" && db.AlertDetailSetting.Where(x => x.EventClass == EventClass).Count() != 0)
                    qry4 = db.AlertDetailSetting.Where(x => x.EventClass == EventClass);
                else
                    qry4 = db.AlertDetailSetting.Where(x => x.EventClass == null);
                foreach (AlertDetailSetting o4 in qry4) {
                    AlertDetailSettingViewModel d = new AlertDetailSettingViewModel();

                    d.EventClass = o4.EventClass;
                    d.isSysDefault = o4.isSysDefault;
                    d.Seq = o4.Seq;
                    d.AlertEvent = o4.AlertEvent;
                    d.FirstTime = o4.FirstTime;
                    d.Memo = o4.Memo;
                    d.SecondTime = o4.SecondTime;
                    d.Times = o4.Times;

                    s.DetailSetting.Add(d);
                }
                ret.Add(s);
            }
            return ret.AsQueryable();
        }
コード例 #2
0
        public String SaveAlertSetting(AlertSettingViewModel Setting)
        {
            String ret = "false";
            try
            {
                if (Setting.EventClass == null) {
                    SystemSetting setting = db.SystemSetting.Find(db.SystemSetting.Where(x => x.EventClass == null).Select(x => x.Seq).First());
                    setting.AlertTimes = Setting.AlertTimes;
                    db.SaveChanges();

                    var qry = db.AlertTimeSetting.Where(x => x.EventClass == null);
                    foreach (AlertTimeSetting o in qry) {
                        o.StartTime = Setting.TimeSetting[0].StartTime;
                        o.StartTime2 = Setting.TimeSetting[0].StartTime2;
                        o.StartTime3 = Setting.TimeSetting[0].StartTime3;
                        o.EndTime = Setting.TimeSetting[0].EndTime;
                        o.EndTime2 = Setting.TimeSetting[0].EndTime2;
                        o.EndTime3 = Setting.TimeSetting[0].EndTime3;
                        o.isAlert = Setting.TimeSetting[o.Week - 1].isAlert;
                    }

                    db.SaveChanges();

                    var qry2 = db.AlertHolidaySetting.Where(x => x.EventClass == null);
                    foreach (AlertHolidaySetting o in qry2) {
                        db.AlertHolidaySetting.Remove(o);
                    }
                    db.SaveChanges();

                    for (int k = 0; k < Setting.HolidaySetting.Count; k++) {
                        AlertHolidaySetting hSetting = new AlertHolidaySetting();
                                                
                        hSetting.EventClass = null;
                        hSetting.EndDate = Setting.HolidaySetting[k].EndDate.Date.AddHours(23).AddMinutes(59);
                        hSetting.isSysDefault = true;
                        hSetting.StartDate = Setting.HolidaySetting[k].StartDate.Date;
                        hSetting.isAlert = Setting.HolidaySetting[k].isAlert;
                        
                        db.AlertHolidaySetting.Add(hSetting);
                        db.SaveChanges();
                    }



                    for (int k = 0; k < Setting.DetailSetting.Count; k++) {
                        int temp = Setting.DetailSetting[k].AlertEvent;
                        var qry3 = db.AlertDetailSetting.Where(x => x.EventClass == null && x.AlertEvent == temp);
                        foreach (AlertDetailSetting o in qry3) {
                            o.FirstTime = Setting.DetailSetting[k].FirstTime;
                            if (Setting.DetailSetting[k].Memo == null)
                                o.Memo = "";
                            else
                                o.Memo = Setting.DetailSetting[k].Memo;
                            o.SecondTime = Setting.DetailSetting[k].SecondTime;
                            o.Times = Setting.DetailSetting[k].Times;
                        }
                        db.SaveChanges();
                    }

                    

                    ret = "true";
                }
                else {
                    if (Setting.isSysDefault) {
                        SystemSetting setting = new SystemSetting();

                        setting.EventClass = Setting.EventClass;
                        setting.AlertTimes = Setting.AlertTimes;
                        setting.SugArriveMin = db.SystemSetting.Where(x => x.EventClass == null).Select(x => x.SugArriveMin).First();
                        setting.SugFinishMin = db.SystemSetting.Where(x => x.EventClass == null).Select(x => x.SugFinishMin).First();
                        setting.isSysDefault = false;
                        
                        db.SystemSetting.Add(setting);
                        db.SaveChanges();

                        for (int k = 0; k < Setting.DetailSetting.Count; k++) {
                            AlertDetailSetting dSetting = new AlertDetailSetting();
                            dSetting.EventClass = Setting.DetailSetting[k].EventClass;
                            dSetting.AlertEvent = Setting.DetailSetting[k].AlertEvent;
                            dSetting.FirstTime = Setting.DetailSetting[k].FirstTime;
                            if (Setting.DetailSetting[k].Memo==null)
                                dSetting.Memo = "";
                            else
                                dSetting.Memo = Setting.DetailSetting[k].Memo;
                            dSetting.SecondTime = Setting.DetailSetting[k].SecondTime;
                            dSetting.isSysDefault = false;
                            dSetting.Times = Setting.DetailSetting[k].Times;

                            db.AlertDetailSetting.Add(dSetting);
                            db.SaveChanges();
                        }

                        ret = "true";

                    }
                    else {
                        SystemSetting setting = db.SystemSetting.Find(db.SystemSetting.Where(x => x.EventClass == Setting.EventClass).Select(x => x.Seq).First());
                        setting.AlertTimes = Setting.AlertTimes;

                        db.SaveChanges();

                        for (int k = 0; k < Setting.DetailSetting.Count; k++) {
                            int temp = Setting.DetailSetting[k].AlertEvent;
                            var qry = db.AlertDetailSetting.Where(x => x.EventClass == Setting.EventClass && x.AlertEvent == temp);
                            foreach (AlertDetailSetting o in qry) {
                                o.FirstTime = Setting.DetailSetting[k].FirstTime;
                                if (Setting.DetailSetting[k].Memo == null)
                                    o.Memo = "";
                                else
                                    o.Memo = Setting.DetailSetting[k].Memo;
                                o.SecondTime = Setting.DetailSetting[k].SecondTime;
                                o.Times = Setting.DetailSetting[k].Times;
                            }
                            db.SaveChanges();
                        }
                        ret = "true";
                    }

                    if (Setting.TimeSetting[0].isSysDefault) {
                        for (int k = 0; k < 7; k++) {
                            AlertTimeSetting aSetting = new AlertTimeSetting();
                            aSetting.EventClass = Setting.TimeSetting[k].EventClass;
                            aSetting.EndTime = Setting.TimeSetting[k].EndTime;
                            aSetting.EndTime2 = Setting.TimeSetting[k].EndTime2;
                            aSetting.EndTime3 = Setting.TimeSetting[k].EndTime3;
                            aSetting.isAlert = Setting.TimeSetting[k].isAlert;
                            aSetting.isSysDefault = false;
                            aSetting.StartTime = Setting.TimeSetting[k].StartTime;
                            aSetting.StartTime2 = Setting.TimeSetting[k].StartTime2;
                            aSetting.StartTime3 = Setting.TimeSetting[k].StartTime3;
                            aSetting.Week = Setting.TimeSetting[k].Week;

                            db.AlertTimeSetting.Add(aSetting);
                            db.SaveChanges();
                        }
                        ret = "true";
                    }
                    else {
                        var qry = db.AlertTimeSetting.Where(x => x.EventClass == Setting.EventClass);
                        foreach (AlertTimeSetting o in qry) {
                            o.StartTime = Setting.TimeSetting[0].StartTime;
                            o.StartTime2 = Setting.TimeSetting[0].StartTime2;
                            o.StartTime3 = Setting.TimeSetting[0].StartTime3;
                            o.EndTime = Setting.TimeSetting[0].EndTime;
                            o.EndTime2 = Setting.TimeSetting[0].EndTime2;
                            o.EndTime3 = Setting.TimeSetting[0].EndTime3;
                            o.isAlert = Setting.TimeSetting[o.Week - 1].isAlert;
                        }
                        db.SaveChanges();
                        ret = "true";
                    }

                    var qry2 = db.AlertHolidaySetting.Where(x => x.EventClass == Setting.EventClass);
                    foreach (AlertHolidaySetting o in qry2) {
                        db.AlertHolidaySetting.Remove(o);
                    }
                    db.SaveChanges();

                    for (int k = 0; k < Setting.HolidaySetting.Count; k++) {
                        AlertHolidaySetting hSetting = new AlertHolidaySetting();
                        
                        hSetting.EventClass = Setting.EventClass;
                        hSetting.EndDate = Setting.HolidaySetting[k].EndDate.Date.AddHours(23).AddMinutes(59);
                        hSetting.isSysDefault = false;
                        hSetting.StartDate = Setting.HolidaySetting[k].StartDate.Date;
                        hSetting.isAlert = Setting.HolidaySetting[k].isAlert;

                        db.AlertHolidaySetting.Add(hSetting);
                        db.SaveChanges();
                    }
                }

            }
            catch
            {
                ret = "false";
            }
            return ret;
        }