Exemple #1
0
        public HttpResponseMessage SubmitReimburse(SubmitReimburseData submitReimburseData)
        {
            HttpResponseMessage response = null;

            try
            {
                var result = approvalService.SubmitReimburse(submitReimburseData);
                response = Request.CreateResponse(HttpStatusCode.OK, result);
            }
            catch (Exception ex)
            {
                LogMessage.Log("SubmitReimburse :" + ex.Message);
                response = Request.CreateResponse(HttpStatusCode.InternalServerError, "Travel request was not successfully submited. Please try again.");
            }

            return(response);
        }
Exemple #2
0
        public bool SubmitReimburse(SubmitReimburseData submitReimburseData)
        {
            try
            {
                var isSubmitterRequesting = false;
                using (dbConn = ConnectionFactory.GetOpenDefaultConnection())
                {
                    OracleCommand cmd3 = new OracleCommand();

                    cmd3.Connection  = (OracleConnection)dbConn;
                    cmd3.CommandText = string.Format(@"Select * from REIMBURSE_APPROVAL where TravelRequestId = {0}", submitReimburseData.HeirarchichalApprovalRequest.TravelRequestId);
                    DbDataReader dataReader = cmd3.ExecuteReader();
                    if (dataReader.HasRows)
                    {
                        foreach (var item in submitReimburseData.HeirarchichalApprovalRequest.ApproverList)
                        {
                            if (item.ApproverBadgeNumber != 0)
                            {
                                //  Check if the approval already exists
                                OracleCommand cmd = new OracleCommand();
                                cmd.Connection  = (OracleConnection)dbConn;
                                cmd.CommandText = string.Format(@"Update REIMBURSE_APPROVAL SET                                                   
                                                            BADGENUMBER = :p1,
                                                            APPROVERNAME = :p2,                                                                                                                     
                                                            APPROVEROTHERBADGENUMBER = :p3,
                                                            APPROVALSTATUS = :p4,
                                                            APPROVALDATETIME = :p5 WHERE TRAVELREQUESTID = {0} AND APPROVALORDER = {1} ", submitReimburseData.HeirarchichalApprovalRequest.TravelRequestId, item.ApprovalOrder);
                                cmd.Parameters.Add(new OracleParameter("p1", item.ApproverBadgeNumber));
                                cmd.Parameters.Add(new OracleParameter("p2", item.ApproverName));
                                cmd.Parameters.Add(new OracleParameter("p3", item.ApproverOtherBadgeNumber));
                                cmd.Parameters.Add(new OracleParameter("p4", ApprovalStatus.Pending.ToString()));
                                cmd.Parameters.Add(new OracleParameter("p5", null));
                                var rowsUpdated = cmd.ExecuteNonQuery();
                                cmd.Dispose();
                            }
                            else
                            {
                                OracleCommand cmd = new OracleCommand();
                                cmd.Connection  = (OracleConnection)dbConn;
                                cmd.CommandText = string.Format(@"Delete from REIMBURSE_APPROVAL where TravelRequestId = {0} AND APPROVALORDER = {1}", submitReimburseData.HeirarchichalApprovalRequest.TravelRequestId, item.ApprovalOrder);
                                cmd.ExecuteNonQuery();
                            }
                        }
                    }
                    else
                    {
                        cmd3.Connection  = (OracleConnection)dbConn;
                        cmd3.CommandText = string.Format(@"Delete from REIMBURSE_APPROVAL where TravelRequestId = {0}", submitReimburseData.HeirarchichalApprovalRequest.TravelRequestId);
                        cmd3.ExecuteNonQuery();

                        foreach (var item in submitReimburseData.HeirarchichalApprovalRequest.ApproverList)
                        {
                            if (item.ApproverBadgeNumber != 0)
                            {
                                // submit to approval
                                OracleCommand cmd = new OracleCommand();
                                cmd.Connection  = (OracleConnection)dbConn;
                                cmd.CommandText = @"INSERT INTO REIMBURSE_APPROVAL (                                                  
                                                            TRAVELREQUESTID,
                                                            BADGENUMBER,
                                                            APPROVERNAME,
                                                            APPROVALSTATUS,
                                                            APPROVALORDER,
                                                            APPROVEROTHERBADGENUMBER
                                                        )
                                                        VALUES
                                                            (:p1,:p2,:p3,:p4,:p5,:p6)";
                                cmd.Parameters.Add(new OracleParameter("p1", submitReimburseData.HeirarchichalApprovalRequest.TravelRequestId));
                                cmd.Parameters.Add(new OracleParameter("p2", item.ApproverBadgeNumber));
                                cmd.Parameters.Add(new OracleParameter("p3", item.ApproverName));
                                cmd.Parameters.Add(new OracleParameter("p4", ApprovalStatus.Pending.ToString()));
                                cmd.Parameters.Add(new OracleParameter("p5", item.ApprovalOrder));
                                cmd.Parameters.Add(new OracleParameter("p6", item.ApproverOtherBadgeNumber));
                                var rowsUpdated = cmd.ExecuteNonQuery();
                                cmd.Dispose();
                            }
                        }
                    }
                    OracleCommand cmd1 = new OracleCommand();
                    cmd1.Connection  = (OracleConnection)dbConn;
                    cmd1.CommandText = string.Format(@"UPDATE REIMBURSE_TRAVELREQUEST SET                                                 
                                                       SUBMITTEDBYUSERNAME = :p1 ,
                                                        SUBMITTEDDATETIME = :p2,
                                                        STATUS = :p3,
                                                        AGREE = :p4
                                                   WHERE TRAVELREQUESTID = {0}", submitReimburseData.HeirarchichalApprovalRequest.TravelRequestId);

                    cmd1.Parameters.Add(new OracleParameter("p1", submitReimburseData.HeirarchichalApprovalRequest.SubmittedByUserName));
                    cmd1.Parameters.Add(new OracleParameter("p2", DateTime.Now));
                    cmd1.Parameters.Add(new OracleParameter("p3", Common.ApprovalStatus.Pending.ToString()));
                    cmd1.Parameters.Add(new OracleParameter("p4", (submitReimburseData.HeirarchichalApprovalRequest.AgreedToTermsAndConditions) ? "Y" : "N"));
                    var rowsUpdated1 = cmd1.ExecuteNonQuery();
                    cmd1.Dispose();

                    var result = getNextApproverBadgeNumber(dbConn, submitReimburseData.HeirarchichalApprovalRequest.TravelRequestId, "REIMBURSE_APPROVAL");


                    string subject = string.Format(@"Reimbursement Request Approval for Travel Request Id - {0} ", submitReimburseData.HeirarchichalApprovalRequest.TravelRequestId);

                    sendNewReimbursementRequestEmail(submitReimburseData.HeirarchichalApprovalRequest.TravelRequestBadgeNumber, "Travel Request Reimbursement Form Submitted Successfully", submitReimburseData.HeirarchichalApprovalRequest.TravelRequestId);

                    var dateTime = System.DateTime.Now.Ticks;
                    //Generate Crystal report
                    travelRequestReportService.RunReport("Travel_Business_Expense.rpt", "ReimbursementRequest_" + submitReimburseData.HeirarchichalApprovalRequest.TravelRequestId + "_" + dateTime, submitReimburseData.HeirarchichalApprovalRequest.TravelRequestId.ToString());

                    sendEmail(result, subject, submitReimburseData.HeirarchichalApprovalRequest.TravelRequestId, "Form2", "ReimbursementRequest_" + submitReimburseData.HeirarchichalApprovalRequest.TravelRequestId + "_" + dateTime);
                    dbConn.Close();
                    dbConn.Dispose();
                }
                return(true);
            }

            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemple #3
0
        public bool SubmitReimburse(SubmitReimburseData submitReimburseData)
        {
            var result = approvalRepository.SubmitReimburse(submitReimburseData);

            return(result);
        }