Exemplo n.º 1
0
        public UIClientDocumentLink(string clientTxt, string clientSetTxt)
        {
            InitializeComponent();
            parentDocument = new Document();

            cbxClient.Text      = clientTxt;
            cbxDocumentSet.Text = clientSetTxt;

            // Get Client UID
            selectedClient     = new Client(HeaderInfo.Instance);
            selectedClient.UID = Utils.ClientID;

            var repclient = RepClient.Read(selectedClient.UID);
            var response  = repclient.responseStatus;

            // var response = selectedClient.Read();

            // Get Client Document Set UID
            var docSetUID = cbxDocumentSet.Text;

            string[] docoSet = docSetUID.Split(';');
            documentSetUID = Convert.ToInt32(docoSet[1]);

            selectedClientDocumentSet             = new ClientDocumentSet();
            selectedClientDocumentSet.UID         = documentSetUID;
            selectedClientDocumentSet.FKClientUID = selectedClient.UID;

            cbxLinkType.Items.Add(FCMConstant.DocumentLinkType.PROJECTPLAN);
            cbxLinkType.Items.Add(FCMConstant.DocumentLinkType.APPENDIX);

            cbxLinkType.Text = FCMConstant.DocumentLinkType.PROJECTPLAN;
        }
Exemplo n.º 2
0
        public void PopulateData(int iclientUID)
        {
            client     = new Client(HeaderInfo.Instance);
            client.UID = iclientUID;


            var repclient = RepClient.Read(client.UID);
            var response  = repclient.responseStatus;

            // var response = client.Read();

            if (response.ReturnCode == 1 && response.ReasonCode == 1)
            {
                clientOtherInfoList = ClientOtherInfo.List(client.UID);
                clientOtherInfoBindingSource.DataSource = clientOtherInfoList;

                var codeValue         = new CodeValue();
                var list              = new List <CodeValue>();
                var codeValueResponse = codeValue.ListS(CodeType.CodeTypeValue.ClientOtherField, list);

                codeValueBindingSource.DataSource = list;
            }
            else
            {
                MessageBox.Show(response.Message, "Error Populating Data.", MessageBoxButtons.OK, response.Icon);
            }
        }
        /// <summary>
        /// List of clients
        /// </summary>
        public ClientListResponse ClientList(HeaderInfo headerInfo)
        {
            var clientListResponse = new ClientListResponse();

            clientListResponse.response = new ResponseStatus();
            // clientListResponse.clientList = Client.List(headerInfo);

            clientListResponse.clientList = RepClient.List(headerInfo);

            return(clientListResponse);
        }
        /// <summary>
        /// Client Delete
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <param name="eventClient"> </param>
        public ClientDeleteResponse ClientDelete(ClientDeleteRequest clientDeleteRequest)
        {
            // Using model
            Model.ModelClient.Client clientToBeDeleted = new Model.ModelClient.Client(clientDeleteRequest.headerInfo);
            clientToBeDeleted.UID = clientDeleteRequest.clientUID;

            // Using Repository
            ClientDeleteResponse response = new ClientDeleteResponse();

            response.responseStatus = RepClient.Delete(clientToBeDeleted);

            return(response);
        }
        /// <summary>
        /// Client Read
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <param name="eventClient"> </param>
        public static ClientReadResponse ClientRead(ClientReadRequest clientReadRequest)
        {
            var clientReadResponse = RepClient.Read(clientReadRequest.clientUID);

            clientReadResponse.client.clientExtraInformation             = new ClientExtraInformation();
            clientReadResponse.client.clientExtraInformation.FKClientUID = clientReadResponse.client.UID;

            // clientReadResponse.client.clientExtraInformation.Read();

            RepClientExtraInformation.Read(clientReadResponse.client.clientExtraInformation);


            return(clientReadResponse);
        }
