コード例 #1
0
        private bool UpdateCaseResults(long CaseID, List <CasePlanResult> lstCasePlanResult)
        {
            using (var DB = new MHMDal.Models.MHM())
            {
                using (var dbContextTransaction = DB.Database.BeginTransaction())
                {
                    try
                    {
                        //Remove CasePlanResult
                        var CasePlanResult = DB.CasePlanResults.Where(r => r.CaseId == CaseID).ToList();
                        DB.CasePlanResults.RemoveRange(CasePlanResult);
                        DB.SaveChanges();

                        var CasePlanResults = lstCasePlanResult.ToList();

                        // Save Case Result
                        foreach (var r in CasePlanResults)
                        {
                            DB.Entry(r).State = EntityState.Detached;

                            r.CaseId                        = CaseID;
                            r.GrossAnnualPremium            = r.GrossAnnualPremium;
                            r.FederalSubsidy                = r.FederalSubsidy;
                            r.NetAnnualPremium              = r.NetAnnualPremium;
                            r.MonthlyPremium                = r.MonthlyPremium;
                            r.Copays                        = r.Copays;
                            r.PaymentsToDeductibleLimit     = r.PaymentsToDeductibleLimit;
                            r.CoinsuranceToOutOfPocketLimit = r.CoinsuranceToOutOfPocketLimit;
                            r.ContributedToYourHSAAccount   = r.ContributedToYourHSAAccount;
                            r.TaxSavingFromHSAAccount       = r.TaxSavingFromHSAAccount;
                            r.Medical                       = r.Medical;
                            r.TotalPaid                     = r.TotalPaid;
                            r.PaymentsByInsuranceCo         = r.PaymentsByInsuranceCo;
                            r.DeductibleSingle              = r.DeductibleSingle;
                            r.DeductibleFamilyPerPerson     = r.DeductibleFamilyPerPerson;
                            r.DeductibleFamilyPerGroup      = r.DeductibleFamilyPerGroup;
                            r.OPLSingle                     = r.OPLSingle;
                            r.OPLFamilyPerPerson            = r.OPLFamilyPerPerson;
                            r.OPLFamilyPerGroup             = r.OPLFamilyPerGroup;
                            r.Coinsurance                   = r.Coinsurance;
                            r.WorstCase                     = r.WorstCase;
                            r.CreatedDateTime               = DateTime.Now;

                            DB.CasePlanResults.Add(r);
                            DB.SaveChanges();
                        }

                        dbContextTransaction.Commit();
                        return(true);
                    }
                    catch (Exception ex)
                    {
                        dbContextTransaction.Rollback();
                        throw ex;
                    }
                }
            }
        }
コード例 #2
0
        public void UpdateCaseToSent(long CaseId, bool MailStatus, long ModifiedBy)
        {
            using (var DB = new MHMDal.Models.MHM())
            {
                var oCase = DB.Cases.Where(r => r.CaseID == CaseId).FirstOrDefault();
                try
                {
                    if (oCase.StatusId == 6 || oCase.StatusId == 8)
                    {
                        oCase.StatusId = MailStatus ? 8 : oCase.StatusId;
                    }
                    else
                    {
                        oCase.StatusId = MailStatus ? 2 : oCase.StatusId;
                    }
                    oCase.CaseJobRunStatus = MailStatus ? Convert.ToString(MHM.Api.Models.EnumStatusModel.CaseJobRunStatus.ReportSent) : Convert.ToString(MHM.Api.Models.EnumStatusModel.CaseJobRunStatus.SendError);
                    oCase.CaseJobRunDt     = DateTime.Now;
                    oCase.CaseJobRunUserID = ModifiedBy;
                    DB.SaveChanges();

                    var Job = DB.JobMasters.Where(r => r.JobNumber == oCase.JobNumber).FirstOrDefault();
                    Job.LastJobRunDt     = DateTime.Now;
                    Job.LastJubRunUserID = ModifiedBy;
                    Job.LastJobRunStatus = Job.JobRunStatus;
                    if (Job.JobRunStatus != Convert.ToString(MHM.Api.Models.EnumStatusModel.JobRunStatus.GenErrors) && Job.JobRunStatus != Convert.ToString(MHM.Api.Models.EnumStatusModel.JobRunStatus.SendErrors))
                    {
                        Job.JobRunStatus = MailStatus ? Convert.ToString(MHM.Api.Models.EnumStatusModel.JobRunStatus.AllSent) : Convert.ToString(MHM.Api.Models.EnumStatusModel.JobRunStatus.SendErrors);
                    }
                    DB.SaveChanges();
                }
                catch (Exception ex)
                {
                    oCase.CaseJobRunStatus = Convert.ToString(MHM.Api.Models.EnumStatusModel.CaseJobRunStatus.SendError);
                    oCase.CaseJobRunMsg    = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    oCase.CaseJobRunDt     = DateTime.Now;
                    oCase.CaseJobRunUserID = ModifiedBy;
                    DB.SaveChanges();

                    var Job = DB.JobMasters.Where(r => r.JobNumber == oCase.JobNumber).FirstOrDefault();
                    Job.LastJobRunDt     = DateTime.Now;
                    Job.LastJubRunUserID = ModifiedBy;
                    Job.LastJobRunStatus = Job.JobRunStatus;
                    if (Job.JobRunStatus != Convert.ToString(MHM.Api.Models.EnumStatusModel.JobRunStatus.GenErrors) && Job.JobRunStatus != Convert.ToString(MHM.Api.Models.EnumStatusModel.JobRunStatus.SendErrors))
                    {
                        Job.JobRunStatus = Convert.ToString(MHM.Api.Models.EnumStatusModel.JobRunStatus.SendErrors);
                    }
                    DB.SaveChanges();
                }
            }
        }
