public ActionResult <string> TransitState([FromQuery] int ActionTypeID, [FromQuery] int ActionID, [FromQuery] int ApplicationID, [FromQuery] int ReuqesterUserID, [FromQuery] int DesiredStateID, [FromQuery] int RequestID, [FromQuery] int TransactionUserID, [FromQuery] int TransitionID) { if (AuthenticateUser() == false) { return(Unauthorized()); } string conStr = configuration.GetSection("Data").GetSection("ConntectionString").Value; RTS.JobStation.Models.Request requestModel = new RTS.JobStation.Models.Request(); RTS.JobStation.Controller.Request requestController = new RTS.JobStation.Controller.Request(); MySql.Data.MySqlClient.MySqlConnection con = null; MySql.Data.MySqlClient.MySqlTransaction MyTran = null; try { con = RTS.JobStation.DatabaseCommands.OpenConnection(); MyTran = RTS.JobStation.DatabaseCommands.OpenTransaction(ref con); RTS.JobStation.Controller.Request RequestWorkFlowController = new RTS.JobStation.Controller.Request(); RequestWorkFlowController.TransitionAction(ref con, ref MyTran, ActionTypeID, ActionID, ApplicationID, ReuqesterUserID, DesiredStateID, RequestID, TransactionUserID, TransitionID); return(Ok("Applied Successfully")); // jsonResult = JsonConvert.SerializeObject(ds); } catch (System.IO.IOException e) { return(StatusCode(501, "Error - " + e.Message.ToString())); } finally { RTS.JobStation.DatabaseCommands.CloseTransaction(ref MyTran); RTS.JobStation.DatabaseCommands.CloseConnection(ref con); } }
public ActionResult <string> GetRequestGroupWiseDetails(int StateGroupID, int CurrentLoggedInUserID, [FromQuery] int VacancyID = 0, [FromQuery] string GroupResultBy = "tDate") { if (AuthenticateUser() == false) { return(Unauthorized()); } string jsonResult = ""; DataSet ds = new DataSet(); ds.DataSetName = "Request"; string conStr = configuration.GetSection("Data").GetSection("ConntectionString").Value; RTS.JobStation.Controller.Request RequestController = new RTS.JobStation.Controller.Request(); MySql.Data.MySqlClient.MySqlConnection con = null; MySql.Data.MySqlClient.MySqlTransaction MyTran = null; try { con = RTS.JobStation.DatabaseCommands.OpenConnection(); MyTran = RTS.JobStation.DatabaseCommands.OpenTransaction(ref con); ds = RequestController.GetRequestGroupWiseDetails(ref con, ref MyTran, StateGroupID, CurrentLoggedInUserID, VacancyID, GroupResultBy); if (ds != null) { if (ds.Tables.Count > 0) { ds.DataSetName = "Request"; string xml = ds.GetXml(); XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); var xTag = doc.GetElementsByTagName("RequestList"); if (xTag.Count == 1) { var attribute = doc.CreateAttribute("json", "Array", "http://james.newtonking.com/projects/json"); attribute.InnerText = "true"; attribute.Value = "true"; var node = xTag.Item(0) as XmlElement; node.Attributes.Append(attribute); } xTag = doc.GetElementsByTagName("RequestDetails"); if (xTag.Count == 1) { var attribute = doc.CreateAttribute("json", "Array", "http://james.newtonking.com/projects/json"); attribute.InnerText = "true"; attribute.Value = "true"; var node = xTag.Item(0) as XmlElement; node.Attributes.Append(attribute); } xTag = doc.GetElementsByTagName("RequestDetails"); if (xTag.Count >= 1) { var attribute = doc.CreateAttribute("json", "Array", "http://james.newtonking.com/projects/json"); attribute.InnerText = "true"; attribute.Value = "true"; // var node = xTag.Item(0) as XmlElement; var xtagCount = xTag.Count; for (int i = 0; i < xtagCount; i++) { var node = xTag.Item(i); node.Attributes.Append(attribute); } } //string json2 = JsonConvert.SerializeObject(doc.GetElementsByTagName("Parents")); jsonResult = JsonConvert.SerializeObject(doc); } else { return(NoContent()); } } else { return(NoContent()); } // jsonResult = JsonConvert.SerializeObject(ds); } catch (System.IO.IOException e) { return(StatusCode(501, "Error - " + e.Message.ToString())); } finally { RTS.JobStation.DatabaseCommands.CloseTransaction(ref MyTran); RTS.JobStation.DatabaseCommands.CloseConnection(ref con); } return(Ok(jsonResult)); }
private void ProcessApplicationWorkflow(string conStr, string LoggedInUserID, int candidateID, int vacancyid, int ApplicationSourceID, int AppliedByUserID, int RequesterUserID, int StateID) { //string conStr = configuration.GetSection("Data").GetSection("ConntectionString").Value; RTS.JobStation.Models.Jobapplication JobApplicationModel = new RTS.JobStation.Models.Jobapplication(); RTS.JobStation.Controller.Jobapplication JobApplicationController = new RTS.JobStation.Controller.Jobapplication(); MySql.Data.MySqlClient.MySqlConnection con = null; MySql.Data.MySqlClient.MySqlTransaction MyTran = null; try { con = RTS.JobStation.DatabaseCommands.OpenConnection(); MyTran = RTS.JobStation.DatabaseCommands.OpenTransaction(ref con); JobApplicationModel.ApplicationSourceID = ApplicationSourceID; JobApplicationModel.AppliedByUser = AppliedByUserID; JobApplicationModel.AppliedOn = DateTime.Now; JobApplicationModel.CanidateID = candidateID; JobApplicationModel.VacancyID = vacancyid; JobApplicationModel.UpdatedBy = LoggedInUserID; JobApplicationModel.UpdatedOn = DateTime.Now; string result = JobApplicationController.Insert(JobApplicationModel, ref con, ref MyTran); int ApplicationID = 0; if (result == "200") { ApplicationID = Int32.Parse(JobStation.DatabaseCommands.GetLastInsertedID(ref con, ref MyTran).ToString()); } else if (result == "300") { ApplicationID = JobApplicationController.GetJobApplicationID(ref con, ref MyTran, candidateID, vacancyid); } else if (result == "0") { //return StatusCode(505, "Error, Error during inserting candidate"); //send admin error email } else { //return StatusCode(510, "Error, Cannot create of find application id"); //send admin error email } if (ApplicationID > 0) { RTS.JobStation.Controller.Request RequestWorkFlowController = new RTS.JobStation.Controller.Request(); RequestWorkFlowController.TransitionAction(ref con, ref MyTran, 100, 0, ApplicationID, RequesterUserID, StateID, 0, AppliedByUserID, 0); } if (result == "200") { // return Ok("Shortlisted Successfully"); } else { //send admin error email } // jsonResult = JsonConvert.SerializeObject(ds); } catch (System.IO.IOException e) { //send admin error email } finally { RTS.JobStation.DatabaseCommands.CloseTransaction(ref MyTran); RTS.JobStation.DatabaseCommands.CloseConnection(ref con); } }