private void ShowLetters() { singleDataItem = null; var selectedDatas = DataTreeArea.GetSelectedDataItems(); if (selectedDatas.Count == 0 || selectedDatas.Count > 1) { LetterView.EnableAdd = false; } else { var permissions = AgentUICoreMediator.GetAgentUICoreMediator.tableDrivedEntityManagerService.GetEntityAssignedPermissions(AgentUICoreMediator.GetAgentUICoreMediator.GetRequester(), selectedDatas.First().TargetEntityID, false); if (permissions.GrantedActions.Any(x => x == SecurityAction.LetterEdit)) { singleDataItem = selectedDatas.First(); LetterView.EnableAdd = true; } else { LetterView.EnableAdd = false; } } Letters = AgentUICoreMediator.GetAgentUICoreMediator.LetterManager.GetLetters(AgentUICoreMediator.GetAgentUICoreMediator.GetRequester(), GetDataItemIds()); LetterView.ShowList(Letters); }
override public IEnumerable <LetterView> GetLettersInFolder(Guid folderId) { using (IDbConnection connection = Database.CreateOpenConnection()) { using (IDbCommand command = Database.CreateStoredProcCommand(SpGetLettersFromSentFolder, connection)) { Database.AddParameterWithValue(IdFolderColumn, folderId, command); using (IDataReader reader = command.ExecuteReader()) { var allLettersViewInSentFolder = new List <LetterView>(); while (reader.Read()) { var letterView = new LetterView() { Id = reader.GetGuid(reader.GetOrdinal(IdLetter)), Name = reader.GetString(reader.GetOrdinal(NameLetter)), IdSender = reader.GetGuid(reader.GetOrdinal(IdSender)), Text = reader.GetString(reader.GetOrdinal(Text)), Date = reader.GetDateTime(reader.GetOrdinal(Date)), SenderName = reader.GetString(reader.GetOrdinal(NameWorker)), IdFolder = folderId, IsRead = true }; allLettersViewInSentFolder.Add(letterView); } if (allLettersViewInSentFolder.Count() == 0) { throw new Exception($"Folder {folderId} is empty"); } return(allLettersViewInSentFolder); } } } }
public void SetFullLetter(LetterView letterView) { if (letterView != null) { LetterType letterType = ClientRequests.GetLetterType(letterView.Type); ILetterPropertiesUIPlugin clientUIPlugin; disableControls(splitContainer1.Panel2.Controls); if (!_letterPropertiesUIPlugins.TryGetValue(letterType.TypeClientUI, out clientUIPlugin)) { clientUIPlugin = ((PluginService)(ServiceProvider.GetService(typeof(PluginService)))).GetLetterPropetiesPlugin(letterType); _letterPropertiesUIPlugins.Add(letterType.TypeClientUI, clientUIPlugin); splitContainer1.Panel2.Controls.Add((Control)clientUIPlugin); } clientUIPlugin.LetterView = letterView; clientUIPlugin.ReadOnly = true; this.Size = new Size(splitContainer2.Size.Width + ((Control)clientUIPlugin).Size.Width, Math.Max(splitContainer2.Size.Height, ((Control)clientUIPlugin).Size.Height)); enableControl((Control)clientUIPlugin); } }
public Letter Create(LetterView letter) { using (IDbConnection connection = DatabaseService.CreateOpenConnection()) { letter.Id = Guid.NewGuid(); letter.Date = DateTime.Now; letter.IsRead = true; using (IDbCommand command = DatabaseService.CreateStoredProcCommand(SpCreateLetter, connection)) { DatabaseService.AddParameterWithValue(IdLetterColumn, letter.Id, command); DatabaseService.AddParameterWithValue(NameColumn, letter.Name, command); DatabaseService.AddParameterWithValue(IdSenderColumn, letter.IdSender, command); DatabaseService.AddParameterWithValue(TextColumn, letter.Text, command); DatabaseService.AddParameterWithValue(DateColumn, letter.Date, command); DatabaseService.AddParameterWithValue(ExtendedDataColumn, letter.ExtendedData, command); DatabaseService.AddParameterWithValue(LetterTypeIdColumn, letter.Type, command); DataTable data = new DataTable(); data.Columns.Add(IdLetter, typeof(Guid)); data.Columns.Add(IdWorker, typeof(Guid)); data.Columns.Add(IsRead, typeof(bool)); foreach (Guid receiverId in letter.IdReceivers) { data.Rows.Add(letter.Id, receiverId, false); } DatabaseService.AddParameterWithValue(IdReceiversColumn, data, command); command.ExecuteNonQuery(); return(letter); } } }
//AssignedPermissionDTO _Permission; //public AssignedPermissionDTO Permission //{ // get // { // if (_Permission == null) // _Permission = AgentUICoreMediator.GetAgentUICoreMediator.tableDrivedEntityManagerService.GetEntityAssignedPermissions(AgentUICoreMediator.GetAgentUICoreMediator.GetRequester(), EntitySelectArea.SelectedEntity.ID, false); // return _Permission; // } //} //private void ManageSecurity() //{ // if (Permission.GrantedActions.Any(x => x == SecurityAction.NoAccess)) // { // SecurityNoAccess = true; // } // else // { // if (Permission.GrantedActions.Any(x => x == SecurityAction.EditAndDelete)) // { // SecurityEditAndDelete = true; // } // else if (Permission.GrantedActions.Any(x => x == SecurityAction.Edit)) // { // SecurityEdit = true; // } // else if (Permission.GrantedActions.Any(x => x == SecurityAction.ReadOnly)) // { // SecurityReadonly = true; // } // else // SecurityNoAccess = true; // } // ImposeSecurity(); //} //private void ImposeSecurity() //{ // if (SecurityNoAccess) // { // MainView = null; // //ArchiveView.EnableDisable(false); // AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowInfo("عدم دسترسی به آرشیو"); // } // else // { // if (SecurityReadonly) // { // LetterView.EnableDelete = false; // LetterView.EnableAdd = false; // LetterView.EnableEdit = false; // } // else if (SecurityEditAndDelete) // { // } // else if (SecurityEdit) // { // LetterView.EnableDelete = false; // } // else // { // MainView = null; // AgentUICoreMediator.GetAgentUICoreMediator.UIManager.ShowInfo("عدم دسترسی به آرشیو"); // } // } //} private void SelectArea_DataItemSelected(object sender, EditAreaDataItemArg e) { if (e.DataItem != null) { LetterView.EnableDisable(true); DataTreeArea = new MyUILibrary.DataTreeArea.DataTreeArea(); DataTreeArea.ContextMenuLoaded += DataTreeArea_ContextMenuLoaded; DataTreeArea.DataAreaConfirmed += DataTreeArea_DataAreaConfirmed; var dataTreeInistializer = new DataTreeAreaInitializer(); dataTreeInistializer.EntitiyID = EntitySelectArea.SelectedEntity.ID; dataTreeInistializer.RelationshipTailsLoaded = EntitySelectArea.SelectedEntity.LoadLetterRelatedItems; dataTreeInistializer.FirstDataItem = e.DataItem.DataView; dataTreeInistializer.RelationshipTails = LetterRelationshipTails.Select(x => x.RelationshipTail).ToList(); DataTreeArea.SetAreaInitializer(dataTreeInistializer); DataTreeArea.SelectAll(); LetterView.DataTreeAreaEnabled = true; LetterView.ShowDataTree(DataTreeArea.View); if (dataTreeInistializer.RelationshipTailsLoaded) { LetterView.ShowDataTree(DataTreeArea.View); } ShowLetters(); } else { LetterView.EnableDisable(false); } }
public override void setData(BookSource item) { holder.setText(Resource.Id.tv_source_title, item.host) .setText(Resource.Id.tv_source_content, item.lastChapter); LetterView letterView = holder.getView <LetterView>(Resource.Id.letter_view); letterView.setText(item.host); }
private void SendLetterB_Click(object sender, EventArgs e) { LetterType selectedLetterType = ((ApplicationState)ServiceProvider.GetService(typeof(ApplicationState))).SelectedLetterType; ILetterPropertiesUIPlugin clientUIPlugin = ((PluginService)(ServiceProvider.GetService(typeof(PluginService)))).GetLetterPropetiesPlugin(selectedLetterType); global::Registration.SerializationService.LetterProperties letterProp = clientUIPlugin.GetLetterProperties(); LetterView letterView = clientUIPlugin.StandartLetter; if (SendLetter(letterView.Name, ((ApplicationState)ServiceProvider.GetService(typeof(ApplicationState))).Worker.Id, NamesAndLoginsReceivers, letterView.Text, letterProp.ToString(), selectedLetterType.Id)) { MessageService.InfoMessage(Message.MessageResource.SentLetter); Close(); } }
override public IEnumerable <LetterView> GetLettersInFolder(Guid folderId, Guid ownerId) { using (IDbConnection connection = DatabaseService.CreateOpenConnection()) { using (IDbCommand command = DatabaseService.CreateStoredProcCommand(SpGetLettersFromFindFolder, connection)) { DatabaseService.AddParameterWithValue(IdFolderColumn, folderId, command); DatabaseService.AddParameterWithValue(IdOwnerColumn, ownerId, command); using (IDataReader reader = command.ExecuteReader()) { var allLettersViewInSentFolder = new List <LetterView>(); while (reader.Read()) { var letterView = new LetterView() { Id = reader.GetGuid(reader.GetOrdinal(IdLetter)), Name = reader.GetString(reader.GetOrdinal(NameLetter)), IdSender = reader.GetGuid(reader.GetOrdinal(IdSender)), Text = reader.GetString(reader.GetOrdinal(Text)), Date = reader.GetDateTime(reader.GetOrdinal(Date)), SenderName = reader.GetString(reader.GetOrdinal(NameWorker)), IdFolder = folderId, IsRead = reader.GetBoolean(reader.GetOrdinal(IsRead)), Type = reader.GetInt32(reader.GetOrdinal(TypeLetter)), ExtendedData = reader.GetString(reader.GetOrdinal(ExtendedData)) }; IDictionary <Guid, string> receivers = new Dictionary <Guid, string>(); GetReceivers(letterView.Id, ref receivers); foreach (KeyValuePair <Guid, string> idAndName in receivers) { letterView.IdReceivers.Add(idAndName.Key); letterView.ReceiversName.Add(idAndName.Value); } string data = reader.GetString(reader.GetOrdinal(Data)); if (data.Contains(letterView.SenderName)) { allLettersViewInSentFolder.Add(letterView); } } if (allLettersViewInSentFolder.Count() == 0) { throw new Exception($"Folder {folderId} is empty"); } return(allLettersViewInSentFolder); } } } }
public void InitializeForm() { InitializeClientService(); InitializeMessageService(); InitializeBaseControls(); LetterView letterView = ((ApplicationState)ServiceProvider.GetService(typeof(ApplicationState))).SelectedLetterView; LetterType selectedLetterType = ClientRequests.GetLetterType(letterView.Type); ILetterPropertiesUIPlugin newControl = ((PluginService)(ServiceProvider.GetService(typeof(PluginService)))).GetLetterPropetiesPlugin(selectedLetterType); newControl.LetterView = letterView; newControl.ReadOnly = true; int tabIndex = 0; newControl.OnLoad(ServiceProvider); ((Control)newControl).TabIndex = tabIndex; int heightSize = 0; int locationY = 0; foreach (Control control in BaseControls) { if (control.Location.Y + control.Size.Height > locationY) { locationY = control.Location.Y + control.Size.Height; } heightSize += control.Size.Height; } this.Controls.Clear(); ((Control)newControl).Location = new Point(0, locationY); this.Size = new Size(((Control)newControl).Size.Width, ((Control)newControl).Size.Height + heightSize); this.Controls.Add(((Control)newControl)); foreach (Control control in BaseControls) { ++tabIndex; control.TabIndex = tabIndex; this.Controls.Add(control); } }
public void Draw(LetterView from, LetterView to, SignalDirection direction) { switch (direction) { case SignalDirection.In: DrawFirst(from, to); break; case SignalDirection.Out: DrawSecond(from, to); break; default: break; } }
private void briefContentLetterDGV_MouseClick(object sender, MouseEventArgs e) { Folder folder = _currentPrivateFoldersInTree[foldersTV.SelectedNode.FullPath]; Guid folderId = folder.Id; if (0 < briefContentLetterDGV.Rows.Count) { int selectRowIndex = briefContentLetterDGV.CurrentRow.Index; briefContentLetterDGV.Rows[selectRowIndex].DefaultCellStyle.BackColor = Color.White; LetterIsRead(_lettersInfo[selectRowIndex].Id, ((ApplicationState)ServiceProvider.GetService(typeof(ApplicationState))).Worker.Id); FullLetter = _lettersInfo[selectRowIndex]; } }
public void InitializeForm() { InitializeClientService(); InitializeMessageService(); InitializeBaseControls(); LetterView letterView = ((ApplicationState)ServiceProvider.GetService(typeof(ApplicationState))).SelectedLetterView; LetterType selectedLetterType = ClientRequests.GetLetterType(letterView.Type); ILetterPropertiesUIPlugin newControl = ((PluginService)(ServiceProvider.GetService(typeof(PluginService)))).GetLetterPropetiesPlugin(selectedLetterType); LetterProperties prop = new LetterProperties() { }; int minXLocation = int.MaxValue; int minYLocation = int.MaxValue; int sizeForMinYLocation = 0; foreach (Control control in BaseControls) { minXLocation = Math.Min(control.Location.X, minXLocation); if (control.Location.Y < minYLocation) { minYLocation = control.Location.Y; sizeForMinYLocation = control.Size.Height; } } ((Control)newControl).Location = new Point(minXLocation, minYLocation + sizeForMinYLocation); int width = Math.Max(BaseSizeHeight.X, ((Control)newControl).Width); this.Controls.Clear(); this.Size = new Size(width, BaseSizeHeight.Y + ((Control)newControl).Size.Height); this.Controls.Add(((Control)newControl)); foreach (Control control in BaseControls) { control.Location = new System.Drawing.Point(control.Location.X, control.Location.Y + ((Control)newControl).Size.Height); this.Controls.Add(control); } }
public LetterView Get(Guid letterId, Guid workerId) { using (IDbConnection connection = DatabaseService.CreateOpenConnection()) { using (IDbCommand command = DatabaseService.CreateStoredProcCommand(SpGetLetter, connection)) { DatabaseService.AddParameterWithValue(IdLetterColumn, letterId, command); using (IDataReader reader = command.ExecuteReader()) { if (!reader.Read()) { throw new ArgumentException($"Сообщения с таким id {letterId} нет!"); } LetterView letter = new LetterView { Id = letterId, Name = reader.GetString(reader.GetOrdinal(Name)), IdSender = reader.GetGuid(reader.GetOrdinal(IdSender)), Text = reader.GetString(reader.GetOrdinal(Text)), Date = reader.GetDateTime(reader.GetOrdinal(Date)), ExtendedData = reader.GetString(reader.GetOrdinal(ExtendedData)), Type = reader.GetInt32(reader.GetOrdinal(LetterTypeId)) }; List <Guid> receiversId = new List <Guid>(); List <string> receiversName = new List <string>(); GetReceivers(letterId, ref receiversId, ref receiversName); foreach (Guid rec in receiversId) { letter.IdReceivers.Add(rec); } foreach (string name in receiversName) { letter.ReceiversName.Add(name); } return(letter); } } } }
public void Draw(LetterView from, LetterView to, SignalDirection direction) { Point start = DrawerHelper.GetLocation(from, _grid, _xOffset, _yOffset); Point end = DrawerHelper.GetLocation(to, _grid, _xOffset, _yOffset); Point middlePoint = DrawerHelper.GetMiddlePoint(start, end); DrawerHelper.SetLine(_mainLineIn, start, middlePoint); DrawerHelper.SetLine(_mainLineOut, middlePoint, end); DrawerHelper.SetHorizontalLine(_firstLine, start, 5); DrawerHelper.SetHorizontalLine(_secondLine, end, 5); var v = new Vector(from.Width + 4, 0); DrawerHelper.SetHorizontalLine(_outFirstLine, start + v, 50); DrawerHelper.SetHorizontalLine(_outSecondLine, end + v, 50); }
public void DrawFirst(LetterView from, LetterView to) { Point start = DrawerHelper.GetLocation(from, _grid, _xOffset, _yOffset); Point end = DrawerHelper.GetLocation(to, _grid, to.Width + 2 + _xOffset + 7, _yOffset); DrawerHelper.SetLine(_mainLineIn, start, end); DrawerHelper.SetHorizontalLine(_firstLineIn, start, 5); DrawerHelper.SetHorizontalLine(_secondLineIn, end, -5); var v = new Vector(from.Width + 4, 0); Point outerStart = Point.Add(start, v); DrawerHelper.SetHorizontalLine(_startOuterLineIn, outerStart, 50); Point outerEnd = Point.Add(end, -v); DrawerHelper.SetHorizontalLine(_endOuterLineIn, outerEnd, -50); }
private bool SendLetter(Guid workerId) { LetterType selectedLetterType = ((ApplicationState)ServiceProvider.GetService(typeof(ApplicationState))).SelectedLetterType; ILetterPropertiesUIPlugin clientUIPlugin = ((ApplicationState)(ServiceProvider.GetService(typeof(ApplicationState)))).CurrentLetterPropertiesPlugin; LetterView letterView = clientUIPlugin.LetterView; if (string.IsNullOrEmpty(letterView.Name)) { MessageService.ErrorMessage(Message.MessageResource.EmptyNameInLetter); return(false); } if (letterView.ReceiversName.Count() == 0) { MessageService.ErrorMessage(Message.MessageResource.EmptyListRecipient); return(false); } CreateLetter(letterView.Name, ((ApplicationState)ServiceProvider.GetService(typeof(ApplicationState))).Worker.Id, letterView.ReceiversName, letterView.Text, letterView.ExtendedData, ((ApplicationState)ServiceProvider.GetService(typeof(ApplicationState))).SelectedLetterType.Id); return(true); }
private void DeleteLetter(LetterView letterView, Guid workerId) { ClientRequests.DeleteLetter(letterView, workerId); }
public Letter Create([FromBody] LetterView letter, string databaseName) { return(getLetterService(databaseName).Create(letter)); }
public void DeleteLetter(LetterView letter, Guid idWorker) { HttpRequests.DeleteLetter(letter.Id, idWorker, letter.IdFolder, _connectionString); }