コード例 #3
0
        public HttpResponseMessage AddEmployer(EmployerMst employermst)
        {
            Response oResponse = new Response();

            if (!ModelState.IsValid)
            {
                string messages = string.Join(Environment.NewLine, ModelState.Values
                                              .SelectMany(r => r.Errors)
                                              .Select(r => r.ErrorMessage));

                oResponse.Status  = false;
                oResponse.Message = messages;
                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                return(response);
            }
            using (var DB = new MHMDal.Models.MHM())
            {
                try
                {
                    HttpResponseMessage response;
                    if (DB.EmployerMsts.Any(r => r.EmployerId == employermst.EmployerId))
                    {
                        oResponse.Status  = false;
                        oResponse.Message = "Employer Id already exist";
                        response          = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                        return(response);
                    }

                    employermst.CreatedDateTime = System.DateTime.Now;
                    DB.EmployerMsts.Add(employermst);
                    DB.SaveChanges();

                    oResponse.Status  = true;
                    oResponse.Message = "Success";
                    response          = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                    return(response);
                }
                catch (Exception ex)
                {
                    oResponse.Status  = false;
                    oResponse.Message = ex.InnerException.Message;

                    string ExceptionString = "Api : AddEmployer" + Environment.NewLine;
                    ExceptionString += "Request : " + " employermst " + JsonConvert.SerializeObject(employermst) + Environment.NewLine;
                    ExceptionString += "Exception : " + JsonConvert.SerializeObject(oResponse) + Environment.NewLine;
                    var fileName = "AddEmployer - " + System.DateTime.Now.ToString("MM-dd-yyyy hh-mm-ss");
                    Helpers.Service.LogError(fileName, ExceptionString);

                    HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.BadRequest, oResponse);
                    return(response);
                }
            }
        }
コード例 #4
0
        public HttpResponseMessage UpdateAllFinalNotSendCases([FromUri]  List <int?> CaseStatusIds, string JobNumber, string JobRunStatus)
        {
            Dictionary <string, object> res = new Dictionary <string, object>();

            using (var DB = new MHMDal.Models.MHM())
            {
                try
                {
                    var lstCases = DB.Cases.Where(r => r.JobNumber == JobNumber && CaseStatusIds.Contains(r.StatusId)).ToList();
                    if (JobRunStatus != null)
                    {
                        lstCases = lstCases.Where(r => r.CaseJobRunStatus == JobRunStatus).ToList();
                    }

                    lstCases.ForEach(r => r.InProcessStatus = false);
                    DB.SaveChanges();

                    var Job = DB.JobMasters.Where(r => r.JobNumber == JobNumber).FirstOrDefault();
                    Job.JobRunStatus = Convert.ToString(MHM.Api.Models.EnumStatusModel.JobRunStatus.NULL);
                    DB.SaveChanges();

                    res.Add("Status", "true");
                    res.Add("Message", "Success");

                    HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, res);
                    return(response);
                }
                catch (Exception ex)
                {
                    res.Add("Status", "false");
                    res.Add("Message", "Failed");

                    HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.BadRequest, res);
                    return(response);
                }
            }
        }
コード例 #5
0
        public HttpResponseMessage SaveBenefitCost(BenefitCostViewModel oModel)
        {
            Dictionary <string, object> data = new Dictionary <string, object>();

            if (!ModelState.IsValid)
            {
                string messages = string.Join(Environment.NewLine, ModelState.Values
                                              .SelectMany(x => x.Errors)
                                              .Select(x => x.ErrorMessage));

                data.Add("Status", false);
                data.Add("Message", messages);
                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, data);
                return(response);
            }

            try
            {
                using (var DB = new MHMDal.Models.MHM())
                {
                    var result = DB.MHMBenefitCostByAreaMsts.Where(m => m.RatingAreaID == oModel.RatingAreaID && m.StateCode == oModel.StateCode).ToList();
                    DB.MHMBenefitCostByAreaMsts.RemoveRange(result);
                    //foreach (var item in result)
                    //{
                    //    MHMBenefitCostByAreaMst oMHMBenefitCostByAreaMst = new MHMBenefitCostByAreaMst();
                    //    oMHMBenefitCostByAreaMst = item;
                    //    DB.MHMBenefitCostByAreaMsts.Remove(oMHMBenefitCostByAreaMst);
                    //}

                    // DB.MHMBenefitCostByAreaMsts.AddRange(oModel.Benefits);
                    bool FinalStatus = false;

                    foreach (var item in oModel.Benefits)
                    {
                        var Status = DB.MHMCommonBenefitsMsts.Select(r => r.MHMBenefitID).Contains(item.MHMBenefitId);
                        if (Status)
                        {
                            MHMBenefitCostByAreaMst oMHMBenefitCost = new MHMBenefitCostByAreaMst();
                            oMHMBenefitCost.MHMBenefitId    = item.MHMBenefitId;
                            oMHMBenefitCost.RatingAreaID    = oModel.RatingAreaID;
                            oMHMBenefitCost.MHMBenefitCost  = item.MHMBenefitCost;
                            oMHMBenefitCost.StateCode       = oModel.StateCode;
                            oMHMBenefitCost.Createdby       = oModel.Createdby;
                            oMHMBenefitCost.CreatedDateTime = DateTime.Now;
                            DB.MHMBenefitCostByAreaMsts.Add(oMHMBenefitCost);
                            DB.SaveChanges();
                        }
                        else
                        {
                            FinalStatus = true;
                        }
                    }

                    //Remove Cache of PlanBenefitMaster
                    var MHMBenefitCostByAreaMasterFromCache = MHMCache.GetMyCachedItem("MHMBenefitCostByAreaMaster");
                    if (MHMBenefitCostByAreaMasterFromCache != null)
                    {
                        MHMCache.RemoveMyCachedItem("MHMBenefitCostByAreaMaster");
                    }

                    data.Add("Status", true);
                    data.Add("Message", FinalStatus ? "Success ! but some benefit deleted" : "Success");
                    HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, data);
                    return(response);
                }
            }
            catch (Exception ex)
            {
                data.Add("Status", false);
                data.Add("Message", ex.Message);

                string ExceptionString = "Api : SaveBenefitCost" + Environment.NewLine;
                ExceptionString += "Request :  " + JsonConvert.SerializeObject(oModel) + Environment.NewLine;
                ExceptionString += "Exception : " + JsonConvert.SerializeObject(data) + Environment.NewLine;
                var fileName = "SaveBenefitCost - " + System.DateTime.Now.ToString("MM-dd-yyyy hh-mm-ss");
                Helpers.Service.LogError(fileName, ExceptionString);

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.BadRequest, data);
                return(response);
            }
        }
