public void ShowDetailWindow(int lscId, string projectId) { try { var lsc = new BLsc().GetLsc(lscId); if (lsc == null) { WebUtility.ShowMessage(EnmErrType.Warning, "无法获取Lsc信息"); return; } var connectionString = WebUtility.CreateLscConnectionString(lsc); var project = new BAppointment().GetProject(lsc.LscID, lsc.LscName, projectId, connectionString); if (project == null) { WebUtility.ShowMessage(EnmErrType.Warning, "无法获取工程信息"); return; } ProjectIdField.Text = project.ProjectId; ProjNameField.Text = project.ProjectName; StartTimeField.Text = WebUtility.GetDateString(project.BeginTime); EndTimeField.Text = WebUtility.GetDateString(project.EndTime); ResponsibleField.Text = project.Responsible; PhoneField.Text = project.ContactPhone; CompanyField.Text = project.Company; CommentField.Text = project.Comment; EnabledField.Text = WebUtility.GetBooleanName(project.Enabled); DetailWindow.Show(); } catch (Exception err) { WebUtility.WriteLog(EnmSysLogLevel.Error, EnmSysLogType.Exception, err.ToString(), Page.User.Identity.Name); WebUtility.ShowMessage(EnmErrType.Error, err.Message); } }
/// <summary> /// Window Project ComboBox Refresh /// </summary> protected void OnWProjectRefresh(object sender, StoreRefreshDataEventArgs e) { try { var data = new List <object>(); if (WLscsComboBox.SelectedItem.Value != null && WLscsComboBox.SelectedItem.Value != String.Empty) { var lscId = Int32.Parse(WLscsComboBox.SelectedItem.Value); var lsc = new BLsc().GetLsc(lscId); if (lsc != null) { var connectionString = WebUtility.CreateLscConnectionString(lsc); var projects = new BAppointment().GetProjectItem(lsc.LscID, lsc.LscName, connectionString); foreach (var p in projects) { data.Add(new { Id = p.ProjectId, Name = p.ProjectName }); } } } WProjectStore.DataSource = data; WProjectStore.DataBind(); } catch (Exception err) { WebUtility.WriteLog(EnmSysLogLevel.Error, EnmSysLogType.Exception, err.ToString(), Page.User.Identity.Name); WebUtility.ShowMessage(EnmErrType.Error, err.Message); } }
public string Save() { try { if (WLscsComboBox.SelectedItem.Value != null && WLscsComboBox.SelectedItem.Value.Trim() != String.Empty) { var lscId = Int32.Parse(WLscsComboBox.SelectedItem.Value); var lsc = new BLsc().GetLsc(lscId); if (lsc == null) { return(String.Format("{{\"Status\":{0}, \"Msg\":\"{1}\"}}", 0, "无法获取Lsc信息")); } var project = new ProjectInfo(); project.LscID = lsc.LscID; project.LscName = lsc.LscName; project.ProjectId = ProjectIdField.Text.Trim(); project.ProjectName = ProjNameField.Text.Trim(); project.BeginTime = DateTime.Parse(StartTimeField.Text); project.EndTime = DateTime.Parse(EndTimeField.Text); project.Responsible = ResponsibleField.Text.Trim(); project.ContactPhone = PhoneField.Text.Trim(); project.Company = CompanyField.Text.Trim(); project.Comment = CommentField.Text.Trim(); project.Enabled = EnabledCheckbox.Checked; var apptEntity = new BAppointment(); var connectionString = WebUtility.CreateLscConnectionString(lsc); if (OperationWindowHF.Text.Equals("Add") && apptEntity.ProjectExists(project.ProjectId, connectionString)) { return(String.Format("{{\"Status\":{0}, \"Msg\":\"{1}\"}}", 0, "工程已存在")); } apptEntity.SaveProjects(new List <ProjectInfo>() { project }, connectionString); var userData = UserData; var cacheKey = WebUtility.GetCacheKeyName(userData, "projects"); HttpRuntime.Cache.Remove(cacheKey); return(String.Format("{{\"Status\":{0}, \"Msg\":\"{1}\"}}", 200, "数据保存成功")); } } catch (Exception err) { WebUtility.WriteLog(EnmSysLogLevel.Error, EnmSysLogType.Exception, err.ToString(), Page.User.Identity.Name); return(String.Format("{{\"Status\":{0}, \"Msg\":\"{1}\"}}", 0, WebUtility.JsonCharFilter(err.Message))); } return(String.Empty); }
/// <summary> /// Add Data To Cache /// </summary> private List <AppointmentInfo> AddDataToCache() { var userData = UserData; var cacheKey = WebUtility.GetCacheKeyName(userData, "appointments"); HttpRuntime.Cache.Remove(cacheKey); if (LscsComboBox.SelectedItem.Value == null || LscsComboBox.SelectedItem.Value == String.Empty) { return(null); } var ids = WebUtility.ItemSplit(LscsComboBox.SelectedItem.Value); if (ids.Length != 2) { return(null); } var lscId = Int32.Parse(ids[0]); var lsc = new BLsc().GetLsc(lscId); if (lsc == null) { WebUtility.ShowMessage(EnmErrType.Warning, "无法获取Lsc信息"); return(null); } var beginTime = DateTime.Parse(BeginDate.Text); var endTime = DateTime.Parse(EndDate.Text); var queryType = Int32.Parse(QueryTypeComboBox.SelectedItem.Value); var queryText = QueryContentTextField.Text.Trim(); var appointmentEntity = new BAppointment(); var connectionString = WebUtility.CreateLscConnectionString(lsc); var appointments = appointmentEntity.GetAppointments(lsc.LscID, lsc.LscName, connectionString, beginTime, endTime, queryType, queryText); var cacheDuration = Int32.Parse(WebConfigurationManager.AppSettings["DefaultCacheDuration"]); HttpRuntime.Cache.Insert(cacheKey, appointments, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(cacheDuration), CacheItemPriority.Default, null); return(appointments); }
/// <summary> /// Add Data To Cache /// </summary> private List <ProjectReportPageEntity> AddDataToCache() { var userData = UserData; var cacheKey = WebUtility.GetCacheKeyName(userData, "project-report-entities"); HttpRuntime.Cache.Remove(cacheKey); if (LscsComboBox.SelectedItem.Value == null || LscsComboBox.SelectedItem.Value == String.Empty) { return(null); } var ids = WebUtility.ItemSplit(LscsComboBox.SelectedItem.Value); if (ids.Length != 2) { return(null); } var lsc = new BLsc().GetLsc(Int32.Parse(ids[0])); if (lsc == null) { WebUtility.ShowMessage(EnmErrType.Warning, "无法获取Lsc信息"); return(null); } var beginTime = DateTime.Parse(BeginDate.Text); var endTime = DateTime.Parse(EndDate.Text); var area2Id = WebUtility.DefaultInt32; var area3Id = WebUtility.DefaultInt32; if (Area2ComboBox.SelectedIndex > 0) { area2Id = Int32.Parse(Area2ComboBox.SelectedItem.Value); } if (Area3ComboBox.SelectedIndex > 0) { area3Id = Int32.Parse(Area3ComboBox.SelectedItem.Value); } var appointmentEntity = new BAppointment(); var connectionString = WebUtility.CreateLscConnectionString(lsc); var appointments1 = appointmentEntity.GetAppointments(lsc.LscID, lsc.LscName, connectionString, beginTime, endTime, 0, null); var appointments2 = appointmentEntity.GetHisAppointments(lsc.LscID, lsc.LscName, beginTime, endTime, 0, null); appointments1.AddRange(appointments2); var lscappointments = appointments1.FindAll(a => a.LscIncluded == lsc.LscID); var nonappointments = appointments1.FindAll(a => a.LscIncluded != lsc.LscID); var staSet = new List <IDValuePair <int, AppointmentInfo> >(); foreach (var apt in nonappointments) { if (apt.StaIncluded != null && apt.StaIncluded.Trim() != String.Empty) { var array = apt.StaIncluded.Split(';'); foreach (var id in array) { if (id.Trim() != String.Empty) { staSet.Add(new IDValuePair <int, AppointmentInfo>(Int32.Parse(id), apt)); } } } } var devSet = new List <IDValuePair <int, AppointmentInfo> >(); foreach (var apt in nonappointments) { if (apt.DevIncluded != null && apt.DevIncluded.Trim() != String.Empty) { var array = apt.DevIncluded.Split(';'); foreach (var id in array) { if (id.Trim() != String.Empty) { devSet.Add(new IDValuePair <int, AppointmentInfo>(Int32.Parse(id), apt)); } } } } var otherEntity = new BOther(); var stations = otherEntity.GetStations(lsc.LscID); var master1 = from ss in staSet join sta in stations on ss.ID equals sta.StaID select new IDValuePair <int, AppointmentInfo> { ID = sta.Area3ID, Value = ss.Value }; var devices = otherEntity.GetDevices(lsc.LscID); var master2 = from ds in devSet join dev in devices on ds.ID equals dev.DevID select new IDValuePair <int, AppointmentInfo> { ID = dev.Area3ID, Value = ds.Value }; var master = new Dictionary <String, IDValuePair <int, AppointmentInfo> >(); foreach (var mt in master1) { master[String.Format("{0}-{1}", mt.ID, mt.Value.Id)] = mt; } foreach (var mt in master2) { master[String.Format("{0}-{1}", mt.ID, mt.Value.Id)] = mt; } var areas = otherEntity.GetAreas(lsc.LscID); if (area2Id != WebUtility.DefaultInt32) { areas = areas.FindAll(a => a.Area2ID == area2Id); } if (area3Id != WebUtility.DefaultInt32) { areas = areas.FindAll(a => a.Area3ID == area3Id); } foreach (var area in areas) { foreach (var apt in lscappointments) { master[String.Format("{0}-{1}", area.Area3ID, apt.Id)] = new IDValuePair <int, AppointmentInfo>(area.Area3ID, apt); } } var a1 = from mt in master.Values group mt by new { AreaId = mt.ID, mt.Value.ProjectId } into g select new { g.Key.AreaId, g.Key.ProjectId, Time = g.Sum(a => a.Value.EndTime.Subtract(a.Value.StartTime).TotalSeconds) }; var projects = appointmentEntity.GetProjectItem(lsc.LscID, lsc.LscName, connectionString); var a2 = from a in a1 join p in projects on a.ProjectId equals p.ProjectId select new { AreaId = a.AreaId, Time = a.Time, Project = p, IsExProject = a.Time > p.EndTime.Subtract(p.BeginTime).TotalSeconds }; var a3 = from a in a2 group a by new { a.AreaId } into g select new { g.Key.AreaId, Time = g.Sum(p => p.Time), Projects = g.Select(p => p.Project).ToList(), ExProjects = g.Where(p => p.IsExProject).Select(p => p.Project).ToList() }; var a4 = from area in areas join a in a3 on area.Area3ID equals a.AreaId into l from aa in l.DefaultIfEmpty() select new ProjectReportPageEntity { Area = area, Time = aa != null ? aa.Time : 0, Projects = aa != null ? aa.Projects : new List <ProjectInfo>(), ExProjects = aa != null ? aa.ExProjects : new List <ProjectInfo>() }; var result = a4.ToList(); var cacheDuration = Int32.Parse(WebConfigurationManager.AppSettings["DefaultCacheDuration"]); HttpRuntime.Cache.Insert(cacheKey, result, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(cacheDuration), CacheItemPriority.Default, null); return(result); }
public void ShowCmdWindow(string cmd, int lscId, int id) { try { StaIncludedField.Clear(); DevIncludedField.Clear(); StartTimeTextField.Clear(); EndTimeTextField.Clear(); BookingUserNameTextField.Clear(); BookingUserPhoneTextField.Clear(); LscCheckbox.Checked = false; ProjStatusBox.Checked = false; WLscsComboBox.Disabled = false; WProjectComboBox.Disabled = false; StaIncludedField.Disabled = false; DevIncludedField.Disabled = false; StartTimeTextField.Disabled = false; EndTimeTextField.Disabled = false; BookingUserPhoneTextField.Disabled = false; LscCheckbox.Disabled = false; ProjStatusBox.Disabled = false; JsonValueHF.Clear(); AppointmentStatusBar.ClearStatus(); var bt = DateTime.Now.AddMinutes(30); var et = bt.AddDays(1); StartTimeTextField.Text = WebUtility.GetDateString(bt); EndTimeTextField.Text = WebUtility.GetDateString(et); switch (cmd) { case "Add": AppointmentWindow.Title = "新增预约"; AppointmentWindow.Icon = Icon.TagBlueAdd; ProjStatusBox.Hide(); WLscsComboBox.GetStore().DataBind(); AppointmentWindow.Show(); break; case "Edit": AppointmentWindow.Title = "编辑预约"; AppointmentWindow.Icon = Icon.TagBlueEdit; ProjStatusBox.Show(); var lsc = new BLsc().GetLsc(lscId); if (lsc == null) { WebUtility.ShowMessage(EnmErrType.Warning, "无法获取Lsc信息"); return; } var connectionString = WebUtility.CreateLscConnectionString(lsc); var appt = new BAppointment().GetAppointment(lsc.LscID, lsc.LscName, id, connectionString); if (appt == null) { WebUtility.ShowMessage(EnmErrType.Warning, "无法获取预约信息"); return; } if (!UserData.LscUsers.Any(lu => lu.LscID == appt.LscID && lu.UserID == appt.CreaterId)) { WebUtility.ShowMessage(EnmErrType.Warning, "无编辑权限,仅预约设置人有此权限。"); return; } WLscsComboBox.Disabled = true; WProjectComboBox.Disabled = true; if (appt.Status == EnmProjStatus.Using) { StaIncludedField.Disabled = true; DevIncludedField.Disabled = true; StartTimeTextField.Disabled = true; EndTimeTextField.Disabled = true; BookingUserPhoneTextField.Disabled = true; LscCheckbox.Disabled = true; } JsonValueHF.Text = JsonConvert.SerializeObject(appt); WLscsComboBox.SetValueAndFireSelect(appt.LscID); AppointmentWindow.Show(); break; default: break; } } catch (Exception err) { WebUtility.WriteLog(EnmSysLogLevel.Error, EnmSysLogType.Exception, err.ToString(), Page.User.Identity.Name); WebUtility.ShowMessage(EnmErrType.Error, err.Message); } }
public void ShowCmdWindow(string cmd, int lscId, string projId) { try { WLscsComboBox.Disabled = false; ProjectIdField.Disabled = false; ProjectIdField.Clear(); ProjNameField.Clear(); StartTimeField.Clear(); EndTimeField.Clear(); ResponsibleField.Clear(); PhoneField.Clear(); CompanyField.Clear(); CommentField.Clear(); EnabledCheckbox.Checked = true; TipsStatusBar.ClearStatus(); switch (cmd) { case "Add": ProjectWindow.Title = "新增工程"; ProjectWindow.Icon = Icon.TagBlueAdd; WLscsComboBox.GetStore().DataBind(); ProjectIdField.Text = Guid.NewGuid().ToString("D").ToUpper(); StartTimeField.Text = WebUtility.GetDateString(DateTime.Today); EndTimeField.Text = WebUtility.GetDateString(DateTime.Today.AddMonths(1).AddSeconds(-1)); OperationWindowHF.Text = "Add"; ProjectWindow.Show(); break; case "Edit": ProjectWindow.Title = "编辑工程"; ProjectWindow.Icon = Icon.TagBlueEdit; WLscsComboBox.Disabled = true; ProjectIdField.Disabled = true; OperationWindowHF.Text = "Edit"; var lsc = new BLsc().GetLsc(lscId); if (lsc == null) { WebUtility.ShowMessage(EnmErrType.Warning, "无法获取Lsc信息"); return; } var connectionString = WebUtility.CreateLscConnectionString(lsc); var project = new BAppointment().GetProject(lsc.LscID, lsc.LscName, projId, connectionString); if (project == null) { WebUtility.ShowMessage(EnmErrType.Warning, "无法获取工程信息"); return; } WLscsComboBox.SetValueAndFireSelect(lsc.LscID); ProjectIdField.Text = project.ProjectId; ProjNameField.Text = project.ProjectName; StartTimeField.Text = WebUtility.GetDateString(project.BeginTime); EndTimeField.Text = WebUtility.GetDateString(project.EndTime); ResponsibleField.Text = project.Responsible; PhoneField.Text = project.ContactPhone; CompanyField.Text = project.Company; CommentField.Text = project.Comment; EnabledCheckbox.Checked = project.Enabled; ProjectWindow.Show(); break; case "Del": X.Msg.Confirm("确认对话框", "您确定要删除吗?", new MessageBoxButtonsConfig { Yes = new MessageBoxButtonConfig { Handler = String.Format(@" X.ProjectManager.Delete({0},'{1}',{{ success: function(result) {{ MainGridPagingToolbar.doRefresh(); }}, eventMask: {{ showMask: true, target: 'customtarget', msg: '正在删除中...', customTarget: MainGridPanel.body.up('div') }}}});", lscId, projId), Text = "确定" }, No = new MessageBoxButtonConfig { Text = "取消" } }).Show(); break; default: break; } } catch (Exception err) { WebUtility.WriteLog(EnmSysLogLevel.Error, EnmSysLogType.Exception, err.ToString(), Page.User.Identity.Name); WebUtility.ShowMessage(EnmErrType.Error, err.Message); } }
/// <summary> /// Add Data To Cache /// </summary> private List <AppointmentInfo> AddDataToCache() { var userData = UserData; var cacheKey = WebUtility.GetCacheKeyName(userData, "his-appointments"); HttpRuntime.Cache.Remove(cacheKey); if (LscsComboBox.SelectedItem.Value == null || LscsComboBox.SelectedItem.Value == String.Empty) { return(null); } var ids = WebUtility.ItemSplit(LscsComboBox.SelectedItem.Value); if (ids.Length != 2) { return(null); } var lscId = Int32.Parse(ids[0]); var lsc = new BLsc().GetLsc(lscId); if (lsc == null) { WebUtility.ShowMessage(EnmErrType.Warning, "无法获取Lsc信息"); return(null); } var beginTime = DateTime.Parse(BeginDate.Text); var endTime = DateTime.Parse(EndDate.Text); var queryType = Int32.Parse(QueryTypeComboBox.SelectedItem.Value); var queryText = QueryContentTextField.Text.Trim(); var appointments = new BAppointment().GetHisAppointments(lsc.LscID, lsc.LscName, beginTime, endTime, queryType, queryText); if (appointments.Count > 0) { var users = new BUser().GetUsers(lsc.LscID, lsc.LscName, null, WebUtility.CreateLscConnectionString(lsc)); if (users.Count > 0) { appointments = (from a in appointments join u in users on new { UserID = a.CreaterId } equals new { UserID = u.UserID } into ug from ua in ug.DefaultIfEmpty() select new AppointmentInfo { LscID = a.LscID, LscName = a.LscName, Id = a.Id, StartTime = a.StartTime, EndTime = a.EndTime, LscIncluded = a.LscIncluded, StaIncluded = a.StaIncluded, DevIncluded = a.DevIncluded, ProjectId = a.ProjectId, ProjectName = a.ProjectName, Status = a.Status, CreaterId = a.CreaterId, Creater = ua != null?ua.UserName:a.Creater, ContactPhone = ua != null?ua.MobilePhone:a.ContactPhone, CreatedTime = a.CreatedTime, RecordTime = a.RecordTime }).OrderBy(a => a.Id).ToList(); } } var cacheDuration = Int32.Parse(WebConfigurationManager.AppSettings["DefaultCacheDuration"]); HttpRuntime.Cache.Insert(cacheKey, appointments, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(cacheDuration), CacheItemPriority.Default, null); return(appointments); }