示例#1
0
        public HttpResponseMessage GetMHMCommonBenefitsMst(long id)
        {
            Dictionary <string, object> data = new Dictionary <string, object>();
            Response oResponse = new Response();

            try
            {
                using (var DB = new MHMDal.Models.MHM())
                {
                    MHMCommonBenefitsMst mHMCommonBenefitsMst = DB.MHMCommonBenefitsMsts.Find(id);
                    mHMCommonBenefitsMst.MHMBenefitMappingMsts = mHMCommonBenefitsMst.MHMBenefitMappingMsts;

                    if (mHMCommonBenefitsMst == null)
                    {
                        data.Add("Status", false);
                        data.Add("Message", "Benefit cannot be found. ");
                        HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, data);
                        return(response);
                    }
                    else
                    {
                        data.Add("Status", true);
                        data.Add("Message", "Success");
                        data.Add("MHMCommonBenefit", mHMCommonBenefitsMst);
                        HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, data);
                        return(response);
                    }
                }
            }
            catch (Exception ex)
            {
                data.Add("Status", false);
                data.Add("Message", ex.Message);

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

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.BadRequest, data);
                return(response);
            }
        }
示例#2
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);
                    }
                }
            }
        }
示例#3
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);
                    }
                }
            }
        }
示例#4
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);
                        }
                    }
                }
            }
        }