コード例 #6
0
        public HttpResponseMessage DeleteBenefit(long id)
        {
            Response oResponse = new Response();

            using (var DB = new MHMDal.Models.MHM())
            {
                MHMCommonBenefitsMst mHMCommonBenefitsMst = DB.MHMCommonBenefitsMsts.Find(id);
                if (mHMCommonBenefitsMst == null)
                {
                    oResponse.Status  = false;
                    oResponse.Message = "Benefit cannot be found. ";
                    HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.NoContent, oResponse);
                    return(response);
                }

                using (var dbContextTransaction = DB.Database.BeginTransaction())
                {
                    try
                    {
                        var status = DB.BenefitUserDetails.Where(r => r.MHMMappingBenefitId == mHMCommonBenefitsMst.MHMBenefitID).FirstOrDefault();
                        if (status == null)
                        {
                            var MHMBenefitMappingMsts    = DB.MHMBenefitMappingMsts.Where(r => r.MHMCommonBenefitID == mHMCommonBenefitsMst.MHMBenefitID);
                            var MHMBenefitCostByAreaMsts = DB.MHMBenefitCostByAreaMsts.Where(r => r.MHMBenefitId == mHMCommonBenefitsMst.MHMBenefitID);
                            DB.MHMBenefitMappingMsts.RemoveRange(MHMBenefitMappingMsts);
                            DB.MHMBenefitCostByAreaMsts.RemoveRange(MHMBenefitCostByAreaMsts);
                            DB.MHMCommonBenefitsMsts.Remove(mHMCommonBenefitsMst);
                            DB.SaveChanges();
                            oResponse.Status  = true;
                            oResponse.Message = "Success";
                            dbContextTransaction.Commit();

                            //Remove Cache of MHMBenefitMappingMaster
                            var MHMBenefitMappingMasterFromCache = MHMCache.GetMyCachedItem("MHMBenefitMappingMaster");
                            if (MHMBenefitMappingMasterFromCache != null)
                            {
                                MHMCache.RemoveMyCachedItem("MHMBenefitMappingMaster");
                            }

                            //Remove Cache of MHMBenefitCostByAreaMaster
                            var MHMBenefitCostByAreaMasterFromCache = MHMCache.GetMyCachedItem("MHMBenefitCostByAreaMaster");
                            if (MHMBenefitCostByAreaMasterFromCache != null)
                            {
                                MHMCache.RemoveMyCachedItem("MHMBenefitCostByAreaMaster");
                            }

                            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                            return(response);
                        }
                        else
                        {
                            oResponse.Status  = false;
                            oResponse.Message = "This benefit is used in a case hence can't be deleted";
                            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                            return(response);
                        }
                    }
                    catch (Exception ex)
                    {
                        oResponse.Status  = false;
                        oResponse.Message = ex.Message;

                        string ExceptionString = "Api : DeleteBenefit" + Environment.NewLine;
                        ExceptionString += "Request :  " + " id " + id + Environment.NewLine;
                        ExceptionString += "Exception : " + JsonConvert.SerializeObject(oResponse) + Environment.NewLine;
                        var fileName = "DeleteBenefit - " + System.DateTime.Now.ToString("MM-dd-yyyy hh-mm-ss");
                        Helpers.Service.LogError(fileName, ExceptionString);

                        dbContextTransaction.Rollback();
                        HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.BadRequest, oResponse);
                        return(response);
                    }
                }
            }
        }
