示例#1
0
        public ActionResult AcceptedMedicalDetails(int Id = 0)
        {
            ViewBag.BenefitId     = _hrUnitOfWork.MedicalRepository.FillDDLBenefit(User.Identity.GetLanguage());
            ViewBag.Beneficiary   = _hrUnitOfWork.MedicalRepository.GetAllBeneficiary();
            ViewBag.Currency      = _hrUnitOfWork.LookUpRepository.GetCurrencyCode();
            ViewBag.Providers     = _hrUnitOfWork.MedicalRepository.GetAllProvider();
            ViewBag.RejectReason  = _hrUnitOfWork.LookUpRepository.GetLookUpCodes("MedRejectReason", Language).Select(a => new { id = a.CodeId, name = a.Title });
            ViewBag.Employees     = _hrUnitOfWork.PeopleRepository.GetActiveEmployees(CompanyId, Language);
            ViewBag.CancelReasons = _hrUnitOfWork.LookUpRepository.GetLookUpCodes("MedCancelReason", Language).Select(a => new { id = a.CodeId, name = a.Title });
            if (Id == 0)
            {
                return(View(new BenefitRequestFollowUp()));
            }
            BenefitRequestFollowUp request = _hrUnitOfWork.MedicalRepository.GetRequest(Id, Language);
            int BenficiaryId = request.BeneficiaryId == null ? 0 : request.BeneficiaryId.Value;

            ViewBag.Services = _hrUnitOfWork.MedicalRepository.GetAllservice(request.EmpId, request.BenefitId, BenficiaryId);
            return(View(request));
        }
示例#2
0
        public ActionResult FollowupDetails(int Id = 0)
        {
            ViewBag.BenefitId    = _hrUnitOfWork.MedicalRepository.FillDDLBenefit(User.Identity.GetLanguage());
            ViewBag.Beneficiary  = _hrUnitOfWork.MedicalRepository.GetAllBeneficiary();
            ViewBag.Currency     = _hrUnitOfWork.LookUpRepository.GetCurrencyCode();
            ViewBag.Providers    = _hrUnitOfWork.MedicalRepository.GetAllProvider();
            ViewBag.RejectReason = _hrUnitOfWork.LookUpRepository.GetLookUpCodes("MedRejectReason", Language).Select(a => new { id = a.CodeId, name = a.Title });
            BenefitRequestFollowUp request = _hrUnitOfWork.MedicalRepository.GetRequest(Id, Language);

            if (request == null)
            {
                request = new BenefitRequestFollowUp();
            }
            int BenficiaryId = request.BeneficiaryId == null ? 0 : request.BeneficiaryId.Value;

            ViewBag.Services  = _hrUnitOfWork.MedicalRepository.GetAllservice(request.EmpId, request.BenefitId, BenficiaryId);
            ViewBag.Employees = _hrUnitOfWork.EmployeeRepository.GetActiveEmployees(Language, request.EmpId, CompanyId).Select(a => new { id = a.Id, name = a.Employee, PicUrl = a.PicUrl, Icon = a.EmpStatus }).ToList();
            return(View(request));
        }
        public BenefitRequestFollowUp GetRequest(int requestId, string culture)
        {
            BenefitRequestFollowUp Request = (from req in context.BenefitRequests
                                              where req.Id == requestId
                                              join p in context.People on req.EmpId equals p.Id
                                              select new BenefitRequestFollowUp()
            {
                Id = req.Id,
                RequestDate = req.RequestDate,
                EmpId = req.EmpId,
                Employee = HrContext.TrlsName(p.Title + " " + p.FirstName + " " + p.Familyname, culture),
                ApprovalStatus = req.ApprovalStatus,
                RejectReason = req.RejectReason,
                RejectDesc = req.RejectDesc,
                CancelReason = req.CancelReason,
                CancelDesc = req.CancelDesc,
                Attachments = HrContext.GetAttachments("MedicalRequests", req.Id),
                CreatedTime = req.CreatedTime,
                CreatedUser = req.CreatedUser,
                ModifiedTime = req.ModifiedTime,
                ModifiedUser = req.ModifiedUser,
                Description = req.Description,
                CompanyCost = req.CompanyCost,
                Curr = req.Curr,
                EmpCost = req.EmpCost,
                CurrRate = req.CurrRate,
                ServCost = req.ServCost,
                ServiceId = req.ServiceId,
                ProviderId = req.ProviderId,
                BeneficiaryId = req.BeneficiaryId,
                ExpiryDate = req.ExpiryDate,
                ServEndDate = req.ServEndDate,
                ServStartDate = req.ServStartDate,
                IssueDate = req.IssueDate,
                BenefitPlanId = req.BenefitPlanId,
                BenefitId = req.BenefitId,
                PaidBy = req.PaidBy
            }).FirstOrDefault();

            return(Request);
        }
