private void InitControlsByItem(int OItemID, string Lines, string ULOOrgCode, string PrevReviewer) { txtItemID.Value = OItemID.ToString(); if (Lines == "" || Lines == "0") { //init by item properties: lblLines.Text = "all"; int reviewer_id; if (PrevReviewer == "" || PrevReviewer == "0") { reviewer_id = 0; } else { reviewer_id = Int32.Parse(PrevReviewer); } var item = new OpenItem(OItemID, (new PageBase()).LoadID, ULOOrgCode, reviewer_id); txtCurrentReviewer.Value = item.ReviewerUserID.ToString(); lblPrevReviewer.Text = item.Reviewer; lblDocNumber.Text = item.DocNumber; lblOrgCode.Text = item.ULOOrgCode; InitAssignUsersList(OItemID, ULOOrgCode, 0); } else { //init by lines properties: lblLines.Text = Lines; var line_num = 0; Int32.TryParse(Lines, out line_num); if (line_num == 0) { //we have multiline selection: lblDocNumber.Text = Request.QueryString["doc"]; var str_org = ""; var str_names = ""; var ds = Item.GetULOOrganizationsByItemLines(OItemID, Lines); foreach (DataRow dr in ds.Tables[0].Rows) { if (str_org.IndexOf((string)dr["ULOOrgCode"]) == -1) { str_org = str_org + (string)dr["ULOOrgCode"] + ", "; } if (str_names.IndexOf((string)dr["ReviewerName"]) == -1) { str_names = str_names + (string)dr["ReviewerName"] + "<br/>"; } } lblOrgCode.Text = str_org.Substring(0, str_org.Length - 2); lblPrevReviewer.Text = str_names; InitAssignUsersList(OItemID, ULOOrgCode, 0); } else { //one line selected var line = new LineNum(OItemID, line_num); txtCurrentReviewer.Value = line.ReviewerUserID.ToString(); lblPrevReviewer.Text = line.Reviewer; lblDocNumber.Text = line.DocNumber; lblOrgCode.Text = line.ULOOrgCode; InitAssignUsersList(OItemID, line.ULOOrgCode, 0); } } //init with default settings: InitUsersOrganizationsList("", 0); }
public int RequestReassignItem(int iOItemID, string sOrgCode, string sLines, int iPrevReviewerUserID, string sResponsibleOrg, string sNewOrganization, string sNewOrgCode, int iNewReviewerUserID, string sComments) { //ApplicationAssert app_log = new ApplicationAssert(); if (Settings.Default.WriteExtendedLog) { var str = String.Format("{0:MM/dd/yyyy hh:mm} On RequestReassignItem before calculating lines: OItemID {1}, OrgCode {2}, Lines {3}, PrevReviewerUserID {4}, ResponsibleOrg {5}, NewOrganization {6}, NewOrgCode {7}, NewReviewerUserID {8}, Comments: {9}", DateTime.Now, iOItemID, sOrgCode, sLines, iPrevReviewerUserID, sResponsibleOrg, sNewOrganization, sNewOrgCode, iNewReviewerUserID, sComments); Utility.WriteLogEntry(str); } int return_value; var request_id = 0; var arr_lines = sLines.Split(new char[] { ',' }); DataTable dt = null; DataRow[] dr; if (arr_lines.Length > 1) { //could be more than one ULOOrgCodes for these lines var dsLines = Item.GetULOOrganizationsByItemLines(iOItemID); if (dsLines != null && dsLines.Tables[0].Rows.Count > 1) { dt = dsLines.Tables[0]; } } if (Settings.Default.WriteExtendedLog) { var str = String.Format("{0:MM/dd/yyyy hh:mm} On RequestReassignItem before Transaction: OItemID {1}, OrgCode {2}, Lines {3}, PrevReviewerUserID {4}, ResponsibleOrg {5}, NewOrganization {6}, NewOrgCode {7}, NewReviewerUserID {8}", DateTime.Now, iOItemID, sOrgCode, sLines, iPrevReviewerUserID, sResponsibleOrg, sNewOrganization, sNewOrgCode, iNewReviewerUserID); Utility.WriteLogEntry(str); } try { string ULOOrgCode; int ReviewerUserID; foreach (var line_num in arr_lines) { if (dt == null) { ULOOrgCode = sOrgCode; ReviewerUserID = iPrevReviewerUserID; } else { dr = dt.Select("ItemLNum = " + line_num); if (dr.Length > 0) { ULOOrgCode = (string)dr[0]["ULOOrgCode"]; ReviewerUserID = (int)dr[0]["ReviewerUserID"]; } else { ULOOrgCode = sOrgCode; ReviewerUserID = iPrevReviewerUserID; } } return_value = Dal.RequestRerouteItem(iOItemID, ULOOrgCode, Convert.ToInt32(line_num), ReviewerUserID, sResponsibleOrg, sNewOrganization, sNewOrgCode, iNewReviewerUserID, sComments, OpenItemStatus.stReassignRequest); if (return_value != 0 && request_id == 0) { request_id = return_value; } if (Settings.Default.WriteExtendedLog) { var str = String.Format("{0:MM/dd/yyyy hh:mm} On RequestReassignItem In Loop: OItemID {1}, OrgCode {2}, Line {3}, PrevReviewerUserID {4}, ResponsibleOrg {5}, NewOrganization {6}, NewOrgCode {7}, NewReviewerUserID {8}, Return Code {9}", DateTime.Now, iOItemID, sOrgCode, line_num, iPrevReviewerUserID, sResponsibleOrg, sNewOrganization, sNewOrgCode, iNewReviewerUserID, return_value); Utility.WriteLogEntry(str); } } if (Settings.Default.WriteExtendedLog) { var str = String.Format("{0:MM/dd/yyyy hh:mm} On RequestReassignItem after Commit Transaction: OItemID {1}, OrgCode {2}, Lines {3}, PrevReviewerUserID {4}, ResponsibleOrg {5}, NewOrganization {6}, NewOrgCode {7}, NewReviewerUserID {8}", DateTime.Now, iOItemID, sOrgCode, sLines, iPrevReviewerUserID, sResponsibleOrg, sNewOrganization, sNewOrgCode, iNewReviewerUserID); Utility.WriteLogEntry(str); } } catch (SqlException ex) { if (Settings.Default.WriteExtendedLog) { var str = String.Format("{0:MM/dd/yyyy hh:mm} On RequestReassignItem on ROLLBACK TRANSACTION: OItemID {1}, OrgCode {2}, Lines {3}, PrevReviewerUserID {4}, ResponsibleOrg {5}, NewOrganization {6}, NewOrgCode {7}, NewReviewerUserID {8}, Error: {9}", DateTime.Now, iOItemID, sOrgCode, sLines, iPrevReviewerUserID, sResponsibleOrg, sNewOrganization, sNewOrgCode, iNewReviewerUserID, ex.Message); Utility.WriteLogEntry(str); } //send an email notification to administrator new EmailUtility().SendAlertToSysAdmin("ULO/FundStatus application alert", String.Format("An error has occurred in ULO/FundStatus application. Function: {0}. Error: {1}", "AssignBO - RequestReassignItem", ex.Message)); throw new Exception("Item reroute did not succeed. Please try again."); } return(request_id); }
private void InitControlsByItem(int OItemID, string Lines, string ULOOrgCode, string PrevReviewer) { txtItemID.Value = OItemID.ToString(); if (Lines == "" || Lines == "0") { //init by item properties: lblLines.Text = "all"; int reviewer_id; if (PrevReviewer == "" || PrevReviewer == "0") { reviewer_id = 0; } else { reviewer_id = Int32.Parse(PrevReviewer); } var item = new OpenItem(OItemID, (new PageBase()).LoadID, ULOOrgCode, reviewer_id); txtPrevOrganization.Value = item.Organization + " : " + item.ULOOrgCode; txtPrevReviewer.Value = item.ReviewerUserID.ToString(); lblDocNumber.Text = item.DocNumber; lblPrevOrganization.Text = item.Organization; lblPrevOrgCode.Text = item.ULOOrgCode; lblPrevReviewerName.Text = item.Reviewer; } else { //init by lines properties: lblLines.Text = Lines; var line_num = 0; Int32.TryParse(Lines, out line_num); if (line_num == 0) { //we have multiline selection: lblDocNumber.Text = Request.QueryString["doc"]; var str_org = ""; var str_names = ""; var ds = Item.GetULOOrganizationsByItemLines(OItemID, Lines); foreach (DataRow dr in ds.Tables[0].Rows) { if (str_org.IndexOf((string)dr["Organization"]) == -1) { str_org = str_org + (string)dr["Organization"] + ", "; } if (str_names.IndexOf((string)dr["ReviewerName"]) == -1) { str_names = str_names + (string)dr["ReviewerName"] + "<br/>"; } } lblPrevOrganization.Text = str_org.Substring(0, str_org.Length - 2); lblPrevOrgCode.Style.Add("display", "none"); lblPrevReviewerName.Text = str_names; } else { //one line selected var line = new LineNum(OItemID, line_num); txtPrevOrganization.Value = line.Organization + " : " + line.ULOOrgCode; txtPrevReviewer.Value = line.ReviewerUserID.ToString(); lblDocNumber.Text = line.DocNumber; lblPrevOrganization.Text = line.Organization; lblPrevOrgCode.Text = line.ULOOrgCode; lblPrevReviewerName.Text = line.Reviewer; } } ctrlOrgUsers.OrganizationLabel = "Select Organization:"; ctrlOrgUsers.UsersLabel = "Select Reviewer:"; ctrlOrgUsers.InitLists(); }