コード例 #7
0
        public HttpResponseMessage PostMHMCommonBenefitsMst(MHMCommonBenefitsMst mHMCommonBenefitsMst)
        {
            Response oResponse = new Response();

            if (!ModelState.IsValid)
            {
                string messages = string.Join(Environment.NewLine, ModelState.Values
                                              .SelectMany(x => x.Errors)
                                              .Select(x => x.ErrorMessage));

                oResponse.Status  = false;
                oResponse.Message = messages;
                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                return(response);
            }

            using (var DB = new MHMDal.Models.MHM())
            {
                using (var dbContextTransaction = DB.Database.BeginTransaction())
                {
                    try
                    {
                        var Benefit = DB.MHMCommonBenefitsMsts.Where(r => r.MHMBenefitName == mHMCommonBenefitsMst.MHMBenefitName).FirstOrDefault();
                        if (Benefit == null)
                        {
                            mHMCommonBenefitsMst.CreatedDateTime = DateTime.Now;
                            DB.MHMCommonBenefitsMsts.Add(mHMCommonBenefitsMst);
                            //mHMCommonBenefitsMst.MHMBenefitMappingMsts.ToList().ForEach(r => r.MHMCommonBenefitID = mHMCommonBenefitsMst.MHMBenefitID);
                            DB.SaveChanges();

                            oResponse.Status  = true;
                            oResponse.Message = "Success";
                            dbContextTransaction.Commit();

                            //Remove Cache of PlanBenefitMaster
                            var PlanAttributeMasterFromCache = MHMCache.GetMyCachedItem("MHMBenefitMappingMaster");
                            if (PlanAttributeMasterFromCache != null)
                            {
                                MHMCache.RemoveMyCachedItem("MHMBenefitMappingMaster");
                            }

                            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                            return(response);
                        }
                        else
                        {
                            oResponse.Status  = false;
                            oResponse.Message = "Benefit name already exists.";
                            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                            return(response);
                        }
                    }
                    catch (Exception ex)
                    {
                        oResponse.Status  = false;
                        oResponse.Message = ex.Message;

                        string ExceptionString = "Api : PostMHMCommonBenefitsMst" + Environment.NewLine;
                        ExceptionString += "Request :  " + JsonConvert.SerializeObject(mHMCommonBenefitsMst) + Environment.NewLine;
                        ExceptionString += "Exception : " + JsonConvert.SerializeObject(oResponse) + Environment.NewLine;
                        var fileName = "PostMHMCommonBenefitsMst - " + System.DateTime.Now.ToString("MM-dd-yyyy hh-mm-ss");
                        Helpers.Service.LogError(fileName, ExceptionString);

                        dbContextTransaction.Rollback();
                        HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.BadRequest, oResponse);
                        return(response);
                    }
                }
            }
        }
コード例 #8
0
        public HttpResponseMessage PutMHMCommonBenefitsMst(MHMCommonBenefitsMst mHMCommonBenefitsMst)
        {
            Response oResponse = new Response();

            if (!ModelState.IsValid)
            {
                string messages = string.Join(Environment.NewLine, ModelState.Values
                                              .SelectMany(x => x.Errors)
                                              .Select(x => x.ErrorMessage));

                oResponse.Status  = false;
                oResponse.Message = messages;
                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                return(response);
            }
            using (var DB = new MHMDal.Models.MHM())
            {
                List <MHMBenefitMappingMst> newBenefits = mHMCommonBenefitsMst.MHMBenefitMappingMsts.ToList();
                using (var dbContextTransaction = DB.Database.BeginTransaction())
                {
                    try
                    {
                        var mhmCommonBenefit = DB.MHMCommonBenefitsMsts.Find(mHMCommonBenefitsMst.MHMBenefitID);
                        if (mhmCommonBenefit == null)
                        {
                            oResponse.Status  = false;
                            oResponse.Message = "Benefit cannot be found.";
                            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                            return(response);
                        }

                        mhmCommonBenefit.MHMBenefitName   = mHMCommonBenefitsMst.MHMBenefitName;
                        mhmCommonBenefit.CategoryId       = mHMCommonBenefitsMst.CategoryId;
                        mhmCommonBenefit.IsDefault        = mHMCommonBenefitsMst.IsDefault;
                        mhmCommonBenefit.ModifiedDateTime = DateTime.Now;
                        DB.SaveChanges();
                        newBenefits.ForEach(r => r.MHMCommonBenefitID = mhmCommonBenefit.MHMBenefitID);
                    }
                    catch (Exception ex)
                    {
                        var sqlException = ex.InnerException.InnerException as System.Data.SqlClient.SqlException;

                        if (sqlException.Number == 2601 || sqlException.Number == 2627)
                        {
                            oResponse.Status  = false;
                            oResponse.Message = "Benefit name already exists.";

                            string ExceptionString = "Api : PutMHMCommonBenefitsMst" + Environment.NewLine;
                            ExceptionString += "Request :  " + JsonConvert.SerializeObject(mHMCommonBenefitsMst) + Environment.NewLine;
                            ExceptionString += "Exception : " + JsonConvert.SerializeObject(oResponse) + Environment.NewLine;
                            var fileName = "PutMHMCommonBenefitsMst - " + System.DateTime.Now.ToString("MM-dd-yyyy hh-mm-ss");
                            Helpers.Service.LogError(fileName, ExceptionString);

                            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                            return(response);
                        }
                        else
                        {
                            oResponse.Status  = false;
                            oResponse.Message = ex.Message;

                            string ExceptionString = "Api : PutMHMCommonBenefitsMst" + Environment.NewLine;
                            ExceptionString += "Request :  " + JsonConvert.SerializeObject(mHMCommonBenefitsMst) + Environment.NewLine;
                            ExceptionString += "Exception : " + JsonConvert.SerializeObject(oResponse) + Environment.NewLine;
                            var fileName = "PutMHMCommonBenefitsMst - " + System.DateTime.Now.ToString("MM-dd-yyyy hh-mm-ss");
                            Helpers.Service.LogError(fileName, ExceptionString);

                            dbContextTransaction.Rollback();
                            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.BadRequest, oResponse);
                            return(response);
                        }
                    }

                    //DB.Entry(mHMCommonBenefitsMst).State = EntityState.Modified;

                    try
                    {
                        foreach (var item in mHMCommonBenefitsMst.MHMBenefitMappingMsts)
                        {
                            var temp = DB.MHMBenefitMappingMsts.Where(r => r.Id == item.Id).FirstOrDefault();
                            if (temp != null)
                            {
                                temp.IssuerBenefitID  = item.IssuerBenefitID;
                                temp.ModifiedBy       = mHMCommonBenefitsMst.Createdby;
                                temp.ModifiedDateTime = System.DateTime.Now;
                            }
                            else
                            {
                                MHMBenefitMappingMst obj = new MHMBenefitMappingMst();
                                obj.IssuerID           = item.IssuerID;
                                obj.MHMCommonBenefitID = item.MHMCommonBenefitID;
                                obj.IssuerBenefitID    = item.IssuerBenefitID;
                                obj.Createdby          = mHMCommonBenefitsMst.Createdby;
                                obj.CreatedDateTime    = System.DateTime.Now;
                                DB.MHMBenefitMappingMsts.Add(obj);
                            }
                            DB.SaveChanges();
                        }

                        dbContextTransaction.Commit();

                        //Remove Cache of PlanBenefitMaster
                        var PlanAttributeMasterFromCache = MHMCache.GetMyCachedItem("MHMBenefitMappingMaster");
                        if (PlanAttributeMasterFromCache != null)
                        {
                            MHMCache.RemoveMyCachedItem("MHMBenefitMappingMaster");
                        }

                        oResponse.Status  = true;
                        oResponse.Message = "Success";
                        HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                        return(response);
                    }
                    catch (DbUpdateConcurrencyException ex)
                    {
                        if (!MHMCommonBenefitsMstExists(mHMCommonBenefitsMst.MHMBenefitID))
                        {
                            oResponse.Status  = false;
                            oResponse.Message = "Benefit cannot be found. ";

                            string ExceptionString = "Api : PutMHMCommonBenefitsMst" + Environment.NewLine;
                            ExceptionString += "Request :  " + JsonConvert.SerializeObject(mHMCommonBenefitsMst) + Environment.NewLine;
                            ExceptionString += "Exception : " + JsonConvert.SerializeObject(oResponse) + Environment.NewLine;
                            var fileName = "PutMHMCommonBenefitsMst - " + System.DateTime.Now.ToString("MM-dd-yyyy hh-mm-ss");
                            Helpers.Service.LogError(fileName, ExceptionString);

                            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                            return(response);
                        }
                        else
                        {
                            oResponse.Status  = false;
                            oResponse.Message = ex.Message;

                            string ExceptionString = "Api : PutMHMCommonBenefitsMst" + Environment.NewLine;
                            ExceptionString += "Request :  " + JsonConvert.SerializeObject(mHMCommonBenefitsMst) + Environment.NewLine;
                            ExceptionString += "Exception : " + JsonConvert.SerializeObject(oResponse) + Environment.NewLine;
                            var fileName = "PutMHMCommonBenefitsMst - " + System.DateTime.Now.ToString("MM-dd-yyyy hh-mm-ss");
                            Helpers.Service.LogError(fileName, ExceptionString);

                            dbContextTransaction.Rollback();
                            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.BadRequest, oResponse);
                            return(response);
                        }
                    }
                }
            }
        }
