//cap nhap lai trang thia cua Client : private void clientUpdate() { //=================Mien Gang truy xuat du lieu ==================================== S_getClient.WaitOne(); List <DTOClient> listClient = BUSClient.getListClient(); S_getClient.Release(); //=================Mien Gang truy xuat du lieu ==================================== string[] ipp = (S_connectClient.RemoteEndPoint.ToString()).Split(new char[] { ':' }); foreach (DTOClient client in listClient) { if (client.UserName.ToLower() == User.ToLower() && client.IPAdr == ipp[0]) { client.FlagSta = false; //=======Mien Gang la truy xuat du lieu =============== S_updateClient.WaitOne(); BUSClient.Update(client); S_updateClient.Release(); //=======Mien Gang la truy xuat du lieu =============== break; } } }
/// Implementing Interface /// <summary> /// List Companies Sync /// </summary> public ClientListResponse ClientList(HeaderInfo headerInfo) { //loadClientListAsync(); //return; var responseClientList = new BUSClient().ClientList(HeaderInfo.Instance); if (responseClientList.response.ReturnCode < 0000) { LogFile.WriteToTodaysLogFile("Error loading client list", HeaderInfo.Instance.UserID, "", "UIClientList.cs"); return(responseClientList); } var clientList = responseClientList.clientList; try { clientBindingSource.DataSource = clientList; } catch (Exception ex) { LogFile.WriteToTodaysLogFile( "Error binding response. " + ex.ToString(), Utils.UserID, ResponseStatus.MessageCode.Error.FCMERR00009999, "UIClientList.cs"); } return(responseClientList); }
public UIClientRegistration(Form calledFrom, int icuid) { InitializeComponent(); _calledFrom = calledFrom; var busClientRead = BUSClient.ClientRead(new ClientReadRequest() { clientUID = icuid, headerInfo = HeaderInfo.Instance }); _client = busClientRead.client; // Load User ID // var ua = UserAccess.List(); foreach (var user in ua) { comboUserID.Items.Add(user.UserID); } // Load Contractor Size // var dsl = new DocumentSetList(); dsl.List(); foreach (var documentSet in dsl.documentSetList) { comboContractorSize.Items.Add(documentSet.UIDNameDisplay); } MapFieldsToScreen(); }
private void getListData() { dtgvFile.Rows.Clear(); List <DTOData> listData = BUSData.getListData(); List <DTOClient> listClient = BUSClient.getListClient(); foreach (DTOData data in listData) { foreach (DTOClient cli in listClient) { if (cli.IDClient == data.IDClient) { if (cli.FlagSta == true) { dtgvFile.Rows.Add(data.FileName, data.Size, cli.UserName, cli.IPAdr, cli.NumPort, "Yes", data.FlagSta); } else { dtgvFile.Rows.Add(data.FileName, data.Size, cli.UserName, cli.IPAdr, cli.NumPort, "No", data.FlagSta); } } } } }
private void miContract_Click(object sender, EventArgs e) { Cursor.Current = Cursors.WaitCursor; clientUID = GetClientUIDSelected(); if (clientUID <= 0) { return; } //Client client = new Client(HeaderInfo.Instance); //client.UID = Utils.ClientID; ClientReadRequest crr = new ClientReadRequest(); crr.clientUID = Utils.ClientID; crr.headerInfo = HeaderInfo.Instance; var crresponse = BUSClient.ClientRead(crr); if (crresponse.client.UID <= 0) { return; } UIClientContract uicc = new UIClientContract(this, crresponse.client); uicc.Show(); Cursor.Current = Cursors.Arrow; }
private void addDownload(String online, String myBool) { //=================Mien Gang truy xuat du lieu ==================================== S_getClient.WaitOne(); List <DTOClient> list = BUSClient.getListClient(); S_getClient.Release(); //=================Mien Gang truy xuat du lieu ==================================== String[] share = new String[2]; for (int j = 0; j < list.Count; j++) { if (list[j].UserName == Arr[3]) { share[0] = list[j].IPAdr; share[1] = list[j].NumPort.ToString(); break; } } string[] ipp = (S_connectClient.RemoteEndPoint.ToString()).Split(new char[] { ':' }); myServer.Q_dataDownload.Enqueue(User); myServer.Q_dataDownload.Enqueue(ipp[0]); myServer.Q_dataDownload.Enqueue(ipp[1]); myServer.Q_dataDownload.Enqueue(Arr[3]); myServer.Q_dataDownload.Enqueue(share[0]); myServer.Q_dataDownload.Enqueue(share[1]); myServer.Q_dataDownload.Enqueue(online); myServer.Q_dataDownload.Enqueue(Arr[1]); myServer.Q_dataDownload.Enqueue(Arr[2]); myServer.Q_dataDownload.Enqueue(myBool); myServer.flag = 1; }
private void getListClient() { dtgv.Rows.Clear(); List <DTOClient> listClient = BUSClient.getListClient(); for (int i = 0; i < listClient.Count; i++) { dtgv.Rows.Add(listClient[i].UserName, listClient[i].PassWord, listClient[i].IPAdr, listClient[i].NumPort, listClient[i].FlagSta); dtgv.Rows[dtgv.RowCount - 1].Tag = listClient[i]; } }
private void button1_Click(object sender, EventArgs e) { ButListen.Enabled = false; ButQuit.Enabled = false; Butstop.Enabled = true; BoxPort.Enabled = false; if (BoxPort.Text == "" && checkBox1.Checked == false) { MessageBox.Show("Please input NumPort !", "MessageBox Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button2); ButListen.Enabled = true; return; } timer1.Enabled = true; String Port = BoxPort.Text; if (Port == "" && checkBox1.Checked == false) { MessageBox.Show("Please input NumPort !", "MessageBox Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button2); ButListen.Enabled = true; return; } //Kiem tra xem threa lang nghe co bi Pause hay ko ? if (S_threadListen != null) { if (S_threadListen.ThreadState == ThreadState.SuspendRequested || S_threadListen.ThreadState == ThreadState.Suspended) { S_threadListen.Resume(); return; } } else { List <DTOClient> list = BUSClient.getListClient(); foreach (DTOClient client in list) { if (client.FlagSta == true) { client.FlagSta = false; BUSClient.Update(client); } } } //Tao Thread lang nghe de lang nghe cac ke noi den : S_threadListen = new Thread(new ThreadStart(serverListen)); S_threadListen.Start(); }
private void tsRefresh_Click(object sender, EventArgs e) { ClientReadRequest crr = new ClientReadRequest(); crr.clientUID = _client.UID; var crresponse = BUSClient.ClientRead(crr); _client = crresponse.client; //var bclient = _client.Read(); //if (_client == null) // _client = new Client(HeaderInfo.Instance); MapFieldsToScreen(); MessageBox.Show("Client details reloaded from database."); }
private void deleteToolStripMenuItem_Click(object sender, EventArgs e) { var answer = MessageBox.Show("Are you sure? Do you really want to delete the client?", "Delete Client", MessageBoxButtons.YesNo); if (answer == DialogResult.Yes) { Client client = new Client(HeaderInfo.Instance); client.UID = Utils.ClientID; var response = new BUSClient().ClientDelete(new ClientDeleteRequest() { clientUID = client.UID, headerInfo = HeaderInfo.Instance }); ListClient(); } }
private void deleteToolStripMenuItem_Click(object sender, EventArgs e) { var answer = MessageBox.Show("Are you sure? Do you really want to delete the client?", "Delete Client", MessageBoxButtons.YesNo); if (answer == DialogResult.Yes) { Client client = new Client(HeaderInfo.Instance); client.UID = Convert.ToInt32(txtUID.Text); var response = new BUSClient().ClientDelete( new ClientDeleteRequest() { clientUID = client.UID, headerInfo = HeaderInfo.Instance }); ControllerUtils.ShowFCMMessage(response.responseStatus, Utils.UserID); } }
/// <summary> /// Load method /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmParserMainUI_Load(object sender, EventArgs e) { // Set current environment Utils.FCMenvironment = MackkadoITFramework.Helper.Utils.EnvironmentList.LOCAL; UILogon log = new UILogon(); log.ShowDialog(); if (log.connectedTo == "not connected" || string.IsNullOrEmpty(log.connectedTo)) { Application.Exit(); } if (log.connectedTo == "Local") { toolStripStatusLabel1.BackColor = Color.Green; } if (log.connectedTo == "Server") { toolStripStatusLabel1.BackColor = Color.Red; } // Utils.ClientList = Client.List(); int st = ConnString.ConnectionString.IndexOf("Data Source"); int en = ConnString.ConnectionString.IndexOf(";"); if (st > 0 && en > 0) { string s = ConnString.ConnectionString.Substring(st, en - st); toolStripStatusLabel1.Text = string.Format("({0}) {1}", log.connectedTo, s); } else { toolStripStatusLabel1.Text = string.Format("({0}) {1}", log.connectedTo, ConnString.ConnectionString.Substring(0, 10)); } toolStripStatusLabel2.Text = @"Version: " + ControllerUtils.GetCurrentAssemblyVersion(); tslLoadedFrom.Text = this.Tag.ToString(); var responseCL = new BUSClient().ClientList(HeaderInfo.Instance); var responseClientList = responseCL.clientList; // Retrieve last client id // var lastClient = new CodeValue(); lastClient.FKCodeType = "LASTINFO"; lastClient.ID = "CLIENTID"; lastClient.Read(false); try { Utils.ClientID = Convert.ToInt32(lastClient.ValueExtended); } catch { Utils.ClientID = Utils.ClientList[0].UID; } // Load HeaderInfo HeaderInfo.Instance.UserID = Utils.UserID; HeaderInfo.Instance.CurrentDateTime = DateTime.Now; // Remove menu items // Get full list of screens var fullListOfScreens = CachedInfo.GetListOfCodeValue(FCMConstant.CodeTypeString.SCREENCODE); // var listOfScreen = BUSReferenceData.GetListScreensForUser(Utils.UserID); foreach (var screen in fullListOfScreens) { bool found = CachedInfo.ListOfScreensAllowedToUser.Any(allowedScreen => allowedScreen.ID == screen.ID); //foreach (var allowedScreen in CachedInfo.ListOfScreensAllowedToUser) //{ // if (allowedScreen.ID == screen.ID) // { // found = true; // break; // } //} if (found) { continue; } // find screen disallowed and hide switch (screen.ID) { case FCMConstant.ScreenCode.DocumentSetLink: miDocumentSetLink.Enabled = false; break; case FCMConstant.ScreenCode.DocumentSetList: miDocumentSetList.Enabled = false; break; case FCMConstant.ScreenCode.DocumentList: miDocumentList.Enabled = false; break; case FCMConstant.ScreenCode.DocumentLink: miDocumentLink.Enabled = false; break; case FCMConstant.ScreenCode.ClientList: toolStripClient.Enabled = false; miListNew.Enabled = false; break; case FCMConstant.ScreenCode.ReportMetadata: miReportMetadata.Enabled = false; break; case FCMConstant.ScreenCode.ReferenceData: miReferenceData.Enabled = false; break; //case FCMConstant.ScreenCode.UserAccess: // miUsers.Enabled = false; // break; case FCMConstant.ScreenCode.UserSettings: miUserSettings.Enabled = false; break; case FCMConstant.ScreenCode.ImpactedDocuments: miImpacted.Enabled = false; break; case FCMConstant.ScreenCode.ProcessRequest: miProcessRequest.Enabled = false; break; } } this.Activate(); // Utils.ClientIndex = 0; }
private static void GenerateList(Program program, bool isRestart, string processName) { #region startList if (program.activeList.Count > 0) { // If there is a request, process the request // foreach (var request in program.activeList) { request.SetStatusToStarted(); program.processRequest = request; // Update request to completed // if (request.Type == ProcessRequest.TypeValue.DOCUMENTGENERATION.ToString()) { // Find Values // var clientUID = 0; int clientSetID = 0; var overrideDocument = "Yes"; int clientDocumentUID = 0; string filename = " Full Set Generated"; foreach (var argument in request.argumentList) { if (argument.Code == ProcessRequestArguments.ProcessRequestCodeValues.CLIENTUID.ToString()) { clientUID = Convert.ToInt32(argument.Value); } if (argument.Code == ProcessRequestArguments.ProcessRequestCodeValues.CLIENTSETID.ToString()) { clientSetID = Convert.ToInt32(argument.Value); } if (argument.Code == ProcessRequestArguments.ProcessRequestCodeValues.OVERRIDE.ToString()) { overrideDocument = argument.Value; } if (argument.Code == ProcessRequestArguments.ProcessRequestCodeValues.CLIENTDOCUID.ToString()) { clientDocumentUID = Convert.ToInt32(argument.Value); if (clientDocumentUID > 0) { var clientDocument = BUSClientDocument.ClientDocumentReadS(clientDocumentUID); filename = " File: " + clientDocument.FileName; } } } var client = BUSClient.ClientRead(new ClientReadRequest() { clientUID = clientUID, headerInfo = HeaderInfo.Instance }); // Send email to requester // string emailGraham = "*****@*****.**"; string emailDaniel = "*****@*****.**"; string emailSubject = "<> STARTED <> " + DateTime.Now + "<> generation requested by: " + request.RequestedByUser + " Client: " + clientUID + " " + client.client.Name + filename; string emailBody = "Generation Started: " + DateTime.Now + " <> " + emailSubject + " -- "; if (request.RequestedByUser.ToUpper() == "GC0001") { var resp1 = FCMEmail.SendEmailSimple( iRecipient: emailGraham, iSubject: emailSubject, iBody: emailBody); } var resp2 = FCMEmail.SendEmailSimple( iRecipient: emailDaniel, iSubject: emailSubject, iBody: emailBody); // 30.03.2012 // Mudar para processamento paralelo e async // // Generate Document // BUSFCMBackendStatus.ReportStatus(HeaderInfo.Instance, processName, "Before document generation starts."); if (clientDocumentUID > 0) { program.GenerateDocumentsForClient(clientUID, clientSetID, program, overrideDocument, clientDocumentUID, processName, request.RequestedByUser); } else { program.GenerateFullSetOfDocumentsForClient(clientUID, clientSetID, program, overrideDocument, isRestart, processName, request.RequestedByUser); } // Write output to database of logs and allow access online or // Write to a file and allow access online... // We can see the process of the request... request.SetStatusToCompleted(); HeaderInfo.Instance.UserID = request.RequestedByUser; HeaderInfo.Instance.CurrentDateTime = DateTime.Now; // Send email to requester // emailSubject = "<> ENDED <> " + DateTime.Now + "<> generation requested by: " + request.RequestedByUser + " Client: " + clientUID + " " + client.client.Name + filename; emailBody = "Generation Ended: " + DateTime.Now + " <> " + emailSubject + " -- " + "File Generated."; if (request.RequestedByUser.ToUpper() == "GC0001") { var resp3 = FCMEmail.SendEmailSimple( iRecipient: emailGraham, iSubject: emailSubject, iBody: emailBody); } var resp4 = FCMEmail.SendEmailSimple( iRecipient: emailDaniel, iSubject: emailSubject, iBody: emailBody); } } } #endregion }
public ClientUpdateResponse ClientUpdate(ClientUpdateRequest clientUpdateRequest) { var response = new BUSClient().ClientUpdate(clientUpdateRequest); return(response); }
public ClientAddResponse ClientAdd(ClientAddRequest clientAddRequest) { var response = new BUSClient().ClientAdd(clientAddRequest); return(response); }
/// <summary> /// Add/ Update client /// </summary> /// <param name="client"></param> public void SaveClient() { if (cbxAssociateInitialSet.Checked) { if (comboContractorSize.SelectedIndex < 0) { MessageBox.Show("Please select contractor size."); return; } } // Check if the client is new. // If the UID is empty, it is a new client. // If the UID is populated, it is an existing client. // if (string.IsNullOrEmpty(txtUID.Text)) { _client.UID = 0; } else { _client.UID = Convert.ToInt32(txtUID.Text); } _client.ABN = txtABN.Text; _client.Name = txtName.Text; _client.LegalName = txtLegalName.Text; _client.Address = txtAddress.Text; _client.Phone = txtPhone.Text; _client.Fax = txtFax.Text; _client.Mobile = txtMobile.Text; _client.Logo1Location = txtLogo1Location.Text; _client.Logo2Location = ""; _client.Logo3Location = ""; _client.EmailAddress = txtEmailAddress.Text; _client.MainContactPersonName = txtContactPerson.Text; _client.FKUserID = comboUserID.Text; _client.DocSetUIDDisplay = comboContractorSize.Text; _client.DisplayLogo = checkDisplayLogo.Checked ? 'Y' : 'N'; if (string.IsNullOrEmpty(_client.DocSetUIDDisplay)) { _client.FKDocumentSetUID = 0; } else { string[] part = _client.DocSetUIDDisplay.Split(';'); _client.FKDocumentSetUID = Convert.ToInt32(part[0]); } _client.DisplayLogo = checkDisplayLogo.Checked ? 'Y' : 'N'; _client.clientExtraInformation = new ClientExtraInformation(); _client.clientExtraInformation.FKClientUID = _client.UID; _client.clientExtraInformation.DateToEnterOnPolicies = dtpDateToEnterOnPolicies.Value; _client.clientExtraInformation.ActionPlanDate = dtpActionPlanDate.Value; _client.clientExtraInformation.CertificationTargetDate = dtpCertificationTargetDate.Value; _client.clientExtraInformation.ScopeOfServices = txtScopeOfServices.Text; _client.clientExtraInformation.TimeTrading = txtTimeTrading.Text; _client.clientExtraInformation.RegionsOfOperation = txtRegionsOfOperation.Text; _client.clientExtraInformation.OperationalMeetingsFrequency = txtOperationalMeetings.Text; _client.clientExtraInformation.ProjectMeetingsFrequency = txtProjectMeetings.Text; // Check if it is to add / update if (_client.UID <= 0) { string associateInitialSet = "N"; if (cbxAssociateInitialSet.Checked) { associateInitialSet = "Y"; } var clientAddRequest = new ClientAddRequest(); clientAddRequest.headerInfo = HeaderInfo.Instance; clientAddRequest.eventClient = _client; clientAddRequest.linkInitialSet = associateInitialSet; // var response = new BUSClient().ClientAdd(clientAddRequest); var response = ClientAdd(clientAddRequest); ControllerUtils.ShowFCMMessage(response.responseStatus, Utils.UserID); _client.UID = 0; if (response.responseStatus.Successful) { _client.UID = response.clientUID; txtUID.Text = _client.UID.ToString(); txtRecordVersion.Text = _client.RecordVersion.ToString(); } } else { var requestClientUpdate = new ClientUpdateRequest(); requestClientUpdate.headerInfo = HeaderInfo.Instance; requestClientUpdate.eventClient = _client; // var response = new BUSClient().ClientUpdate(requestClientUpdate); var response = ClientUpdate(requestClientUpdate); txtRecordVersion.Text = _client.RecordVersion.ToString(CultureInfo.InvariantCulture); ControllerUtils.ShowFCMMessage(response.response, Utils.UserID); } // Refresh client list // Utils.ClientID = _client.UID; var responseClientList = new BUSClient().ClientList(HeaderInfo.Instance); Utils.ClientList = responseClientList.clientList; }
private void btnLogon_Click(object sender, EventArgs e) { connectedTo = "not connected"; if (rbLocal.Checked || rbServer.Checked) {//ok } else { MessageBox.Show("Please select database."); return; } if (rbLocal.Checked) { ConnString.ConnectionString = ConnString.ConnectionStringLocal; connectedTo = "Local"; } if (rbServer.Checked) { ConnString.ConnectionString = ConnString.ConnectionStringServer; connectedTo = "Server"; } // Set framework db as the same at this stage ConnString.ConnectionStringFramework = ConnString.ConnectionString; if (string.IsNullOrEmpty(ConnString.ConnectionString)) { return; } try { Utils.UserID = txtUserID.Text; } catch (Exception ex) { MessageBox.Show("Error loading database. Contact system administrator. " + ex.ToString()); Application.Exit(); } // Check if user is valid var uacnew = new UserAccess(); var readuser = uacnew.Read(txtUserID.Text); if (readuser.ReturnCode == 0001 && readuser.ReasonCode == 0001) { // cool } if (readuser.ReturnCode == 0001 && readuser.ReasonCode == 0002) { MessageBox.Show("User not found."); return; } if (readuser.ReturnCode <= 000) { MessageBox.Show(readuser.Message); return; } if (string.IsNullOrWhiteSpace(uacnew.Password)) { MessageBox.Show("User not found. Contact System Support."); return; } var response = uacnew.AuthenticateUser(txtUserID.Text, txtPassword.Text); if (response.ReturnCode == 0001 && response.ReasonCode == 0001) { // Cool } else { // Invalid Password // ControllerUtils.ShowFCMMessage(response.UniqueCode, txtUserID.Text, response.Message, "UILogon.cs"); return; } var responseClientList = new BUSClient().ClientList(HeaderInfo.Instance); Utils.ClientList = responseClientList.clientList; string ret = LogFile.WriteToTodaysLogFile("User has logged on", Utils.UserID); if (ret != "" && ret.Length > 3 && ret.Substring(0, 5) == "Error") { MessageBox.Show(ret); Application.Exit(); } // Retrieve User Settings - Load in memory // Utils.LoadUserSettingsInCache(); LogFile.WriteToTodaysLogFile("User Settings loaded in cache", Utils.UserID); // Load reference data in cache // CachedInfo.LoadReferenceDataInCache(HeaderInfo.Instance); LogFile.WriteToTodaysLogFile("Reference Data loaded in cache", Utils.UserID); CachedInfo.LoadRelatedCodeInCache(); LogFile.WriteToTodaysLogFile("Related code loaded in cache", Utils.UserID); // Set Header Info // HeaderInfo.Instance.CurrentDateTime = System.DateTime.Today; HeaderInfo.Instance.UserID = txtUserID.Text; this.Hide(); }
/// <summary> /// Add/ Update client /// </summary> /// <param name="client"></param> public void SaveClient() { if (string.IsNullOrEmpty(txtUID.Text)) { client.UID = 0; } else { client.UID = Convert.ToInt32(txtUID.Text); } client.ABN = txtABN.Text; client.Name = txtName.Text; client.Address = txtAddress.Text; client.Phone = txtPhone.Text; client.Fax = txtFax.Text; client.EmailAddress = txtEmailAddress.Text; client.MainContactPersonName = txtContactPerson.Text; client.FKUserID = comboUserID.Text; client.DocSetUIDDisplay = comboContractorSize.Text; if (string.IsNullOrEmpty(client.DocSetUIDDisplay)) { client.FKDocumentSetUID = 0; } else { string[] part = client.DocSetUIDDisplay.Split(';'); client.FKDocumentSetUID = Convert.ToInt32(part[0]); } client.DisplayLogo = checkDisplayLogo.Checked ? 'Y' : 'N'; // Check if it is to add / update if (client.UID <= 0) { string associateInitialSet = "N"; if (cbxAssociateInitialSet.Checked) { associateInitialSet = "Y"; } var response = new BUSClient().ClientAdd(new ClientAddRequest() { headerInfo = HeaderInfo.Instance, eventClient = client, linkInitialSet = associateInitialSet }); } else { var response = new BUSClient().ClientUpdate(new ClientUpdateRequest() { eventClient = client, headerInfo = HeaderInfo.Instance }); ReplaceRowSelected(); } // Refresh client list // Utils.ClientID = client.UID; var responseClientList = new BUSClient().ClientList(HeaderInfo.Instance); Utils.ClientList = responseClientList.clientList; ListClient(); }
public ThreadClient(Socket S_sockClient, server MyServer) { this.S_connectClient = S_sockClient; myServer = MyServer; for (int i = 0; i < 10; i++) { listDataSemaphore[i] = new Queue <string>(); } string command = ""; string username = ""; string password = ""; string numport = ""; byte[] bufData; int exit = 0; try { if (this.S_connectClient != null) { int i_DataFile = 0; while (true) { //Receive name, size of file download : bufData = new byte[1024]; i_DataFile = S_connectClient.Receive(bufData); char[] chars_DataFile = new char[i_DataFile]; System.Text.Decoder d_DataFile = System.Text.Encoding.UTF8.GetDecoder(); int charLen = d_DataFile.GetChars(bufData, 0, i_DataFile, chars_DataFile, 0); System.String S_DataFile = new System.String(chars_DataFile); Arr = S_DataFile.Split(new char[] { '@' }); if (Arr[0].Contains("\0")) { clientUpdate(); exit = 1; break; } command = Arr[0]; username = Arr[1]; password = Arr[2]; switch (command) { //Register@UserName@UserPass@UserPort@null. case "Register": { if (BUSClient.Test(username) == true) { DTOClient client = new DTOClient(); client.UserName = username; client.PassWord = password; //========Mien Gang=================== S_updateClient.WaitOne(); bool rs = BUSClient.Insert(client); S_updateClient.Release(); //==========Mien Gang================== if (rs == false) { String S_Error = "Cannot create Account"; byte[] byData = System.Text.Encoding.ASCII.GetBytes(S_Error); this.S_connectClient.Send(byData); } else { String S_Error = "Accept"; byte[] byData = System.Text.Encoding.ASCII.GetBytes(S_Error); this.S_connectClient.Send(byData); } } else { String S_Error = "Username has existed!"; byte[] byData = System.Text.Encoding.ASCII.GetBytes(S_Error); this.S_connectClient.Send(byData); } exit = 1; } break; //"Login @UserName @UserPass @PortListen @ IPClient@null case "Login": { User = username; numport = Arr[3]; if (BUSClient.TestLogin(username, password) == true) { String S_Login = "******"; byte[] byData = System.Text.Encoding.ASCII.GetBytes(S_Login); this.S_connectClient.Send(byData); DTOClient client = new DTOClient(); client.UserName = username; client.PassWord = password; client.IPAdr = Arr[4]; client.NumPort = Convert.ToInt32(numport, 10); client.FlagSta = true; BUSData.DeleteAll(username); //=========Mien Gang================ S_updateClient.WaitOne(); BUSClient.Update(client); S_updateClient.Release(); //=========Mien Gang================ LoginClient.IPAdr = Arr[4]; LoginClient.NumPort = Convert.ToInt32(numport, 10); //Kiem tra xem co thread nao dang Wait Download ? Thread T_testLogin = new Thread(new ThreadStart(testLogin)); T_testLogin.IsBackground = true; T_testLogin.Start(); } else { String S_Error = "Bad"; byte[] byData = System.Text.Encoding.ASCII.GetBytes(S_Error); this.S_connectClient.Send(byData); } numport = ""; } break; //@quit@username@IPClient@null. case "Quit": { try { //=================Mien Gang truy xuat du lieu ===================================== S_getClient.WaitOne(); List <DTOClient> listClient = BUSClient.getListClient(); S_getClient.Release(); //=================Mien Gang truy xuat du lieu ==================================== foreach (DTOClient client in listClient) { if (client.UserName.ToLower() == username.ToLower() && client.IPAdr == Arr[2]) { client.FlagSta = false; //=========Mien Gang================ S_updateClient.WaitOne(); BUSClient.Update(client); S_updateClient.Release(); //=========Mien Gang================ String S_Error = "Quit"; byte[] byData = System.Text.Encoding.ASCII.GetBytes(S_Error); this.S_connectClient.Send(byData); S_connectClient.Close(); exit = 1; break; } } if (exit == 0) { String S_No = "No"; byte[] byS_No = System.Text.Encoding.ASCII.GetBytes(S_No); this.S_connectClient.Send(byS_No); S_connectClient.Close(); } } catch (SocketException) { } } break; //"Share@ FileName@ FileSize@ UserName@ null" case "Share": { //========================CS=============================== S_getClient.WaitOne(); List <DTOClient> listClient = BUSClient.getListClient(); S_getClient.Release(); //========================CS=============================== string[] ipp = (S_connectClient.RemoteEndPoint.ToString()).Split(new char[] { ':' }); DTOData share = new DTOData(); foreach (DTOClient client in listClient) { if (string.Compare(client.UserName, Arr[3], true) == 0) { if (BUSData.checkFile(username, client.IDClient) == true) { share.FileName = username; share.Size = Convert.ToInt32(password); share.IDClient = client.IDClient; //=======Truy xuat tai nguyn du lieu Data================ S_updateClient.WaitOne(); BUSData.Insert(share); S_updateClient.Release(); //=======Truy xuat tai nguyn du lieu Data================ } String S_Next = "Next"; byte[] byNext = System.Text.Encoding.ASCII.GetBytes(S_Next); this.S_connectClient.Send(byNext); break; } } } break; //Search@FileName@null. case "Search": // tien hanh search file do Client gửi len { List <DTOData> listFile = BUSData.Search(username, password); int count = listFile.Count; string infor = ""; // Khong tim duoc thi gui cho Client chuoi Null de thong bao if (count == 0) { infor = "Null@Null@Null@Null@Null@Null"; byte[] byinfor = System.Text.Encoding.ASCII.GetBytes(infor); this.S_connectClient.Send(byinfor); } else { //Begin Search file in Clientt : foreach (DTOData file in listFile) { //Get information from Client : DTOClient client = BUSClient.Search(file.IDClient); if (client == null) { count--; } else { bufData = new byte[1024]; //Information : file+size+IP+Port+Flag if (count > 1) { infor = file.FileName + "@" + file.Size.ToString() + "@" + client.IPAdr + "@" + client.NumPort.ToString() + "@" + client.UserName + "@" + client.FlagSta.ToString() + "@Next"; } else { infor = file.FileName + "@" + file.Size.ToString() + "@" + client.IPAdr + "@" + client.NumPort.ToString() + "@" + client.UserName + "@" + client.FlagSta.ToString() + "@End"; } byte[] byinfor = System.Text.Encoding.ASCII.GetBytes(infor); this.S_connectClient.Send(byinfor); //Reveice information from Client : byte[] bysearch = new byte[1024]; int i_DataSearch = this.S_connectClient.Receive(bysearch); char[] chars_DataSearch = new char[i_DataSearch]; System.Text.Decoder d_DataSearch = System.Text.Encoding.UTF8.GetDecoder(); int charLenSearch = d_DataSearch.GetChars(bysearch, 0, i_DataSearch, chars_DataSearch, 0); System.String S_DataSearch = new System.String(chars_DataSearch); //nhan duoc chuoi "Next"thi tiep tuc send thong tin file tim thay : if (S_DataSearch == "Next") { infor = ""; count--; } //nhan chuoi "End" tuc la da gui het tat ca file da tim thay va thoat khoi vong lap : if (S_DataSearch == "End") { break; } } } } } break; //Start : Download @nameFile @size @Username @Me @null. //Ending : Download @Finish @fileName @username @null. case "Download": { //=================Mien Gang truy xuat du lieu ==================================== S_getClient.WaitOne(); List <DTOClient> listClient = BUSClient.getListClient(); List <DTOData> listData = BUSData.getListData(); S_getClient.Release(); //=================Mien Gang truy xuat du lieu ==================================== bool i_show = false; if (username == "Finish") { // Khi qua trinh download ket thuc : foreach (DTOClient client in listClient) { if (client.UserName == Arr[3]) { foreach (DTOData data in listData) { if (data.FileName == Arr[2] && data.IDClient == client.IDClient) { data.FlagSta = false; //=======Mien Gang la truy xuat du lieu =============== S_updateClient.WaitOne(); BUSData.Update(data); S_updateClient.Release(); //=======Mien Gang la truy xuat du lieu =============== String temp = Arr[2] + "-" + Arr[3]; for (int i = 0; i < listNameSemaphore.Count; i++) { if (temp == listNameSemaphore[i]) { try { listCheckFile[i] = false; listSemaphore[i].Release(); } catch (AbandonedMutexException se) { MessageBox.Show(se.Message); } break; } } } } } } } //Download @nameFile @size @Username @Me @null. else { //Bat dau kiem tra file co trang thai nhu the nao ? foreach (DTOClient client in listClient) { if (client.UserName == Arr[3]) { foreach (DTOData data in listData) { if (data.IDClient == client.IDClient) { // TIM KIEM TEN FILE : if (data.FileName == Arr[1]) { //kiem tra xem da tao mutes voi ten file nay chua ? nameSemaphore = Arr[1] + "-" + Arr[3]; if (!check(nameSemaphore)) { //neu chua thi tao Mutex voi ten file va UserName: Semaphore S_mutex = new Semaphore(1, 1); listSemaphore.Add(S_mutex); listNameSemaphore.Add(nameSemaphore); listCheckFile.Add(false); } //tim kiem ten Mutex ung voi ten file : for (int i = 0; i < listNameSemaphore.Count; i++) { if (nameSemaphore == listNameSemaphore[i]) { //Neu ko co file nao downlaod thi bat dau download : if (listCheckFile[i] == false) { listSemaphore[i].WaitOne(); //send tin hieu download cho client : String S_Start = "Start"; byte[] byStart = System.Text.Encoding.ASCII.GetBytes(S_Start); this.S_connectClient.Send(byStart); listCheckFile[i] = true; data.FlagSta = true; //=======Mien Gang la truy xuat du lieu =============== S_updateClient.WaitOne(); BUSData.Update(data); S_updateClient.Release(); //=======Mien Gang la truy xuat du lieu =============== break; } //Neu da co Clien dang download thi tao thread vao hang doi : else { //tiem kiem ten mutex de vao hang doi mutex : //==============Mien Gang la bien i_Semaphore================================ S_iSemaphore.WaitOne(); DownData = data; for (i_Semaphore = 0; i_Semaphore < listNameSemaphore.Count; i_Semaphore++) { //Tim thay ten Mutex ung voi ten file-User : if (nameSemaphore == listNameSemaphore[i_Semaphore]) { // endWaiting @IPCLient @PorClient @NameFile @online @ClientShare @null - IPMe @PortMe. foreach (DTOClient clientMe in listClient) { if (clientMe.UserName == Arr[4]) { //Luu thong tin cua thread vao hang doi ung voi thread do : String temp = "endWaiting@" + client.IPAdr + "@" + client.NumPort + "@" + data.FileName + "@true@" + Arr[3] + "@null-" + clientMe.IPAdr + "@" + clientMe.NumPort; listDataSemaphore[i_Semaphore].Enqueue(temp); break; } } //tao thread vao hang doi cua Mutex : Thread T_waitSemaphore = new Thread(new ThreadStart(waitDownload)); T_waitSemaphore.Start(); T_waitSemaphore.Join(100); } } S_iSemaphore.Release(); //==============Mien Gang la bien i_Mutex================================ //send tin hieu waiting cho client : String S_Wait = "Wait"; byte[] byWait = System.Text.Encoding.ASCII.GetBytes(S_Wait); this.S_connectClient.Send(byWait); break; } } } } } } i_show = true; break; } } } if (i_show == true) { addDownload("Loading", "true"); } } break; //Download ofline : //Offline @nameFile @size @Username @IPofMe @PortofMe @null. case "Offline": { for (int i = 0; i < numThread; i++) { if (T_downloadWait[i] == null) { Thread T_waiting = new Thread(new ThreadStart(beginWait)); T_waiting.Name = Arr[3] + "@" + i.ToString(); T_downloadWait[i] = T_waiting; myServer.DataWait[i][0] = Arr[1]; // name file myServer.DataWait[i][1] = Arr[3]; // name Client. myServer.DataWait[i][2] = Arr[4]; //IP Me myServer.DataWait[i][3] = Arr[5]; // Port Me addDownload("Waiting", "true"); break; } } } break; case "endOffline": { S_offlineDown.Release(); } break; } if (exit == 1) { break; } } } } catch (SocketException) { clientUpdate(); } }
private void sendEmailToolStripMenuItem_Click(object sender, EventArgs e) { var answer = MessageBox.Show("Would you like to send emails to impacted clients?", "Send email", MessageBoxButtons.YesNo); if (answer != DialogResult.Yes) { return; } Cursor.Current = Cursors.WaitCursor; List <Client> listOfClients = new List <Client>(); // Get file name // string filePathName = Utils.getFilePathName( document.Location, document.FileName); if (!File.Exists(filePathName)) { MessageBox.Show("File not found. " + filePathName); return; } // Select client to send email and show before send // var impacted = new ClientDocument(); // impacted.ListImpacted(document); BUSClientDocument.ListImpacted(impacted, document); foreach (var doco in impacted.clientDocSetDocLink) { var response = BUSClientContract.GetValidContractOnDate(doco.clientDocument.FKClientUID, System.DateTime.Today); if (response.ReturnCode == 0001 && response.ReasonCode == 0001) { //Client client = new Client(HeaderInfo.Instance); //client.UID = doco.clientDocument.FKClientUID; ClientReadRequest crr = new ClientReadRequest(); crr.clientUID = doco.clientDocument.FKClientUID; crr.headerInfo = HeaderInfo.Instance; var busClientResponse = BUSClient.ClientRead(crr); //var busClientResponse = client.Read(); listOfClients.Add(busClientResponse.client); } } if (listOfClients.Count <= 0) { return; } string subject = "Document updated"; string body = "The document " + document.Name + " has been updated."; var resp = SendEmailToGroup( clientList: listOfClients, iSubject: subject, iBody: body, Attachment: filePathName); MessageBox.Show(resp.Message); Cursor.Current = Cursors.Arrow; }
private void ListImpact(Document document, int h = 16, int w = 16) { // Clear nodes tvDocumentList.Nodes.Clear(); var impacted = new ClientDocument(); // impacted.ListImpacted(document); BUSClientDocument.ListImpacted(impacted, document); TreeNode rootNode = new TreeNode("Impacted List", FCMConstant.Image.Folder, FCMConstant.Image.Folder); rootNode.Name = "Impacted List"; tvDocumentList.Nodes.Add(rootNode); foreach (var doco in impacted.clientDocSetDocLink) { // string clientName = Client.ReadFieldClient(DBFieldName.Client.Name, doco.clientDocument.FKClientUID); var clientField = new Client(HeaderInfo.Instance); // string clientName = clientField.ReadFieldClient(DBFieldName.Client.Name, doco.clientDocument.FKClientUID); var readFieldClientResponse = new BUSClient().ReadFieldClient( new ReadFieldRequest() { clientUID = doco.clientDocument.FKClientUID, field = FCMDBFieldName.Client.Name, headerInfo = HeaderInfo.Instance }); string clientName = readFieldClientResponse.fieldContents; // 1) Add client to tree // // 1.1) Find out current contract information // 1.2) Display document version // 1.3) Check if document has been further updated var response = BUSClientContract.GetValidContractOnDate(doco.clientDocument.FKClientUID, System.DateTime.Today); // Successful ClientContract clientContractValid = new ClientContract(); string validContract = @";Contract=N/A"; if (response.ReturnCode == 0001 && response.ReasonCode == 0001) { clientContractValid = (ClientContract)response.Contents; validContract = ";Contract=Valid"; } int imageClient = Utils.GetClientLogoImageSeqNum(doco.clientDocument.FKClientUID); string NameToDisplay = clientName + " ==> " + validContract + "; Version: " + doco.clientDocument.ClientIssueNumber.ToString(); TreeNode clientNode = new TreeNode(NameToDisplay, imageClient, imageClient); clientNode.Name = doco.clientDocument.FKClientUID.ToString(); clientNode.Tag = doco; rootNode.Nodes.Add(clientNode); // Add Client Document Set to tree // TreeNode clientDocumentSetNode = new TreeNode("Set " + doco.clientDocument.FKClientDocumentSetUID.ToString(), FCMConstant.Image.Folder, FCMConstant.Image.Folder); clientDocumentSetNode.Name = "Set " + doco.clientDocument.FKClientDocumentSetUID.ToString("0000"); clientDocumentSetNode.Tag = doco; clientNode.Nodes.Add(clientDocumentSetNode); // Add document to tree // int image = Utils.GetFileImage(doco.clientDocument.SourceFilePresent, doco.clientDocument.DestinationFilePresent, doco.clientDocument.DocumentType); TreeNode documentNode = new TreeNode(txtDocumentName.Text, image, image); documentNode.Name = txtDocumentName.Text; documentNode.Tag = doco; clientDocumentSetNode.Nodes.Add(documentNode); } if (tvDocumentList.Nodes.Count > 0) { tvDocumentList.Nodes[0].Expand(); } }
public WordReport(int ClientID, int ClientDocSetID, IOutputMessage UIoutput = null, string OverrideDocuments = null) { row = 1; // Set private attributes clientID = ClientID; clientDocSetID = ClientDocSetID; uioutput = UIoutput; // Instantiate Word // vkFalse = false; vkWordApp = new Word.Application(); // Make it not visible vkWordApp.Visible = false; vkExcelApp = new Excel.Application(); // Make it not visible vkExcelApp.Visible = false; // Make it not visible oApplication = new Application(); oApplication.Visible = false; // Get Metadata for client clientMetadata = new ReportMetadataList(); clientMetadata.ListMetadataForClient(clientID); ts = new List <WordDocumentTasks.TagStructure>(); // Load variables/ metadata into memory // #region ClientMetadata foreach (ReportMetadata metadata in clientMetadata.reportMetadataList) { // Retrieve value for the field selected // string value = metadata.GetValue(); // If the field is not enabled, the program has to replace the value with spaces. // var valueOfTag = metadata.Enabled == 'Y' ? value : string.Empty; // When the field is an image and it is not enable, do not include the "No image" icon in the list // if (metadata.InformationType == MackkadoITFramework.Helper.Utils.InformationType.IMAGE && metadata.Enabled == 'N') { continue; } ts.Add(new WordDocumentTasks.TagStructure() { TagType = metadata.InformationType, Tag = metadata.FieldCode, TagValue = valueOfTag }); } #endregion ClientMetadata // Get Client Document Set Details // To get the source and destination folders cds = new ClientDocumentSet(); cds.Get(clientID, clientDocSetID); valueForProgressBar = 0; startTime = System.DateTime.Now.ToString(); client = new Client(); ClientReadRequest crr = new ClientReadRequest(); crr.clientUID = clientID; var response = BUSClient.ClientRead(crr); client = response.client; }