private void AddRequest() { var viewModel = new RequestDialogViewModel(); var view = new RequestDialog(viewModel); viewModel.SetView(view); view.Show(); }
private void OpenRequest(object sender) { var selectedItem = sender as RequestForListDto; if (selectedItem == null) { return; } var request = _requestService.GetRequest(selectedItem.Id); if (request == null) { MessageBox.Show("Произошла непредвиденная ошибка!"); return; } var viewModel = new RequestDialogViewModel(); var view = new RequestDialog(viewModel); viewModel.SetView(view); viewModel.SelectedCity = viewModel.CityList.SingleOrDefault(i => i.Id == request.Address.CityId); viewModel.SelectedStreet = viewModel.StreetList.SingleOrDefault(i => i.Id == request.Address.StreetId); viewModel.SelectedHouse = viewModel.HouseList.SingleOrDefault(i => i.Id == request.Address.HouseId); viewModel.SelectedFlat = viewModel.FlatList.SingleOrDefault(i => i.Id == request.Address.Id); viewModel.Floor = request.Floor; viewModel.Entrance = request.Entrance; viewModel.FromTime = request.FromTime; viewModel.ToTime = request.ToTime; var requestModel = viewModel.RequestList.FirstOrDefault(); requestModel.SelectedParentService = requestModel.ParentServiceList.FirstOrDefault(i => i.Id == request.Type.ParentId); requestModel.SelectedService = requestModel.ServiceList.FirstOrDefault(i => i.Id == request.Type.Id); requestModel.Description = request.Description; requestModel.IsChargeable = request.IsChargeable; requestModel.IsImmediate = request.IsImmediate; requestModel.RequestCreator = request.CreateUser.ShortName; requestModel.RequestDate = request.CreateTime; requestModel.RequestState = request.State.Description; requestModel.SelectedMaster = request.MasterId.HasValue ? _requestService.GetWorkerById(request.MasterId.Value) : null; requestModel.SelectedExecuter = request.ExecuterId.HasValue ? _requestService.GetWorkerById(request.ExecuterId.Value) : null; requestModel.RequestId = request.Id; requestModel.Rating = request.Rating; if (request.ServiceCompanyId.HasValue) { requestModel.SelectedCompany = requestModel.CompanyList.FirstOrDefault(c => c.Id == request.ServiceCompanyId.Value); } if (request.ExecuteDate.HasValue && request.ExecuteDate.Value.Date > DateTime.MinValue) { requestModel.SelectedDateTime = request.ExecuteDate.Value.Date; requestModel.SelectedPeriod = requestModel.PeriodList.SingleOrDefault(i => i.Id == request.PeriodId); } requestModel.TermOfExecution = request.TermOfExecution; viewModel.RequestId = request.Id; viewModel.ContactList = new ObservableCollection <ContactDto>(request.Contacts); view.Show(); }
public void ShowRequestDialog(string title, string message, Action <IEnumerable <string> > closed) { if (_dxSwapChainPanel == null) { throw new InvalidOperationException("WSANativeFacebook.ConfigureDialogs must first be called from MainPage.xaml.cs"); } Dictionary <string, string> parameters = new Dictionary <string, string>() { { "title", title }, { "message", message }, }; string requestBaseUri = string.Format("{0}?app_id={1}&display=popup&redirect_uri={2}", WSAFacebookConstants.RequestDialogUri, _facebookAppId, WSAFacebookConstants.WebRedirectUri); RequestDialog dialog = new RequestDialog(Screen.width, Screen.height); dialog.Show(requestBaseUri, parameters, WSAFacebookConstants.RequestDialogResponseUri, _dxSwapChainPanel, closed); }
void DataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) { var grid = (DataGridView)sender; var row = grid.Rows[e.RowIndex]; var msg = (Contact)row.DataBoundItem; var menu = new ContextMenuStrip(); var reqs = AddinExtensions.GetFiltered <RequestDescAttribute, IRequest>().ToArray(); foreach (var pair in reqs) { var req = pair.Value; var name = req.GetType().Name.Replace(typeof(IRequest) .Name.Substring(1), string.Empty); var icon = (Image)Icons.ResourceManager.GetObject(name); EventHandler onclick = (s, a) => { var userReq = (IMessage)Activator.CreateInstance(req.GetType()); using (var dialog = new RequestDialog(req, icon)) if (dialog.ShowDialog(this) == DialogResult.OK) { Client.Publish(msg.Id, req); } }; var item = new ToolStripMenuItem(name, icon, onclick); var category = pair.Key?.Category; if (string.IsNullOrWhiteSpace(category)) { menu.Items.Add(item); } else { var subMenu = menu.Items.OfType <ToolStripDropDownItem>().FirstOrDefault(i => i.Text == category); if (subMenu == null) { menu.Items.Add(subMenu = new ToolStripMenuItem(category, Icons.Category)); } subMenu.DropDownItems.Add(item); } } row.ContextMenuStrip = menu; }
private async UniTask Open(RequestDialog request) { Context context = null; if (!_contexts.TryGetValue(request.Name, out context)) { var dialogObject = await _factory.Spawn(request.Name); context = new Context() { Dialog = dialogObject.GetComponent <IDialog>(), Object = dialogObject, }; _contexts.Add(request.Name, context); } await Open(new Request() { Dialog = context.Dialog, Param = request.Param, }); }
public async Task SendRequestForChat(RequestDialog requestDialog) { await Clients.User(requestDialog.RecipientEmail).SendAsync("NewChatRequest", requestDialog); }
/// <summary> /// Method which adds a tag to the Version List of passed NAV object files. /// </summary> /// <param name="files">The collection of files to update</param> /// <param name="version">The target version of NAV</param> /// <param name="tag">The tag to add to the version list</param> /// <param name="ignoreCase">Specify whether use case-sensitive insert</param> /// <param name="updateDateTime">Specifies whether Date and Time must be updated</param> /// <param name="progress">The progress of the operation</param> public static void AddTag(Models.File[] files, int version, string tag, bool ignoreCase, bool updateDateTime, IProgress <KeyValuePair <double, string> > progress) { double progressStep = (double)100 / files.Length; double step = 0; DateTime dateTime = DateTime.Now; DateTimeFormatInfo dateTimeFormat; if (string.IsNullOrWhiteSpace(Properties.Settings.Default.DefaultLocale)) { dateTimeFormat = new CultureInfo(Thread.CurrentThread.CurrentCulture.Name, false).DateTimeFormat; } else { dateTimeFormat = new CultureInfo(Properties.Settings.Default.DefaultLocale, false).DateTimeFormat; } foreach (Models.File file in files) { step += progressStep; progress.Report(new KeyValuePair <double, string>(step, string.Format("Adding tag {0} to {1}", tag, file.Name))); if (System.IO.File.Exists(file.Path)) { string lines; using (FileStream stream = new FileStream(file.Path, FileMode.Open, FileAccess.Read)) using (StreamReader reader = new StreamReader(stream, Encoding.GetEncoding(Properties.Settings.Default.DefaultEncoding))) { lines = reader.ReadToEnd(); } if (!string.IsNullOrWhiteSpace(lines) && lines.Contains(" OBJECT-PROPERTIES")) { StringBuilder builder = new StringBuilder(); foreach (string navObjectLines in Split(lines)) { using (StringReader reader = new StringReader(navObjectLines)) { string line; string firstLine = ""; bool firstLineRead = false; while ((line = reader.ReadLine()) != null) { if (!firstLineRead) { firstLine = line; firstLineRead = true; } if (line.StartsWith(" OBJECT-PROPERTIES")) { builder.AppendLine(line); builder.AppendLine(reader.ReadLine()); line = reader.ReadLine(); if (line.StartsWith(" Date=") && updateDateTime) { line = string.Format(" Date={0};", Convert.ToDateTime(dateTime, dateTimeFormat).ToString(dateTimeFormat.ShortDatePattern)); } builder.AppendLine(line); line = reader.ReadLine(); if (line.StartsWith(" Time=") && updateDateTime) { line = string.Format(" Time={0:HH:mm:ss};", dateTime); } builder.AppendLine(line); line = reader.ReadLine(); if (line.StartsWith(" Modified=")) { builder.AppendLine(line); line = reader.ReadLine(); } if (line.StartsWith(" Version List=")) { string versionList = line.Substring(17); // Get version list tags versionList = versionList.Substring(0, versionList.Length - 1); // Remove leading ; string[] tags = versionList.Split(','); StringComparison comparison = StringComparison.Ordinal; if (ignoreCase) { comparison = StringComparison.OrdinalIgnoreCase; } if (Array.FindIndex(tags, item => item.Equals(tag, comparison)) == -1) { StringBuilder versionBuilder = new StringBuilder(versionList); versionBuilder.Append(","); versionBuilder.Append(tag); versionBuilder.Replace(",,", ","); switch (version) { case 0: // NAV 2013 and below { if (versionBuilder.Length > 80) { Application.Current.Dispatcher.Invoke(delegate { RequestDialog requestDialog = new RequestDialog(versionBuilder.ToString(), 80, firstLine); if (requestDialog.ShowDialog() == true) { versionBuilder = new StringBuilder(requestDialog.VersionList); } }); } break; } default: // NAV 2015 and above { if (versionBuilder.Length > 250) { Application.Current.Dispatcher.Invoke(delegate { RequestDialog requestDialog = new RequestDialog(versionBuilder.ToString(), 250, firstLine); if (requestDialog.ShowDialog() == true) { versionBuilder = new StringBuilder(requestDialog.VersionList); } }); } break; } } versionBuilder.Insert(0, " Version List="); versionBuilder.Append(";"); versionBuilder.Replace(",;", ";"); versionBuilder.Replace(",,", ","); versionBuilder.Replace("=,", "="); line = versionBuilder.ToString(); } } builder.AppendLine(line); builder.Append(reader.ReadToEnd()); } else { builder.AppendLine(line); } } } } using (FileStream stream = new FileStream(file.Path, FileMode.Truncate, FileAccess.Write)) using (StreamWriter writer = new StreamWriter(stream, Encoding.GetEncoding(Properties.Settings.Default.DefaultEncoding))) { writer.Write(builder.ToString()); } } } } }
public void OpenRequest(object sender) { var selectedItem = sender as RequestForListDto; if (selectedItem == null) { return; } if (_requestService == null) { _requestService = new RequestServiceImpl.RequestService(AppSettings.DbConnection); } var request = _requestService.GetRequest(selectedItem.Id); if (request == null) { MessageBox.Show("Произошла непредвиденная ошибка!"); return; } var viewModel = new RequestDialogViewModel(); var view = new RequestDialog(viewModel); viewModel.SetView(view); viewModel.RequestId = request.Id; viewModel.SelectedCity = viewModel.CityList.SingleOrDefault(i => i.Id == request.Address.CityId); viewModel.SelectedStreet = viewModel.StreetList.SingleOrDefault(i => i.Id == request.Address.StreetId); viewModel.SelectedHouse = viewModel.HouseList.SingleOrDefault(i => i.Id == request.Address.HouseId); viewModel.SelectedFlat = viewModel.FlatList.SingleOrDefault(i => i.Id == request.Address.Id); viewModel.Floor = request.Floor; viewModel.Entrance = request.Entrance; viewModel.FromTime = request.FromTime; viewModel.ToTime = request.ToTime; var requestModel = viewModel.RequestList.FirstOrDefault(); var selectedParrentService = requestModel.ParentServiceList.SingleOrDefault(i => i.Id == request.Type.ParentId); if (selectedParrentService == null) { var parrentServiceType = _requestService.GetServiceById(request.Type.ParentId ?? 0); requestModel.ParentServiceList.Add(parrentServiceType); selectedParrentService = requestModel.ParentServiceList.SingleOrDefault(i => i.Id == request.Type.ParentId); } requestModel.SelectedParentService = selectedParrentService; var service = requestModel.ServiceList.SingleOrDefault(i => i.Id == request.Type.Id); if (service == null) { var serviceType = _requestService.GetServiceById(request.Type.Id); requestModel.ServiceList.Add(serviceType); service = requestModel.ServiceList.SingleOrDefault(i => i.Id == request.Type.Id); } requestModel.SelectedService = service; requestModel.Description = request.Description; requestModel.IsChargeable = request.IsChargeable; requestModel.IsImmediate = request.IsImmediate; requestModel.IsBadWork = request.IsBadWork; requestModel.IsRetry = request.IsRetry; //requestModel.Gatanty = request.Warranty; requestModel.SelectedGaranty = requestModel.GarantyList.FirstOrDefault(g => g.Id == request.GarantyId); requestModel.RequestCreator = request.CreateUser.ShortName; requestModel.RequestDate = request.CreateTime; requestModel.RequestState = request.State.Description; var sched = _requestService.GetScheduleTaskByRequestId(request.Id); requestModel.SelectedAppointment = sched != null?new Appointment() { Id = sched.Id, RequestId = sched.RequestId, StartTime = sched.FromDate, EndTime = sched.ToDate, }: null; requestModel.OpenAppointment = requestModel.SelectedAppointment; var master = request.MasterId.HasValue ? _requestService.GetWorkerById(request.MasterId.Value) : null; if (master != null) { if (requestModel.MasterList.Count == 0 || requestModel.MasterList.All(e => e.Id != master.Id)) { requestModel.MasterList.Add(master); } requestModel.SelectedMaster = requestModel.MasterList.SingleOrDefault(i => i.Id == master.Id); } else { requestModel.SelectedMaster = null; } var executer = request.ExecuterId.HasValue ? _requestService.GetWorkerById(request.ExecuterId.Value) : null; if (executer != null) { if (requestModel.ExecuterList.All(e => e.Id != executer.Id)) { requestModel.ExecuterList.Add(executer); } requestModel.SelectedExecuter = requestModel.ExecuterList.SingleOrDefault(i => i.Id == executer.Id); } else { requestModel.SelectedExecuter = null; } requestModel.SelectedEquipment = requestModel.EquipmentList.SingleOrDefault(e => e.Id == request.Equipment?.Id); requestModel.RequestId = request.Id; requestModel.Rating = request.Rating; requestModel.AlertTime = request.AlertTime; if (request.ServiceCompanyId.HasValue) { requestModel.SelectedCompany = requestModel.CompanyList.FirstOrDefault(c => c.Id == request.ServiceCompanyId.Value); } if (request.ExecuteDate.HasValue && request.ExecuteDate.Value.Date > DateTime.MinValue) { requestModel.SelectedDateTime = request.ExecuteDate.Value.Date; requestModel.SelectedPeriod = requestModel.PeriodList.SingleOrDefault(i => i.Id == request.PeriodId); } requestModel.TermOfExecution = request.TermOfExecution; viewModel.ContactList = new ObservableCollection <ContactDto>(request.Contacts); view.Show(); }