コード例 #9
0
        public HttpResponseMessage UpdateEmployer(EmployerMst employermst)
        {
            Response oResponse = new Response();

            if (!ModelState.IsValid)
            {
                string messages = string.Join(Environment.NewLine, ModelState.Values
                                              .SelectMany(x => x.Errors)
                                              .Select(x => x.ErrorMessage));

                oResponse.Status  = false;
                oResponse.Message = messages;
                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                return(response);
            }

            using (var DB = new MHMDal.Models.MHM())
            {
                try
                {
                    var employer = DB.EmployerMsts.Find(employermst.EmployerId);
                    HttpResponseMessage response;
                    if (employer == null)
                    {
                        oResponse.Status  = false;
                        oResponse.Message = "Employer cannot be found.";
                        response          = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                        return(response);
                    }

                    employer.EmployerName     = employermst.EmployerName;
                    employer.ModifiedDateTime = DateTime.Now;
                    DB.SaveChanges();

                    oResponse.Status  = true;
                    oResponse.Message = "Success";
                    response          = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                    return(response);
                }
                catch (DbUpdateConcurrencyException ex)
                {
                    oResponse.Status  = false;
                    oResponse.Message = ex.Message;

                    string ExceptionString = "Api : UpdateEmployer" + Environment.NewLine;
                    ExceptionString += "Request : " + " employermst " + JsonConvert.SerializeObject(employermst) + Environment.NewLine;
                    ExceptionString += "Exception : " + JsonConvert.SerializeObject(oResponse) + Environment.NewLine;
                    var fileName = "UpdateEmployer - " + System.DateTime.Now.ToString("MM-dd-yyyy hh-mm-ss");
                    Helpers.Service.LogError(fileName, ExceptionString);

                    HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.BadRequest, oResponse);
                    return(response);
                }
                catch (Exception ex)
                {
                    oResponse.Status  = false;
                    oResponse.Message = ex.Message;

                    string ExceptionString = "Api : UpdateEmployer" + Environment.NewLine;
                    ExceptionString += "Request : " + " employermst " + JsonConvert.SerializeObject(employermst) + Environment.NewLine;
                    ExceptionString += "Exception : " + JsonConvert.SerializeObject(oResponse) + Environment.NewLine;
                    var fileName = "UpdateEmployer - " + System.DateTime.Now.ToString("MM-dd-yyyy hh-mm-ss");
                    Helpers.Service.LogError(fileName, ExceptionString);

                    HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.BadRequest, oResponse);
                    return(response);
                }
            }
        }
