/***** make sure if the user is allowed to approve ****/ public String cannApprove(int approvementId) { String toAmpprove = "canApprove"; Approvement approvement = deviationModel.getApprovement(approvementId); bool isAutorized = this.isAutorized(approvement.approvementGroup.role); if (approvement.deviation.status == "closed") { toAmpprove = "Deviation Was Already Closed"; } if (approvement.approved || approvement.rejected) { if (toAmpprove == "canApprove") { toAmpprove = " This Approvement Was Already Done, You Can Not Change IT !"; } else { toAmpprove = toAmpprove + ", This Approvement Was Already Done, You Can Not Change IT !"; } } //if the user is not autorized to approve if (!isAutorized) { toAmpprove = " Sorry, You Are Not Autorrized To Approve!."; } return(toAmpprove); }
//*************** /************************* List all Derivation **********************************/ public ApprovementGroup getApprovementGroup(Approvement approvement) { using (var session = NHibernateHelper.OpenSession()) { using (var transaction = session.BeginTransaction()) { var approvementLazy = session.Get <Approvement>(approvement.approvementId); return(approvement.approvementGroup); } } }
/****** update Approvement ****/ public void updateApprovement(Approvement approvement) { using (var session = NHibernateHelper.OpenSession()) { using (var transaction = session.BeginTransaction()) { session.Merge(approvement); transaction.Commit(); } } }
//make the approvement private void approvementGroupDataGrid_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (this.actionType == "newDeviation") { MessageBox.Show(this.languageModel.getString("alertSaveDeviationFirst"), "Infos", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { if (e.ColumnIndex == 8) { //Get The Approvement ID var approvementID = (int)this.approvementGroupDataGrid.Rows[e.RowIndex].Cells[0].Value; String approvementValidation = this.validateApprovement((DataGridViewRow)this.approvementGroupDataGrid.Rows[e.RowIndex]); if (approvementValidation == "valid") { //make Sure that the user has the Right to set Approvement Autorisation aut = new Autorisation(); String toApprove = aut.cannApprove(approvementID); if (toApprove == "canApprove") { //make the Approvement Approvement approvement = deviationModel.getApprovement(approvementID); if (approvement != null) { approvement.name = this.approvementGroupDataGrid.Rows[e.RowIndex].Cells[2].Value.ToString(); approvement.approved = (bool)this.approvementGroupDataGrid.Rows[e.RowIndex].Cells[3].Value; approvement.rejected = (bool)this.approvementGroupDataGrid.Rows[e.RowIndex].Cells[4].Value; approvement.signed = (bool)this.approvementGroupDataGrid.Rows[e.RowIndex].Cells[5].Value; approvement.date = DateTime.Now; if (this.approvementGroupDataGrid.Rows[e.RowIndex].Cells[7].Value != null) { approvement.comment = this.approvementGroupDataGrid.Rows[e.RowIndex].Cells[7].Value.ToString(); } deviationModel.updateApprovement(approvement); MessageBox.Show(this.languageModel.getString("approvementDone"), "Infos", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show(this.languageModel.getString("actionFailed") + toApprove, "Infos", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show(this.languageModel.getString("inputsRequired") + approvementValidation, "Infos", MessageBoxButtons.OK, MessageBoxIcon.Information); } } //__ok for approvement DataGridViewRow row = (DataGridViewRow)this.approvementGroupDataGrid.Rows[e.RowIndex]; DataGridViewCheckBoxCell approved = (DataGridViewCheckBoxCell)row.Cells[3]; DataGridViewCheckBoxCell rejected = (DataGridViewCheckBoxCell)row.Cells[4]; if (e.ColumnIndex == 3) { if (((bool)approved.Value == false) && ((bool)rejected.Value == true)) { MessageBox.Show(this.languageModel.getString("alertApprovedRejected")); //interupt checking approved checkbox this.approvementGroupDataGrid.CancelEdit(); } } if (e.ColumnIndex == 4) { if (((bool)approved.Value == true) && ((bool)rejected.Value == false)) { MessageBox.Show(this.languageModel.getString("alertApprovedRejected")); //interupt checking approved checkbox this.approvementGroupDataGrid.CancelEdit(); } } if (e.ColumnIndex == 3 || e.ColumnIndex == 4) { if (((bool)approved.Value == false) && ((bool)rejected.Value == false)) { //set Username if (actionType != "newDeviation") { String userWinName = System.DirectoryServices.AccountManagement.UserPrincipal.Current.DisplayName; this.approvementGroupDataGrid.Rows[e.RowIndex].Cells[2].Value = userWinName; } } } } }
//create a Deviation object from Form inputs private Deviation getDeviationObject() { Deviation deviation = new Deviation(); deviation.deviationRef = this.deviationNO.Text; deviation.deviationRiskCategory = this.riskCategory.Text; deviation.requestedBy = this.requestedBy.Text; deviation.position = this.position.Text; deviation.deviationType = this.deviationType.SelectedItem.ToString(); deviation.describeOtherType = this.deviationDescription.Text; deviation.signature = this.deviationSignature.Text; deviation.detailStandardCondition = this.standardCondition.Text; deviation.detailRequestCondition = this.detailRequestedDeviation.Text; deviation.barcode = this.barcode.Text; deviation.anlage = this.anlage.Text; deviation.product = this.product.Text; if (this.actionType == "newDeviation") { deviation.status = "Pending"; } DateTime deviationDateCreation = this.deviationDateCreation.Value; DateTime deviationTimeCreation = this.deviationTimeCreation.Value; deviation.dateCreation = new DateTime(deviationDateCreation.Year, deviationDateCreation.Month, deviationDateCreation.Day, deviationTimeCreation.Hour, deviationTimeCreation.Minute, deviationTimeCreation.Second); DateTime pFirstDate = this.pFirstDate.Value; DateTime pFirstTime = this.pFirstTime.Value; deviation.startDatePeriod = new DateTime(pFirstDate.Year, pFirstDate.Month, pFirstDate.Day, pFirstTime.Hour, pFirstTime.Minute, pFirstTime.Second); DateTime pSecondDate = this.pSecondDate.Value; DateTime pSecondTime = this.pSecondTime.Value; deviation.endDatePeriod = new DateTime(pSecondDate.Year, pSecondDate.Month, pSecondDate.Day, pSecondTime.Hour, pSecondTime.Minute, pSecondTime.Second); //add Reasons IList <Reason> listReasons = new List <Reason>(); Reason reas1 = new Reason { reason = this.reason1.Text }; Reason reas2 = new Reason { reason = this.reason2.Text }; Reason reas3 = new Reason { reason = this.reason3.Text }; Reason reas4 = new Reason { reason = this.reason4.Text }; Reason reas5 = new Reason { reason = this.reason5.Text }; listReasons.Add(reas1); listReasons.Add(reas2); listReasons.Add(reas3); listReasons.Add(reas4); listReasons.Add(reas5); deviation.reasons = listReasons; //add Approvement Groups IList <Approvement> listApprovements = new List <Approvement>(); foreach (DataGridViewRow row in this.approvementGroupDataGrid.Rows) { int approvementGroupId = (int)row.Cells[0].Value; if (approvementGroupId != 0) { ApprovementGroup approvementGroup = deviationModel.getApprovementGroup(approvementGroupId); if (approvementGroup != null) { Approvement approvement = new Approvement(); approvement.approvementGroup = approvementGroup; listApprovements.Add(approvement); } } } deviation.approvements = listApprovements; //Add Attachments IList <Attachments> listAttachments = new List <Attachments>(); foreach (DataGridViewRow row in this.uploadFileDataGridView.Rows) { Attachments attachement = new Attachments(); attachement.fileName = row.Cells[0].Value.ToString(); attachement.fileNameDb = row.Cells[1].Value.ToString(); attachement.date = DateTime.Now; if (row.Cells[3].Value != null) { attachement.liblle = row.Cells[3].Value.ToString(); } listAttachments.Add(attachement); } deviation.attachements = listAttachments; return(deviation); }