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));
        }
示例#3
0
        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);
            }
        }