コード例 #10
0
        public HttpResponseMessage UpdateCarrier(IssuerMst objIssuer)
        {
            Response oResponse = new Response();

            if (!ModelState.IsValid)
            {
                var Messages = string.Join(Environment.NewLine, ModelState.Values.SelectMany(r => r.Errors).Select(r => r.ErrorMessage));
                oResponse.Status  = false;
                oResponse.Message = Messages;
                HttpResponseMessage objResponse = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                return(objResponse);
            }

            using (var DB = new MHMDal.Models.MHM())
            {
                try
                {
                    var Issuer = DB.IssuerMsts.Where(r => r.Id == objIssuer.Id).FirstOrDefault();
                    if (Issuer != null)
                    {
                        Issuer.IssuerCode       = objIssuer.IssuerCode;
                        Issuer.IssuerName       = objIssuer.IssuerName;
                        Issuer.Abbreviations    = objIssuer.Abbreviations;
                        Issuer.StateCode        = objIssuer.StateCode;
                        Issuer.Status           = objIssuer.Status;
                        Issuer.ModifiedBy       = objIssuer.ModifiedBy;
                        Issuer.ModifiedDateTime = System.DateTime.Now;
                        DB.SaveChanges();

                        var IssuerMasterFromCache = MHMCache.GetMyCachedItem("IssuerMaster");
                        if (IssuerMasterFromCache != null)
                        {
                            MHMCache.RemoveMyCachedItem("IssuerMaster");
                        }

                        oResponse.Status  = true;
                        oResponse.Message = "Success";

                        HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                        return(response);
                    }
                    else
                    {
                        oResponse.Status  = true;
                        oResponse.Message = "Issuer not found";
                        HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                        return(response);
                    }
                }
                catch (Exception ex)
                {
                    oResponse.Status  = false;
                    oResponse.Message = ex.Message;

                    string ExceptionString = "Api : UpdateCarrier" + Environment.NewLine;
                    ExceptionString += "Request : " + " objIssuer " + JsonConvert.SerializeObject(objIssuer) + Environment.NewLine;
                    ExceptionString += "Exception : " + JsonConvert.SerializeObject(oResponse) + Environment.NewLine;
                    var fileName = "UpdateCarrier - " + System.DateTime.Now.ToString("MM-dd-yyyy hh-mm-ss");
                    Helpers.Service.LogError(fileName, ExceptionString);

                    HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.BadRequest, oResponse);
                    return(response);
                }
            }
        }
コード例 #11
0
        public HttpResponseMessage GetAllFinalNotSendCases([FromUri]  List <int?> CaseStatusIds, string JobNumber, string JobRunStatus)
        {
            try
            {
                using (var DB = new MHMDal.Models.MHM())
                {
                    var lstCases = DB.Cases.Where(r => r.JobNumber == JobNumber && CaseStatusIds.Contains(r.StatusId) && r.InProcessStatus == false).ToList();
                    if (JobRunStatus != null)
                    {
                        lstCases = lstCases.Where(r => r.CaseJobRunStatus == JobRunStatus).ToList();
                    }
                    Dictionary <string, object> res = new Dictionary <string, object>();
                    if (lstCases.Count() > 0)
                    {
                        var oCase = lstCases.Take(1).FirstOrDefault();
                        oCase.InProcessStatus = true;
                        DB.SaveChanges();

                        oCase.Applicant.City = oCase.Applicant.City != null?oCase.Applicant.City.Decrypt() : null;

                        oCase.Applicant.Email = oCase.Applicant.Email != null?oCase.Applicant.Email.Decrypt() : null;

                        oCase.Applicant.FirstName = oCase.Applicant.FirstName != null?oCase.Applicant.FirstName.Decrypt() : null;

                        oCase.Applicant.LastName = oCase.Applicant.LastName != null?oCase.Applicant.LastName.Decrypt() : null;

                        oCase.Applicant.Mobile = oCase.Applicant.Mobile != null?oCase.Applicant.Mobile.Decrypt() : null;

                        oCase.Applicant.Street = oCase.Applicant.Street != null?oCase.Applicant.Street.Decrypt() : null;

                        oCase.Applicant.State = oCase.Applicant.State != null?oCase.Applicant.State.Decrypt() : null;

                        oCase.Applicant.Zip = oCase.Applicant.Zip != null?oCase.Applicant.Zip.Decrypt() : null;

                        oCase.Notes = oCase.Notes != null?oCase.Notes.Decrypt() : null;

                        DateTime date;


                        oCase.Families.ToList().ForEach(r =>
                        {
                            // r.Gender = r.Gender.Decrypt();
                            r.Gender   = GenerateEncryptedString.GetDecryptedString(r.Gender);
                            var DOB    = GenerateEncryptedString.GetDecryptedString(r.DOB);
                            var status = DateTime.TryParse(DOB, out date);
                            if (!status)
                            {
                                date = DateTime.Parse(DOB, CultureInfo.CreateSpecificCulture("fr-FR"));
                            }
                            r.DOB = date.ToString("MM/dd/yyyy");
                            r.Criticalillnesses.ToList();
                            r.BenefitUserDetails.ToList().ForEach(t => { t.UsageNotes = t.UsageNotes != null ? t.UsageNotes.Decrypt() : null; });
                        });


                        oCase.CasePlanResults.ToList().ForEach(r =>
                        {
                            r.GrossAnnualPremium            = r.GrossAnnualPremium;
                            r.FederalSubsidy                = r.FederalSubsidy;
                            r.NetAnnualPremium              = r.NetAnnualPremium;
                            r.MonthlyPremium                = r.MonthlyPremium;
                            r.Copays                        = r.Copays;
                            r.PaymentsToDeductibleLimit     = r.PaymentsToDeductibleLimit;
                            r.CoinsuranceToOutOfPocketLimit = r.CoinsuranceToOutOfPocketLimit;
                            r.ContributedToYourHSAAccount   = r.ContributedToYourHSAAccount != null ? r.ContributedToYourHSAAccount : null;
                            r.TaxSavingFromHSAAccount       = r.TaxSavingFromHSAAccount;
                            r.Medical                       = r.Medical;
                            r.TotalPaid                     = r.TotalPaid;
                            r.PaymentsByInsuranceCo         = r.PaymentsByInsuranceCo;
                            r.DeductibleSingle              = r.DeductibleSingle;
                            r.DeductibleFamilyPerPerson     = r.DeductibleFamilyPerPerson;
                            r.DeductibleFamilyPerGroup      = r.DeductibleFamilyPerGroup;
                            r.OPLSingle                     = r.OPLSingle;
                            r.OPLFamilyPerPerson            = r.OPLFamilyPerPerson;
                            r.OPLFamilyPerGroup             = r.OPLFamilyPerGroup;
                            r.Coinsurance                   = r.Coinsurance;
                            r.WorstCase                     = r.WorstCase;
                            r.PlanName                      = r.PlanName;
                            r.HRAReimbursedAmt              = r.HRAReimbursedAmt;
                            //test = test + 1;
                        });
                        oCase.CasePlanResults = oCase.CasePlanResults.Take(5).ToList();
                        oCase.CaseStatusMst   = oCase.CaseStatusMst;
                        oCase.IssuerMst       = oCase.IssuerMst;

                        var objJobMaster = oCase.JobMaster;
                        oCase.JobMaster = objJobMaster;

                        res.Add("Status", "true");
                        res.Add("Message", "Success");
                        res.Add("Case", oCase);
                        res.Add("TotalCount", lstCases.Count);
                    }
                    else
                    {
                        res.Add("Status", "true");
                        res.Add("Message", "Success");
                        res.Add("Case", "");
                    }
                    HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, res);
                    return(response);
                }
            }
            catch (Exception ex)
            {
                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, ex.ToString());
                return(response);
            }
        }