Exemplo n.º 6
0
        /// <summary>
        /// List of clients
        /// </summary>
        public ClientListResponse ClientList(HeaderInfo headerInfo)
        {
            var clientListResponse = new ClientListResponse();

            clientListResponse.response = new ResponseStatus();
            // clientListResponse.clientList = Client.List(headerInfo);

            try
            {
                clientListResponse.clientList = RepClient.List(headerInfo);
            }
            catch (Exception ex)
            {
                string s = ex.ToString();
            }
            return(clientListResponse);
        }
        /// <summary>
        /// Client Read
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <param name="eventClient"> </param>
        public static ClientReadResponse ClientReadFull(ClientReadRequest clientReadRequest)
        {
            // Check if the user can access the client record
            //
            bool isadmin = false;

            string userid = clientReadRequest.headerInfo.UserID;
            var    sur    = new SecurityUserRole();

            var clientReadResponse = RepClient.Read(clientReadRequest.clientUID);

            if (sur.UserHasAccessToRole(userid, FCMConstant.UserRoleType.ADMIN))
            {
                // ok
            }
            else
            {
                if (sur.UserHasAccessToRole(userid, FCMConstant.UserRoleType.CLIENT))
                {
                    if (clientReadResponse.client.FKUserID.ToUpper() == clientReadRequest.headerInfo.UserID.ToUpper())
                    {
                        //ok
                    }
                    else
                    {
                        return(new ClientReadResponse());
                    }
                }
                else
                {
                    return(new ClientReadResponse());
                }
            }



            clientReadResponse.client.clientExtraInformation             = new ClientExtraInformation();
            clientReadResponse.client.clientExtraInformation.FKClientUID = clientReadResponse.client.UID;

            RepClientExtraInformation.Read(clientReadResponse.client.clientExtraInformation);

            clientReadResponse.client.clientEmployee = RepEmployee.ReadEmployees(clientReadRequest.clientUID);

            return(clientReadResponse);
        }
        /// <summary>
        /// Update client details
        /// </summary>
        /// <param name="headerInfo"> </param>
        /// <param name="eventClient"> </param>
        public ClientUpdateResponse ClientUpdateFull(ClientUpdateRequest clientUpdateRequest)
        {
            var clientUpdateResponse = new ClientUpdateResponse();

            bool contractorSizeFirstTime = false;

            // Check if contractor size has been set before
            //
            var clientRead = RepClient.Read(clientUpdateRequest.eventClient.UID);

            if (clientRead.client.FKDocumentSetUID == 0)
            {
                contractorSizeFirstTime = true;
            }

            clientUpdateResponse.response = new ResponseStatus();

            // --------------------------------------------------------------
            // Check if user ID is already connected to a client
            // --------------------------------------------------------------

            //var checkLinkedUser = new Client(clientUpdateRequest.headerInfo)
            //{ FKUserID = clientUpdateRequest.eventClient.FKUserID };

            var checkLinkedUser = new Model.ModelClient.Client(clientUpdateRequest.headerInfo)
            {
                FKUserID = clientUpdateRequest.eventClient.FKUserID,
                UID      = clientUpdateRequest.eventClient.UID
            };

            if (!string.IsNullOrEmpty(checkLinkedUser.FKUserID))
            {
                var responseLinked = RepClient.ReadLinkedUser(checkLinkedUser);
                // var responseLinked = checkLinkedUser.ReadLinkedUser();

                if (responseLinked.ReturnCode == 0001 && responseLinked.ReasonCode == 0001)
                {
                    clientUpdateResponse.response =
                        new ResponseStatus()
                    {
                        ReturnCode = -0010, ReasonCode = 0001, Message = "User ID is already linked to another client."
                    };
                    return(clientUpdateResponse);
                }

                if (responseLinked.ReturnCode == 0001 && responseLinked.ReasonCode == 0003)
                {
                    // All good. User ID is connected to Client Supplied.
                    //
                }
            }


            using (var connection = new MySqlConnection(ConnString.ConnectionString))
            {
                using (var tr = new TransactionScope(TransactionScopeOption.Required))
                {
                    connection.Open();
                    var newClient = RepClient.Update(clientUpdateRequest.headerInfo, clientUpdateRequest.eventClient, connection);

                    //var responseClientUpdate = clientUpdateRequest.eventClient.Update();
                    var responseClientUpdate = newClient;

                    if (!responseClientUpdate.Successful)
                    {
                        // Rollback
                        tr.Dispose();

                        clientUpdateResponse.response = new ResponseStatus(MessageType.Error);

                        clientUpdateResponse.response.Message    = responseClientUpdate.Message;
                        clientUpdateResponse.response.ReturnCode = responseClientUpdate.ReturnCode;
                        clientUpdateResponse.response.ReasonCode = responseClientUpdate.ReasonCode;

                        return(clientUpdateResponse);
                    }
                    // -------------------------------------------
                    // Call method to add client extra information
                    // -------------------------------------------

                    var ceiRead = new RepClientExtraInformation(clientUpdateRequest.headerInfo);
                    ceiRead.FKClientUID = clientUpdateRequest.eventClient.UID;

                    // var ceiResponse = ceiRead.Read();

                    var ceiResponse = RepClientExtraInformation.Read(ceiRead);

                    if (ceiResponse.ReturnCode != 1)
                    {
                        // Rollback
                        tr.Dispose();

                        clientUpdateResponse.response = new ResponseStatus(MessageType.Error);
                        return(clientUpdateResponse);
                    }

                    // Return Code = 1, Reason Code = 2 means "Record not found"
                    //
                    if (ceiResponse.ReturnCode == 1 && ceiResponse.ReasonCode == 1)
                    {
                        clientUpdateRequest.eventClient.clientExtraInformation.RecordVersion = ceiRead.RecordVersion;

                        var cei = RepClientExtraInformation.Update(clientUpdateRequest.headerInfo,
                                                                   clientUpdateRequest.eventClient.
                                                                   clientExtraInformation,
                                                                   connection);

                        // var cei = clientUpdateRequest.eventClient.clientExtraInformation.Update();

                        if (!cei.Successful)
                        {
                            clientUpdateResponse.response = new ResponseStatus();
                            clientUpdateResponse.response = cei;
                            return(clientUpdateResponse);
                        }
                    }

                    // Return Code = 1, Reason Code = 2 means "Record not found"
                    //
                    if (ceiResponse.ReturnCode == 1 && ceiResponse.ReasonCode == 2)
                    {
                        // Create new record

                        // -------------------------------------------
                        // Call method to add client extra information
                        // -------------------------------------------
                        clientUpdateRequest.eventClient.clientExtraInformation.FKClientUID = clientUpdateRequest.eventClient.UID;
                        var cei = RepClientExtraInformation.Insert(
                            HeaderInfo.Instance,
                            clientUpdateRequest.eventClient.clientExtraInformation,
                            connection);

                        if (cei.ReturnCode != 1)
                        {
                            // Rollback transaction
                            //
                            tr.Dispose();

                            clientUpdateResponse.response = new ResponseStatus();
                            clientUpdateResponse.response = cei;
                            return(clientUpdateResponse);
                        }
                    }

                    //tr.Complete();

                    // If this is the first time the users sets the contractor size, add documents.
                    //
                    if (contractorSizeFirstTime)
                    {
                        // --------------------------------------------
                        // Add first document set
                        // --------------------------------------------
                        var cds = new ClientDocumentSet();
                        cds.FKClientUID = clientUpdateRequest.eventClient.UID;

                        // cds.FolderOnly = "CLIENT" + newClientUID.ToString().Trim().PadLeft(4, '0');
                        cds.FolderOnly = "CLIENT" + clientUpdateRequest.eventClient.UID.ToString().Trim().PadLeft(4, '0');

                        // cds.Folder = FCMConstant.SYSFOLDER.CLIENTFOLDER + "\\CLIENT" + newClientUID.ToString().Trim().PadLeft(4, '0');
                        cds.Folder = FCMConstant.SYSFOLDER.CLIENTFOLDER + @"\" + cds.FolderOnly;

                        cds.SourceFolder = FCMConstant.SYSFOLDER.TEMPLATEFOLDER;
                        // cds.Add( clientUpdateRequest.headerInfo, connection );
                        cds.Add(clientUpdateRequest.headerInfo);

                        // --------------------------------------------
                        // Apply initial document set
                        // --------------------------------------------
                        BUSClientDocument.AssociateDocumentsToClient(
                            clientDocumentSet: cds,
                            documentSetUID: clientUpdateRequest.eventClient.FKDocumentSetUID,
                            headerInfo: clientUpdateRequest.headerInfo);

                        // Fix Destination Folder Location
                        //
                        BUSClientDocumentGeneration.UpdateLocation(cds.FKClientUID, cds.ClientSetID);
                    }

                    SaveEmployees(clientUpdateRequest.eventClient.UID, clientUpdateRequest.eventClient.clientEmployee, clientUpdateRequest.headerInfo.UserID);
                }
            }

            return(clientUpdateResponse);
        }
        /// <summary>
        /// Add client
        /// </summary>
        /// <param name="headerInfo"> </param>
        /// <param name="eventClient"></param>
        /// <param name="linkInitialSet"> </param>
        /// <returns></returns>
        public ClientAddResponse ClientAddFull(ClientAddRequest clientAddRequest)
        {
            var response = new ClientAddResponse();

            // This is a new client.
            //
            if (string.IsNullOrEmpty(clientAddRequest.eventClient.Name))
            {
                response.responseStatus = new ResponseStatus()
                {
                    ReturnCode = -0010,
                    ReasonCode = 0001,
                    Message    = "Client Name is mandatory."
                };
                return(response);
            }
            // --------------------------------------------------------------
            // Check if user ID is already connected to a client
            // --------------------------------------------------------------
            #region Check if user is already connected to a client
            if (!string.IsNullOrEmpty(clientAddRequest.eventClient.FKUserID))
            {
                var checkLinkedUser = new Client(clientAddRequest.headerInfo)
                {
                    FKUserID = clientAddRequest.eventClient.FKUserID
                };
                //var responseLinked = checkLinkedUser.ReadLinkedUser();

                var responseLinked = RepClient.ReadLinkedUser(checkLinkedUser);

                if (!responseLinked.Successful)
                {
                    response.responseStatus = new ResponseStatus();
                    response.responseStatus = responseLinked;
                    return(response);
                }

                if (responseLinked.ReturnCode == 0001 && responseLinked.ReasonCode == 0001)
                {
                    response.responseStatus = new ResponseStatus()
                    {
                        ReturnCode = -0010,
                        ReasonCode = 0002,
                        Message    = "User ID is already linked to another client."
                    };
                    return(response);
                }
            }
            #endregion

            var newClientUid = 0;

            using (var connection = new MySqlConnection(ConnString.ConnectionString))
            {
                using (var tr = new TransactionScope(TransactionScopeOption.Required))
                {
                    connection.Open();

                    // -------------------------------
                    // Call method to add new client
                    // -------------------------------
                    //var newClient = clientAddRequest.eventClient.Insert(clientAddRequest.headerInfo, connection);

                    var newClient = RepClient.Insert(clientAddRequest.headerInfo, clientAddRequest.eventClient, connection);

                    //   var newClientX = eventClient.MySQLInsert(headerInfo);

                    newClientUid = Convert.ToInt32(newClient.Contents);

                    // -------------------------------------------
                    // Call method to add client extra information
                    // -------------------------------------------
                    clientAddRequest.eventClient.clientExtraInformation.FKClientUID = clientAddRequest.eventClient.UID;
                    var cei = RepClientExtraInformation.Insert(
                        HeaderInfo.Instance,
                        clientAddRequest.eventClient.clientExtraInformation,
                        connection);

                    if (cei.ReturnCode != 1)
                    {
                        // Rollback transaction
                        //
                        tr.Dispose();

                        response.responseStatus = new ResponseStatus();
                        response.responseStatus = cei;
                        return(response);
                    }

                    // Add user role
                    //
                    SecurityUserRole securityUserRole = new SecurityUserRole();
                    securityUserRole.FK_Role   = FCMConstant.UserRoleType.CLIENT;
                    securityUserRole.FK_UserID = clientAddRequest.headerInfo.UserID;
                    securityUserRole.IsActive  = "Y";
                    securityUserRole.IsVoid    = "N";
                    securityUserRole.StartDate = System.DateTime.Today;
                    securityUserRole.EndDate   = Convert.ToDateTime("9999-12-31");
                    securityUserRole.Add();

                    // --------------------------------------------
                    // Add List of Employees
                    // --------------------------------------------
                    SaveEmployees(clientAddRequest.eventClient.UID, clientAddRequest.eventClient.clientEmployee, clientAddRequest.headerInfo.UserID);

                    // 14/04/2013
                    // Not adding sets when client is created because the client is created just after the user ID is registered!
                    //

                    // 17/04/2013
                    // If the ADMINistrator creates the client the document set has to be created and documents added.
                    //
                    if (clientAddRequest.linkInitialSet == "Y")
                    {
                        // --------------------------------------------
                        // Add first document set
                        // --------------------------------------------
                        var cds = new ClientDocumentSet();
                        cds.FKClientUID = newClientUid;

                        // cds.FolderOnly = "CLIENT" + newClientUID.ToString().Trim().PadLeft(4, '0');
                        cds.FolderOnly = "CLIENT" + newClientUid.ToString().Trim().PadLeft(4, '0');

                        // cds.Folder = FCMConstant.SYSFOLDER.CLIENTFOLDER + "\\CLIENT" + newClientUID.ToString().Trim().PadLeft(4, '0');
                        cds.Folder = FCMConstant.SYSFOLDER.CLIENTFOLDER + @"\" + cds.FolderOnly;

                        cds.SourceFolder = FCMConstant.SYSFOLDER.TEMPLATEFOLDER;
                        cds.Add(clientAddRequest.headerInfo, connection);

                        // --------------------------------------------
                        // Apply initial document set
                        // --------------------------------------------
                        BUSClientDocument.AssociateDocumentsToClient(
                            clientDocumentSet: cds,
                            documentSetUID: clientAddRequest.eventClient.FKDocumentSetUID,
                            headerInfo: clientAddRequest.headerInfo);

                        // Fix Destination Folder Location
                        //
                        BUSClientDocumentGeneration.UpdateLocation(cds.FKClientUID, cds.ClientSetID);
                    }

                    // Commit transaction

                    tr.Complete();
                }
            }

            ClientList(clientAddRequest.headerInfo);

            // List();

            // Return new client id
            response.clientUID      = newClientUid;
            response.responseStatus = new ResponseStatus();

            return(response);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="readFieldRequest"></param>
        /// <returns></returns>
        public static int GetLinkedClient(string userID)
        {
            var clientUID = RepClient.ReadLinkedClient(userID);

            return(clientUID);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="readFieldRequest"></param>
        /// <returns></returns>
        public static string GetClientName(int clientUID)
        {
            var response = RepClient.GetClientName(clientUID);

            return(response);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="readFieldRequest"></param>
        /// <returns></returns>
        public ReadFieldResponse ReadFieldClient(ReadFieldRequest readFieldRequest)
        {
            var response = RepClient.ReadFieldClient(readFieldRequest);

            return(response);
        }
        /// <summary>
        /// Update client details
        /// </summary>
        /// <param name="headerInfo"> </param>
        /// <param name="eventClient"> </param>
        public ClientUpdateResponse ClientUpdate(ClientUpdateRequest clientUpdateRequest)
        {
            var clientUpdateResponse = new ClientUpdateResponse();

            clientUpdateResponse.response = new ResponseStatus();

            // --------------------------------------------------------------
            // Check if user ID is already connected to a client
            // --------------------------------------------------------------

            //var checkLinkedUser = new Client(clientUpdateRequest.headerInfo)
            //{ FKUserID = clientUpdateRequest.eventClient.FKUserID };

            var checkLinkedUser = new Model.ModelClient.Client(clientUpdateRequest.headerInfo)
            {
                FKUserID = clientUpdateRequest.eventClient.FKUserID,
                UID      = clientUpdateRequest.eventClient.UID
            };

            if (!string.IsNullOrEmpty(checkLinkedUser.FKUserID))
            {
                var responseLinked = RepClient.ReadLinkedUser(checkLinkedUser);
                // var responseLinked = checkLinkedUser.ReadLinkedUser();

                if (responseLinked.ReturnCode == 0001 && responseLinked.ReasonCode == 0001)
                {
                    clientUpdateResponse.response =
                        new ResponseStatus()
                    {
                        ReturnCode = -0010, ReasonCode = 0001, Message = "User ID is already linked to another client."
                    };
                    return(clientUpdateResponse);
                }

                if (responseLinked.ReturnCode == 0001 && responseLinked.ReasonCode == 0003)
                {
                    // All good. User ID is connected to Client Supplied.
                    //
                }
            }


            using (var connection = new MySqlConnection(ConnString.ConnectionString))
            {
                using (var tr = new TransactionScope(TransactionScopeOption.Required))
                {
                    connection.Open();
                    var newClient = RepClient.Update(clientUpdateRequest.headerInfo, clientUpdateRequest.eventClient, connection);

                    //var responseClientUpdate = clientUpdateRequest.eventClient.Update();
                    var responseClientUpdate = newClient;

                    if (!responseClientUpdate.Successful)
                    {
                        // Rollback
                        tr.Dispose();

                        clientUpdateResponse.response = new ResponseStatus(MessageType.Error);

                        clientUpdateResponse.response.Message    = responseClientUpdate.Message;
                        clientUpdateResponse.response.ReturnCode = responseClientUpdate.ReturnCode;
                        clientUpdateResponse.response.ReasonCode = responseClientUpdate.ReasonCode;

                        return(clientUpdateResponse);
                    }
                    // -------------------------------------------
                    // Call method to add client extra information
                    // -------------------------------------------

                    var ceiRead = new RepClientExtraInformation(clientUpdateRequest.headerInfo);
                    ceiRead.FKClientUID = clientUpdateRequest.eventClient.UID;

                    // var ceiResponse = ceiRead.Read();

                    var ceiResponse = RepClientExtraInformation.Read(ceiRead);

                    if (ceiResponse.ReturnCode != 1)
                    {
                        // Rollback
                        tr.Dispose();

                        clientUpdateResponse.response = new ResponseStatus(MessageType.Error);
                        return(clientUpdateResponse);
                    }

                    // Return Code = 1, Reason Code = 2 means "Record not found"
                    //
                    if (ceiResponse.ReturnCode == 1 && ceiResponse.ReasonCode == 1)
                    {
                        clientUpdateRequest.eventClient.clientExtraInformation.RecordVersion = ceiRead.RecordVersion;

                        var cei = RepClientExtraInformation.Update(clientUpdateRequest.headerInfo,
                                                                   clientUpdateRequest.eventClient.
                                                                   clientExtraInformation,
                                                                   connection);

                        // var cei = clientUpdateRequest.eventClient.clientExtraInformation.Update();

                        if (!cei.Successful)
                        {
                            clientUpdateResponse.response = new ResponseStatus();
                            clientUpdateResponse.response = cei;
                            return(clientUpdateResponse);
                        }
                    }

                    // Return Code = 1, Reason Code = 2 means "Record not found"
                    //
                    if (ceiResponse.ReturnCode == 1 && ceiResponse.ReasonCode == 2)
                    {
                        // Create new record

                        // -------------------------------------------
                        // Call method to add client extra information
                        // -------------------------------------------
                        clientUpdateRequest.eventClient.clientExtraInformation.FKClientUID = clientUpdateRequest.eventClient.UID;
                        var cei = RepClientExtraInformation.Insert(
                            HeaderInfo.Instance,
                            clientUpdateRequest.eventClient.clientExtraInformation,
                            connection);

                        if (cei.ReturnCode != 1)
                        {
                            // Rollback transaction
                            //
                            tr.Dispose();

                            clientUpdateResponse.response = new ResponseStatus();
                            clientUpdateResponse.response = cei;
                            return(clientUpdateResponse);
                        }
                    }

                    tr.Complete();
                }
            }

            return(clientUpdateResponse);
        }
        /// <summary>
        /// Add client
        /// </summary>
        /// <param name="headerInfo"> </param>
        /// <param name="eventClient"></param>
        /// <param name="linkInitialSet"> </param>
        /// <returns></returns>
        public ClientAddResponse ClientAdd(ClientAddRequest clientAddRequest)
        {
            var response = new ClientAddResponse();

            // This is a new client.
            //
            if (string.IsNullOrEmpty(clientAddRequest.eventClient.Name))
            {
                response.responseStatus = new ResponseStatus()
                {
                    ReturnCode = -0010,
                    ReasonCode = 0001,
                    Message    = "Client Name is mandatory."
                };
                return(response);
            }
            // --------------------------------------------------------------
            // Check if user ID is already connected to a client
            // --------------------------------------------------------------
            #region Check if user is already connected to a client
            if (!string.IsNullOrEmpty(clientAddRequest.eventClient.FKUserID))
            {
                var checkLinkedUser = new Client(clientAddRequest.headerInfo)
                {
                    FKUserID = clientAddRequest.eventClient.FKUserID
                };
                //var responseLinked = checkLinkedUser.ReadLinkedUser();

                var responseLinked = RepClient.ReadLinkedUser(checkLinkedUser);

                if (!responseLinked.Successful)
                {
                    response.responseStatus = new ResponseStatus();
                    response.responseStatus = responseLinked;
                    return(response);
                }

                if (responseLinked.ReturnCode == 0001 && responseLinked.ReasonCode == 0001)
                {
                    response.responseStatus = new ResponseStatus()
                    {
                        ReturnCode = -0010,
                        ReasonCode = 0002,
                        Message    = "User ID is already linked to another client."
                    };
                    return(response);
                }
            }
            #endregion

            var newClientUid = 0;

            using (var connection = new MySqlConnection(ConnString.ConnectionString))
            {
                using (var tr = new TransactionScope(TransactionScopeOption.Required))
                {
                    connection.Open();

                    // -------------------------------
                    // Call method to add new client
                    // -------------------------------
                    //var newClient = clientAddRequest.eventClient.Insert(clientAddRequest.headerInfo, connection);

                    var newClient = RepClient.Insert(clientAddRequest.headerInfo, clientAddRequest.eventClient, connection);

                    //   var newClientX = eventClient.MySQLInsert(headerInfo);

                    newClientUid = Convert.ToInt32(newClient.Contents);

                    // -------------------------------------------
                    // Call method to add client extra information
                    // -------------------------------------------
                    clientAddRequest.eventClient.clientExtraInformation.FKClientUID = clientAddRequest.eventClient.UID;
                    var cei = RepClientExtraInformation.Insert(
                        HeaderInfo.Instance,
                        clientAddRequest.eventClient.clientExtraInformation,
                        connection);

                    if (cei.ReturnCode != 1)
                    {
                        // Rollback transaction
                        //
                        tr.Dispose();

                        response.responseStatus = new ResponseStatus();
                        response.responseStatus = cei;
                        return(response);
                    }

                    // --------------------------------------------
                    // Add first document set
                    // --------------------------------------------
                    var cds = new ClientDocumentSet();
                    cds.FKClientUID = newClientUid;

                    // cds.FolderOnly = "CLIENT" + newClientUID.ToString().Trim().PadLeft(4, '0');
                    cds.FolderOnly = "CLIENT" + newClientUid.ToString().Trim().PadLeft(4, '0');

                    // cds.Folder = FCMConstant.SYSFOLDER.CLIENTFOLDER + "\\CLIENT" + newClientUID.ToString().Trim().PadLeft(4, '0');
                    cds.Folder = FCMConstant.SYSFOLDER.CLIENTFOLDER + @"\" + cds.FolderOnly;

                    cds.SourceFolder = FCMConstant.SYSFOLDER.TEMPLATEFOLDER;
                    cds.Add(clientAddRequest.headerInfo, connection);

                    // --------------------------------------------
                    // Apply initial document set
                    // --------------------------------------------
                    if (clientAddRequest.linkInitialSet == "Y")
                    {
                        BUSClientDocument.AssociateDocumentsToClient(
                            clientDocumentSet: cds,
                            documentSetUID: clientAddRequest.eventClient.FKDocumentSetUID,
                            headerInfo: clientAddRequest.headerInfo);

                        // Fix Destination Folder Location
                        //
                        BUSClientDocumentGeneration.UpdateLocation(cds.FKClientUID, cds.ClientSetID);
                    }

                    // Commit transaction
                    //
                    tr.Complete();
                }
            }

            ClientList(clientAddRequest.headerInfo);

            // List();

            // Return new client id
            response.clientUID      = newClientUid;
            response.responseStatus = new ResponseStatus();

            return(response);
        }
Exemplo n.º 15
0
        // ------------------------------------------------------
        //        Return list of images
        // ------------------------------------------------------
        public static ImageList GetImageList()
        {
            // Image list
            //
            var imageList = new ImageList();

            imageList.Images.Add(Properties.Resources.ImageSelected);      // image 0
            imageList.Images.Add(Properties.Resources.ImageWordDocument);  // image 1
            imageList.Images.Add(Properties.Resources.ImageFolder);        // image 2
            imageList.Images.Add(Properties.Resources.ImageClient);        // image 3
            imageList.Images.Add(Properties.Resources.Appendix);           // image 4
            imageList.Images.Add(Properties.Resources.Excel);              // image 5
            imageList.Images.Add(Properties.Resources.PDF);                // image 6
            imageList.Images.Add(Properties.Resources.Undefined);          // image 7
            imageList.Images.Add(Properties.Resources.Checked);            // image 8
            imageList.Images.Add(Properties.Resources.Unchecked);          // image 9

            imageList.Images.Add(Properties.Resources.WordFile32);         // image 10
            imageList.Images.Add(Properties.Resources.WordFileExists32);   // image 11
            imageList.Images.Add(Properties.Resources.WordFileNotFound32); // image 12

            // Word Images
            imageList.Images.Add(Properties.Resources.WordFileSourceNoDestinationNo);   // image 13
            imageList.Images.Add(Properties.Resources.WordFileSourceNoDestinationYes);  // image 14
            imageList.Images.Add(Properties.Resources.WordFileSourceYesDestinationNo);  // image 15
            imageList.Images.Add(Properties.Resources.WordFileSourceYesDestinationYes); // image 16

            // Excel Images
            imageList.Images.Add(Properties.Resources.ExcelFileSourceNoDestinationNo);   // image 17
            imageList.Images.Add(Properties.Resources.ExcelFileSourceNoDestinationYes);  // image 18
            imageList.Images.Add(Properties.Resources.ExcelFileSourceYesDestinationNo);  // image 19
            imageList.Images.Add(Properties.Resources.ExcelFileSourceYesDestinationYes); // image 20

            // PDF Images
            imageList.Images.Add(Properties.Resources.PDFFileSourceNoDestinationNo);   // image 21
            imageList.Images.Add(Properties.Resources.PDFFileSourceNoDestinationYes);  // image 22
            imageList.Images.Add(Properties.Resources.PDFFileSourceYesDestinationNo);  // image 23
            imageList.Images.Add(Properties.Resources.PDFFileSourceYesDestinationYes); // image 24

            Utils.ImageLogoStartsFrom = 25;

            // load client's logo images
            //
            int logoClientNum = 25;

            foreach (var client in Utils.ClientList)
            {
                // Get Company Logo
                //
                string logoLocation = RepClient.GetClientLogoLocation(client.UID, HeaderInfo.Instance);

                // Check if location exists
                if (!File.Exists(logoLocation))
                {
                    LogFile.WriteToTodaysLogFile(
                        " FCMERR00000009 (02)" +
                        " Error. Client logo not found. " +
                        logoLocation +
                        " Client : " + client.UID,
                        Utils.UserID);
                    return(imageList);
                }

                Bitmap clientImage;
                clientImage = new Bitmap(logoLocation);
                imageList.Images.Add((Image)clientImage);

                client.LogoImageSeqNum = logoClientNum;
                logoClientNum++;
            }

            return(imageList);
        }
Exemplo n.º 16
0
        /// <summary>
        /// Show Client Details
        /// </summary>
        public void ShowClientDetails()
        {
            if (dgvClientList.SelectedRows.Count <= 0)
            {
                return;
            }

            var selectedRow = dgvClientList.SelectedRows;

            txtUID.Text              = selectedRow[0].Cells["dgv" + FCMDBFieldName.Client.UID].Value.ToString();
            txtABN.Text              = selectedRow[0].Cells["dgv" + FCMDBFieldName.Client.ABN].Value.ToString();
            txtName.Text             = selectedRow[0].Cells["dgv" + FCMDBFieldName.Client.Name].Value.ToString();
            txtPhone.Text            = selectedRow[0].Cells["dgv" + FCMDBFieldName.Client.Phone].Value.ToString();
            txtFax.Text              = selectedRow[0].Cells["dgv" + FCMDBFieldName.Client.Fax].Value.ToString();
            txtAddress.Text          = selectedRow[0].Cells["dgv" + FCMDBFieldName.Client.Address].Value.ToString();
            txtContactPerson.Text    = selectedRow[0].Cells["dgv" + FCMDBFieldName.Client.MainContactPersonName].Value.ToString();
            txtEmailAddress.Text     = selectedRow[0].Cells["dgv" + FCMDBFieldName.Client.EmailAddress].Value.ToString();
            comboUserID.Text         = selectedRow[0].Cells["dgv" + FCMDBFieldName.Client.FKUserID].Value.ToString();
            comboContractorSize.Text = selectedRow[0].Cells["dgv" + FCMDBFieldName.Client.DocSetUIDDisplay].Value.ToString();
            var dispLogo = selectedRow[0].Cells["dgv" + FCMDBFieldName.Client.DisplayLogo].Value.ToString();

            checkDisplayLogo.Checked = dispLogo == "Y" ? true : false;

            // Store original client data
            //
            original.Name                  = txtName.Text;
            original.ABN                   = txtABN.Text;
            original.Address               = txtAddress.Text;
            original.EmailAddress          = txtEmailAddress.Text;
            original.Fax                   = txtFax.Text;
            original.MainContactPersonName = txtContactPerson.Name;
            original.Phone                 = txtPhone.Text;
            original.FKUserID              = comboUserID.Text;
            original.DocSetUIDDisplay      = comboContractorSize.Text;
            original.DisplayLogo           = Convert.ToChar(dispLogo);

            Utils.ClientID = Convert.ToInt32(txtUID.Text);
            original.UID   = Utils.ClientID;

            // Get Company Logo
            //
            string logoLocation = RepClient.GetClientLogoLocation(Utils.ClientID, HeaderInfo.Instance);
            Bitmap MyImage;

            MyImage       = new Bitmap(logoLocation);
            pbxLogo.Image = (Image)MyImage;


            // Store selected client data
            //
            client.UID                   = Utils.ClientID;
            client.Name                  = txtName.Text;
            client.ABN                   = txtABN.Text;
            client.Address               = txtAddress.Text;
            client.EmailAddress          = txtEmailAddress.Text;
            client.Fax                   = txtFax.Text;
            client.MainContactPersonName = txtContactPerson.Name;
            client.Phone                 = txtPhone.Text;
            client.FKUserID              = comboUserID.Text;
            client.DisplayLogo           = Convert.ToChar(dispLogo);

            // List contracts

            ListClientContract();
        }