public List <ExpenseReportEntity> GetExpenseReportsbyApproverRole(string approverRole, int?empId)
        {
            var rptList = _da.GetExpenseReportsbyApproverRole(approverRole, empId);
            List <ExpenseReportEntity> reportList = new List <ExpenseReportEntity>();

            foreach (var rep in rptList)
            {
                var report = new ExpenseReportEntity();
                report.AppliedDate = rep.AppliedDate.ToString("MM/dd/yyyy");
                report.ApprovedAmt = rep.ApprovedAmt;
                if (rep.ApproverId != null)
                {
                    report.Approver     = GetEmployeeByEmpID(rep.ApproverId);
                    report.ApprovedDate = ((DateTime)rep.ApprovalDate).ToString("MM/dd/yyyy");
                }
                report.ApproverId = rep.ApproverId;
                report.EmpId      = rep.EmpId;
                report.Employee   = GetEmployeeByEmpID(rep.EmpId);
                report.ExpenseAmt = rep.ExpenseAmt;
                report.ExpTyCode  = rep.ExpId;
                report.ExpType    = GetExpenseTypeByCode(rep.ExpId);
                report.ReportId   = rep.ReportId;
                report.Status     = rep.Status;
                report.Comments   = rep.Comments;
                reportList.Add(report);
            }
            return(reportList);
        }
        public List <ExpenseReportEntity> GetExpenseReportsbyEmpId(int?empId)
        {
            var repList = _da.GetExpenseReportsbyEmpId(empId);
            List <ExpenseReportEntity> reportList = new List <ExpenseReportEntity>();

            foreach (var rep in repList)
            {
                var report = new ExpenseReportEntity();
                report.AppliedDate  = rep.AppliedDate.ToString("MM/dd/yyyy");
                report.ApprovedAmt  = rep.ApprovedAmt;
                report.ApprovedDate = Convert.ToString(rep.ApprovalDate);
                if (rep.ApproverId != null)
                {
                    report.Approver = GetEmployeeByEmpID(Convert.ToInt32(rep.ApproverId));
                }
                report.EmpId      = rep.EmpId;
                report.ApproverId = Convert.ToInt32(rep.ApproverId);
                report.Employee   = GetEmployeeByEmpID(Convert.ToInt32(rep.EmpId));
                report.ExpenseAmt = rep.ExpenseAmt;
                report.ExpTyCode  = rep.ExpId;
                report.ExpType    = GetExpenseTypeByCode(rep.ExpId);
                report.ReportId   = rep.ReportId;
                report.Status     = rep.Status;
                report.Comments   = rep.Comments;
                reportList.Add(report);
            }
            return(reportList);
        }
        public void UpdateReportEmployee(ExpenseReportEntity rpt)
        {
            var report = _expcontext.ExpenseReports.Where(e => e.ReportId == rpt.ReportId).First();

            report.ExpenseAmt  = rpt.ExpenseAmt;
            report.ApprovedAmt = rpt.ApprovedAmt;
            report.Comments   += ";Emplyee: " + rpt.Comments;
            _expcontext.SaveChanges();
        }
        public int InsertReport(ReportViewModel report)
        {
            var rpt = new ExpenseReportEntity();

            rpt.EmpId      = report.EmpId;
            rpt.ExpTyCode  = report.ReportType;
            rpt.ExpenseAmt = report.ExpenseAmt;
            rpt.Comments   = report.Comments;

            return(_da.InsertReport(rpt));
        }
 public string ApproveReport(ExpenseReportEntity rpt)
 {
     _de.UpdateReportApprover(rpt);
     SMTPSender.ToAddress = _de.GetEmployeeByEmpID(rpt.EmpId).EmailId;
     SMTPSender.Subject   = "Report status updated";
     if (rpt.ApprovedAmt == 0)
     {
         SMTPSender.MessageBody = "Approver updated your report status to pending. Please check comments section to proceed with further actions.";
         SMTPSender.SendEmail();
         return("Updated successfully.");
     }
     SMTPSender.MessageBody = "Your report has been approved. Amount will be transferred to your account within one week.";
     SMTPSender.SendEmail();
     return("Report approved and confirmation sent to employee.");
 }
 public void UpdateReportApprover(ExpenseReportEntity rpt)
 {
     if (rpt.ApprovedAmt != 0)
     {
         var report = _expcontext.ExpenseReports.Where(e => e.ReportId == rpt.ReportId).First();
         report.ApproverId  = rpt.ApproverId;
         report.ApprovedAmt = rpt.ApprovedAmt;
         report.Comments    = rpt.Comments;
         report.Status      = rpt.Status;
         _expcontext.SaveChanges();
     }
     else
     {
         var report = _expcontext.ExpenseReports.Where(e => e.ReportId == rpt.ReportId).First();
         report.Status    = "Pending";
         report.Comments += ";Approver: " + rpt.Comments;
         _expcontext.SaveChanges();
     }
 }
 public JsonResult UpdateExpenseReport_Post(ExpenseReportEntity rpt, bool isOwnRpt)
 {
     if (!ModelState.IsValid)
     {
         return(Json(new { success = false, msg = "Did you enter the right details? Please enter valid details." }));
     }
     try
     {
         string message = "";
         if (isOwnRpt)
         {
             _de.UpdateReportEmployee(rpt);
             return(Json(new { success = true, own = isOwnRpt, msg = "Report updated successfully." }));
         }
         rpt.ApproverId = Convert.ToInt32(Session["userId"]);
         message        = ApproveReport(rpt);
         return(Json(new { success = true, msg = message }));
     }
     catch (Exception ex)
     {
         return(Json(new { scuccess = true, msg = "Error Occured. " + ex.Message }));
     }
 }
        public ExpenseReportEntity GtExpenseReportbyReportId(int?reportId)
        {
            var report    = _da.GetExpenseReportbyReportId(reportId);
            var repEntity = new ExpenseReportEntity();

            repEntity.ReportId    = report.ReportId;
            repEntity.AppliedDate = report.AppliedDate.ToString("MM/dd/yyyy");
            repEntity.EmpId       = Convert.ToInt32(report.EmpId);
            repEntity.Employee    = GetEmployeeByEmpID(repEntity.EmpId);
            if (report.ApproverId != null && report.ApproverId != 0)
            {
                repEntity.Approver     = GetEmployeeByEmpID(Convert.ToInt32(report.ApproverId));
                repEntity.ApprovedDate = report.ApprovalDate.ToString();
            }

            repEntity.ApproverId = report.ApproverId;
            repEntity.ExpenseAmt = report.ExpenseAmt;
            repEntity.ExpTyCode  = report.ExpId;
            repEntity.ExpType    = GetExpenseTypeByCode(report.ExpId);
            repEntity.Status     = report.Status;
            repEntity.Comments   = report.Comments;

            return(repEntity);
        }
 public int InsertReport(ExpenseReportEntity report)
 {
     return(_expcontext.InsertExpenseReport(report.ExpTyCode, report.EmpId, report.ExpenseAmt, report.Comments, "Applied"));
 }
 public void UpdateReportEmployee(ExpenseReportEntity rpt)
 {
     _da.UpdateReportEmployee(rpt);
 }
 public void UpdateReportApprover(ExpenseReportEntity rpt)
 {
     _da.UpdateReportApprover(rpt);
 }