コード例 #12
0
        //public HttpResponseMessage GenerateResult(string ZipCode, string CountyName, decimal Income, bool SubsidyStatus, int UsageCode, long IssuerId, int PlanID, long EmployerId, string JobNumber, int InsuranceTypeId, string BusinessYear, bool Welness, long ModifiedBy, JObject jObject, decimal HSAPercentage = 0, decimal TaxRate = 0, bool IsAmericanIndian = false, bool ResultStatus = false)
        public HttpResponseMessage GenerateResult(string ZipCode, string CountyName, decimal Income, bool SubsidyStatus, int UsageCode, long IssuerId, int PlanTypeID, long EmployerId, string JobNumber, string BusinessYear, bool Welness, int TierIntention, JObject jObject, DateTime?DedBalAvailDate, long ModifiedBy, decimal HSAPercentage = 0, decimal TaxRate = 0, bool IsAmericanIndian = false, bool ResultStatus = false, decimal DedBalAvailToRollOver = 0)
        {
            Response oResponse = new Response();
            string   strCase   = jObject["oCase"].ToString();
            Case     oCase     = (Case)JsonConvert.DeserializeObject(strCase, (typeof(Case)));

            using (var DB = new MHMDal.Models.MHM())
            {
                try
                {
                    //string UserDatail = jObject["data"].ToString();
                    //string UsesDetail = jObject["UsesDetail"].ToString();
                    //List<FamilyMemberUsesList> lstFamilyMemberUses = (List<FamilyMemberUsesList>)JsonConvert.DeserializeObject(UsesDetail, (typeof(List<FamilyMemberUsesList>)));

                    //List<FamilyMemberList> fmlMemberList = (List<FamilyMemberList>)JsonConvert.DeserializeObject(UserDatail, (typeof(List<FamilyMemberList>)));  // new List<FamilyMemberList>();

                    List <FamilyMemberUsesList> lstFamilyMemberUses = new List <FamilyMemberUsesList>();
                    List <FamilyMemberList>     fmlMemberList       = new List <FamilyMemberList>();

                    int i = 1;
                    foreach (var item in oCase.Families)
                    {
                        fmlMemberList.Add(new FamilyMemberList()
                        {
                            Age = Convert.ToInt32(item.Age), SmokingStatus = Convert.ToBoolean(item.Smoking)
                        });
                        List <BenefitDetails> BenefitUses = new List <BenefitDetails>();
                        foreach (var BenefitUserDetail in item.BenefitUserDetails)
                        {
                            BenefitUses.Add(new BenefitDetails()
                            {
                                BenefitId = BenefitUserDetail.MHMMappingBenefitId, UsageCost = Convert.ToDecimal(BenefitUserDetail.UsageCost) * Convert.ToInt32(BenefitUserDetail.UsageQty), UsageQty = Convert.ToInt32(BenefitUserDetail.UsageQty)
                            });
                        }

                        lstFamilyMemberUses.Add(new FamilyMemberUsesList()
                        {
                            FamilyMemberNumber = i, BenefitUses = BenefitUses
                        });
                        i++;
                    }


                    var objOptionSheet = new OptionSheetCalculation();


                    string  SecondLowestPlanId = "", StateCode = "";
                    decimal HSALimit = 0, MaxEEHSA = 0;
                    decimal IndividualSubsidy = 0, ShopSubsidy = 0, FPL = 0;
                    int     ACAPlanIdSub = 0, MemberRemoveChipEligibility = 0, MemberRemoveMedicaidEligibility = 0;
                    long    RatingAreaId         = 0;
                    var     OrgionalFamilyMember = fmlMemberList.ToList();
                    string  ProgID = Welness ? "B" : "A";

                    //List<CasePlanResult> data;

                    //if (String.IsNullOrEmpty(CountyName) || CountyName == "null")
                    //{
                    //    var Countylst = DB.qryZipCodeToRatingAreas.Where(m => m.Zip == ZipCode).Select(r => new { r.CountyName, r.RatingAreaID, r.StateCode, r.StateId, r.StateName, r.City });
                    //    if (Countylst.Count() > 0)
                    //    {
                    //        CountyName = Countylst.First().CountyName;
                    //    }
                    //}

                    new StateandRatingArea().GetStateCodeandRatingArea(ZipCode, CountyName, out RatingAreaId, out StateCode);
                    if (fmlMemberList.Count() > 0)
                    {
                        MaxEEHSA = new HSACalculation().CalculateAnnualHSA(UsageCode, fmlMemberList.First().Age, (decimal)HSAPercentage, BusinessYear, out HSALimit);
                    }

                    if (EmployerId == 99999)
                    {
                        IndividualSubsidy    = new SubsidyCal().CalculateSubsidy(BusinessYear, Income, IsAmericanIndian, RatingAreaId, StateCode, fmlMemberList, SubsidyStatus, "Indi", out ACAPlanIdSub, out MemberRemoveMedicaidEligibility, out MemberRemoveChipEligibility, out FPL, out SecondLowestPlanId);
                        oCase.MonthlySubsidy = IndividualSubsidy;
                    }
                    if (EmployerId == 100000)
                    {
                        ShopSubsidy          = new SubsidyCal().CalculateSubsidy(BusinessYear, Income, IsAmericanIndian, RatingAreaId, StateCode, fmlMemberList, SubsidyStatus, "SHOP", out ACAPlanIdSub, out MemberRemoveMedicaidEligibility, out MemberRemoveChipEligibility, out FPL, out SecondLowestPlanId);
                        oCase.MonthlySubsidy = ShopSubsidy;
                    }

                    var data = objOptionSheet.CalculateOptionsNew(fmlMemberList, lstFamilyMemberUses, JobNumber, Income, SubsidyStatus, UsageCode, Welness, HSAPercentage, TaxRate, (decimal)MaxEEHSA, IsAmericanIndian, ResultStatus, IndividualSubsidy, ShopSubsidy, RatingAreaId, ProgID, HSALimit, StateCode, ACAPlanIdSub, PlanTypeID, IssuerId, TierIntention, 0);


                    bool caseStatus = UpdateCaseResults(oCase.CaseID, data);

                    if (caseStatus)
                    {
                        oCase = DB.Cases.Where(r => r.CaseID == oCase.CaseID).FirstOrDefault();
                        oCase.CaseJobRunStatus = Convert.ToString(MHM.Api.Models.EnumStatusModel.CaseJobRunStatus.GeneratedOnly);
                        oCase.CaseJobRunDt     = DateTime.Now;
                        oCase.CaseJobRunUserID = ModifiedBy;
                        oCase.HSALimit         = HSALimit;
                        oCase.HSAAmount        = Convert.ToInt64(MaxEEHSA);
                        oCase.FPL = FPL;
                        DB.SaveChanges();

                        var Job = DB.JobMasters.Where(r => r.JobNumber == oCase.JobNumber).FirstOrDefault();
                        Job.LastJobRunDt     = DateTime.Now;
                        Job.LastJubRunUserID = ModifiedBy;
                        Job.LastJobRunStatus = Job.JobRunStatus;
                        if (Job.JobRunStatus != Convert.ToString(MHM.Api.Models.EnumStatusModel.JobRunStatus.GenErrors) && Job.JobRunStatus != Convert.ToString(MHM.Api.Models.EnumStatusModel.JobRunStatus.SendErrors))
                        {
                            Job.JobRunStatus = Convert.ToString(MHM.Api.Models.EnumStatusModel.JobRunStatus.AllGenerated);
                        }
                        DB.SaveChanges();

                        Dictionary <string, object> res = new Dictionary <string, object>();
                        res.Add("Status", "true");
                        res.Add("Message", "Success");
                        res.Add("Plans", data.Take(4));
                        HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, res);
                        return(response);
                    }
                    else
                    {
                        oResponse.Status  = false;
                        oResponse.Message = "failed to generate result";
                        HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                        return(response);
                    }
                }
                catch (Exception ex)
                {
                    oCase = DB.Cases.Where(r => r.CaseID == oCase.CaseID).FirstOrDefault();
                    oCase.CaseJobRunStatus = Convert.ToString(MHM.Api.Models.EnumStatusModel.CaseJobRunStatus.GenError);
                    oCase.CaseJobRunDt     = DateTime.Now;
                    oCase.CaseJobRunMsg    = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    oCase.CaseJobRunUserID = ModifiedBy;
                    DB.SaveChanges();

                    var Job = DB.JobMasters.Where(r => r.JobNumber == oCase.JobNumber).FirstOrDefault();
                    Job.LastJobRunDt     = DateTime.Now;
                    Job.LastJubRunUserID = ModifiedBy;
                    Job.LastJobRunStatus = Job.JobRunStatus;
                    if (Job.JobRunStatus != Convert.ToString(MHM.Api.Models.EnumStatusModel.JobRunStatus.GenErrors) && Job.JobRunStatus != Convert.ToString(MHM.Api.Models.EnumStatusModel.JobRunStatus.SendErrors))
                    {
                        Job.JobRunStatus = Convert.ToString(MHM.Api.Models.EnumStatusModel.JobRunStatus.GenErrors);
                    }
                    DB.SaveChanges();

                    oResponse.Status  = false;
                    oResponse.Message = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                    HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                    return(response);
                }
            }
        }