private void createGeneralTask(int OAid) { DataAccess dba = new DataAccess(); SqlConnection conn = null; SqlCommand command = null; SqlTransaction trans = null; int wfDetId = 0; int gtId = 0; string retmessage = ""; string report = dllFileType.SelectedItem.ToString(); if (report == "Other") { report = txtDesc.Text; } int branchid = Claim.GetBranchID(WfId, SubProcessId); using (conn = dba.dxConnection) { conn.Open(); trans = conn.BeginTransaction(); command = conn.CreateCommand(); command.Transaction = trans; Doxess.Web.WorkFlow.Process.Process dxProcess = new Doxess.Web.WorkFlow.Process.Process(); wfDetId = dxProcess.wfTaskCreate(ref retmessage, command, WfId, 25099, -1, branchid, OAid, "Generic task - " + report, "Generic task", "", -1, -1, SubProcessId); if (wfDetId > 0) { dba.dxAddParameter("@wfDetId", wfDetId); dba.dxAddParameter("@Details", "Report '" + report + "' has been uploaded - please review"); dba.dxAddParameter("@Response", ""); dba.dxAddParameter("@IindexId", 0); dba.dxAddParameter("@id", SqlDbType.Int); gtId = dba.dxExecuteSP("AddGeneralTask"); if (gtId < 1) { retmessage = "error adding general task"; } } if ((gtId > 0) && (retmessage.Equals(""))) { trans.Commit(); } else { trans.Rollback(); this.lblmsg.Text = retmessage; return; } } }
public string GenerateInvoiceAndTask(int POId) { try { string strDefCulZone = Global.DefCulZone(); DataAccess dba = new DataAccess(); using (SqlConnection conn = dba.dxConnection) { conn.Open(); SqlTransaction trans = conn.BeginTransaction(); SqlCommand command = conn.CreateCommand(); command.Transaction = trans; string message = string.Empty; int claimId = 0; claimId = dba.dxGetIntData("select projid from schedule where schid=" + schId); SubProcessId = dba.dxGetIntData("select subprocessid from schedule where schid=" + schId); ////string claimNo = this.ddlProject.SelectedItem.Text.Trim(); SmartFlowLite.APInvoice inv = null; // Task variables int nextActionID = 22854; //task no this goes to int assignedAccountId = 0; //branch id int assignedUserId = 0; //user id if ((this.SubProcessId == 1) || (this.SubProcessId == 2)) { assignedUserId = WorkFlow.BLL.Invoice.APInvoice.GetPMforClaims(this.WfId, this.SubProcessId); assignedAccountId = Claim.GetBranchID(this.WfId, SubProcessId); } Doxess.Web.WorkFlow.Process.Process dxProcess = new Doxess.Web.WorkFlow.Process.Process(); dba.dxAddParameter("@POId", POId); int VendorId = dba.dxGetIntData("Select VendorId from PurchaseOrders where POId = @POId"); int CostCodeId = dba.dxGetIntData("Select defcostcode from vendors where vendorid =" + VendorId); // Add new invoice record inv = new SmartFlowLite.APInvoice(); inv.InvoiceDate = DateTime.Parse(this.txtInvoiceDate.Text); inv.Amount = Math.Round(Convert.ToDecimal(this.txtAmount.Text), 2); inv.GSTAmount = Math.Round(Convert.ToDecimal(this.txtHST.Text), 2); //inv.setProvincialTaxField(ref inv, SelectedVendor, SelectedBranch, Math.Round(Convert.ToDecimal(this.txtPSTAmt.Text), 2)); inv.TotalAmount = Math.Round((inv.Amount + inv.GSTAmount + inv.PSTAmount + inv.QSTAmount), 2); inv.ClaimId = claimId; inv.InvoiceNo = this.txtInvoiceNumber.Text.Trim(); inv.PONo = POId; inv.VendorId = VendorId; inv.VendorName = WorkFlow.Objects.BLL.Vendors.GetVendorName(VendorId); inv.SubProcess = this.SubProcessId; inv.FileId = this.FileId; inv.CostCodeId = CostCodeId; inv.History = false; inv.BatchId = WorkFlow.BLL.Invoice.APInvoice.GetBatchId(); inv.AdminOrClaims = 1; inv.ProcessId = 22; int invoiceId = inv.AddNewWithProcessId(ref message, command, userID); InvoiceId = invoiceId; if (!message.Equals(string.Empty)) { //delete the uplaoded file WorkFlow.BLL.Claim.UploadDoc doc = new UploadDoc(this.FileId); doc.DeleteFile(ref message); //delete attached PO WorkFlow.BLL.JobCost.PoData.DeletePO(POId); //this.lblMessage.Text = message; trans.Rollback(); return(message); } string TaskDesc = "Approve Vendor Cost - " + inv.VendorName + " No. " + inv.InvoiceNo; int DetId = dxProcess.wfTaskCreate(ref message, command, this.WfId, nextActionID, -1, assignedAccountId, assignedUserId, TaskDesc, "", "", InvoiceId, this.FileId, this.SubProcessId); if (!message.Equals(string.Empty) || DetId < 0) { WorkFlow.BLL.JobCost.PoData.DeletePO(POId); WorkFlow.BLL.Invoice.APInvoice.DeleteIncomingInvoice(command, InvoiceId, this.WfId, this.SubProcessId); WorkFlow.BLL.Claim.UploadDoc doc = new UploadDoc(this.FileId); doc.DeleteFile(ref message); //this.lblMessage.Text = message; trans.Rollback(); return(message); } else { if (cat == "20") { this.userName = dba.dxGetTextData("select resname from schresources where resindexid=(select accountid from wfusers where userid=" + this.userID.ToString() + ") and rescatid=20"); } else { this.userName = TimebookCom.WeeklyTimebook.GetUserNameById(userID); } Notes.AddNewNote(this.WfId, "A", 0, DateTime.Now.ToString(), userID, "Invoice " + InvoiceId + " created by " + userName, this.SubProcessId); } dba.dxAddParameter("@UserId", assignedUserId); int assignedToRoleId = 0;// = 211; DataTable dtRoles = dba.dxGetTable("Select RoleId from wfUsersRoles where UserId = @UserId order by RoleId"); if (dtRoles.Rows.Count > 0) { for (int count = 0; count < dtRoles.Rows.Count; count++) { if (Convert.ToInt32(dtRoles.Rows[count]["RoleId"].ToString()) == 210) { assignedToRoleId = 210; break; } else if (Convert.ToInt32(dtRoles.Rows[count]["RoleId"].ToString()) == 211) { assignedToRoleId = 211; break; } } } if (!message.Equals(string.Empty) || DetId < 0) { WorkFlow.BLL.JobCost.PoData.DeletePO(POId); WorkFlow.BLL.Invoice.APInvoice.DeleteIncomingInvoice(command, InvoiceId, this.WfId, this.SubProcessId); WorkFlow.BLL.Claim.UploadDoc doc = new UploadDoc(this.FileId); doc.DeleteFile(ref message); //this.lblMessage.Text = message; trans.Rollback(); return(message); } else { message = dba.dxUpdate(command, "wfDet", "AssignedToRoleId", "DetId", assignedToRoleId, DetId); message = dba.dxUpdate(command, "wfDetR2G", "AssignedToRoleId", "DetId", assignedToRoleId, DetId); dba.dxUpdate(command, "PurchaseOrders", "POStatusId", "POId", 2, inv.PONo); //update purchase order status } trans.Commit(); SetExpiryDate(DetId); return(""); } } catch (Exception ex) { string message = ex.Message; WorkFlow.BLL.Claim.UploadDoc doc = new UploadDoc(this.FileId); doc.DeleteFile(ref message); return(message); } }