예제 #1
0
        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);
            }
        }
예제 #2
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);
            }
        }