示例#4
0
        public ActionResult SaveBenefitSettlement(BenefitRequestFollowUp model, OptionsViewModel moreInfo)
        {
            List <Error> errors = new List <Error>();

            if (ModelState.IsValid)
            {
                if (ServerValidationEnabled)
                {
                    errors = _hrUnitOfWork.CompanyRepository.CheckForm(new CheckParm
                    {
                        CompanyId    = CompanyId,
                        ObjectName   = "acceptedMedical",
                        TableName    = "BenefitRequests",
                        Columns      = Models.Utils.GetColumnViews(ModelState.Where(a => !a.Key.Contains('.'))),
                        ParentColumn = "CompanyId",
                        Culture      = Language
                    });

                    if (errors.Count() > 0)
                    {
                        foreach (var e in errors)
                        {
                            foreach (var errorMsg in e.errors)
                            {
                                ModelState.AddModelError(errorMsg.field, errorMsg.message);
                            }
                        }
                        return(Json(Models.Utils.ParseFormErrors(ModelState)));
                    }
                }
            }
            else
            {
                return(Json(Models.Utils.ParseFormErrors(ModelState)));
            }
            BenefitRequest request = _hrUnitOfWork.MedicalRepository.Get(model.Id);
            byte           version;

            byte.TryParse(Request.Form["version"], out version);
            string message       = "OK";
            var    benefitplanId = _hrUnitOfWork.MedicalRepository.GetBenefitPlanId(model.ParentId, model.EmpId, model.BeneficiaryId);

            if (request == null)
            { /// New
                request = new BenefitRequest();
                AutoMapperParm parms = new AutoMapperParm()
                {
                    Source      = model,
                    Destination = request,
                    Version     = version,
                    ObjectName  = "acceptedMedical",
                    Options     = moreInfo,
                    Transtype   = TransType.Insert
                };
                AutoMapper(parms);
                request.ApprovalStatus = 6;
                request.CreatedUser    = UserName;
                request.CreatedTime    = DateTime.Now;
                request.RequestDate    = DateTime.Now;
                request.BenefitPlanId  = benefitplanId;
                request.CompanyId      = CompanyId;
                if (model.IssueDate != null)
                {
                    var Subperiod = _hrUnitOfWork.MedicalRepository.GetMedicalPeriodId(benefitplanId, (DateTime)model.IssueDate);
                    request.SubPeriodId = Subperiod;
                }
                _hrUnitOfWork.MedicalRepository.Add(request);
            }
            else if (request != null)
            { /// Edit
                AutoMapperParm parms = new AutoMapperParm()
                {
                    Source      = model,
                    Destination = request,
                    Version     = version,
                    ObjectName  = "MedicalRequestsForm",
                    Options     = moreInfo,
                    Transtype   = TransType.Update
                };
                AutoMapper(parms);
                request.ApprovalStatus = model.ApprovalStatus;
                request.ModifiedUser   = UserName;
                request.ModifiedTime   = DateTime.Now;
                request.RequestDate    = model.RequestDate;
                if (request.SubPeriodId == null)
                {
                    var coverageAmount = _hrUnitOfWork.Repository <BenefitPlan>().Where(a => a.Id == request.BenefitPlanId).Select(a => a.CoverAmount).FirstOrDefault();
                    var coverAmount    = coverageAmount == null ? 0 : coverageAmount;
                }
                else
                {
                }
                _hrUnitOfWork.MedicalRepository.Attach(request);
                _hrUnitOfWork.MedicalRepository.Entry(request).State = System.Data.Entity.EntityState.Modified;
            }

            var Errors = SaveChanges(Language);

            if (Errors.Count > 0)
            {
                message = Errors.First().errors.First().message;
                return(Json(message));
            }

            return(Json(message));
        }
示例#5
0
        public ActionResult SaveFollowupDetails(BenefitRequestFollowUp model, OptionsViewModel moreInfo)
        {
            List <Error>   Errors   = new List <Error>();
            int            periodId = 0;
            BenefitRequest request  = _hrUnitOfWork.MedicalRepository.Get(model.Id);

            if (ModelState.IsValid)
            {
                if (ServerValidationEnabled)
                {
                    Errors = _hrUnitOfWork.LeaveRepository.CheckForm(new CheckParm
                    {
                        CompanyId    = CompanyId,
                        ObjectName   = "MedicalReqFollowUpForm",
                        TableName    = "MedicalRequests",
                        Columns      = Models.Utils.GetColumnViews(ModelState.Where(a => !a.Key.Contains('.'))),
                        ParentColumn = "CompanyId",
                        Culture      = Language
                    });

                    if (Errors.Count() > 0)
                    {
                        foreach (var e in Errors)
                        {
                            foreach (var errorMsg in e.errors)
                            {
                                ModelState.AddModelError(errorMsg.field, errorMsg.message);
                            }
                        }
                        return(Json(Models.Utils.ParseFormErrors(ModelState)));
                    }
                }
            }
            else
            {
                return(Json(Models.Utils.ParseFormErrors(ModelState)));
            }

            if (model.IssueDate != null)
            {
                var period = _hrUnitOfWork.MedicalRepository.GetMedicalPeriodId(request.BenefitPlanId, (DateTime)model.IssueDate);
                //if (period != 0)
                //{
                periodId = period;
                //}
                //else
                //{
                //    ModelState.AddModelError("IssueDate", MsgUtils.Instance.Trls("Periodnotdefined"));
                //    return Json(Models.Utils.ParseFormErrors(ModelState));
                //}
            }
            AutoMapper(new Models.AutoMapperParm
            {
                Destination = request,
                Source      = model,
                ObjectName  = "MedicalReqFollowUpForm",
                Options     = moreInfo,
                Transtype   = TransType.Update
            });

            if (request.ApprovalStatus != 9)
            {
                request.RejectDesc   = null;
                request.RejectReason = null;
            }

            request.ModifiedTime = DateTime.Now;
            request.ModifiedUser = UserName;
            if (periodId != 0)
            {
                request.SubPeriodId = periodId;
            }

            if (request.ApprovalStatus == 5 || request.ApprovalStatus == 9) //Accepted or Rejected
            {
                string msg = AddWFTrans(request, null, null);
                if (msg.Length > 0)
                {
                    return(Json(msg));
                }
            }
            _hrUnitOfWork.MedicalRepository.Attach(request);
            _hrUnitOfWork.MedicalRepository.Entry(request).State = EntityState.Modified;

            Errors = SaveChanges(Language);
            if (Errors.Count > 0)
            {
                var message = Errors.First().errors.First().message;
                return(Json(message));
            }

            return(Json("OK"));
        }