public JsonResult AddMasterLookup(MasterLookupViewModel masterLookupViewModel)
        {
            try
            {
                int languageId   = CultureHelper.GetCurrentLanguageId(Request.Cookies["_culture"]);
                var masterLookup = new MasterLookup
                {
                    CreatedOn = DateTime.Now,
                    CreatedBy = User.Identity.Name,
                    Status    = masterLookupViewModel.Status
                };
                _db.MasterLookups.Add(masterLookup);
                _db.SaveChanges();

                var masterLookupTran = new MasterLookupTranslation()
                {
                    Name           = masterLookupViewModel.Name,
                    LanguageId     = languageId,
                    IsDefault      = languageId == CultureHelper.GetDefaultLanguageId(),
                    MasterLookupId = masterLookup.Id
                };
                _db.MasterLookupTranslations.Add(masterLookupTran);

                if (!masterLookupTran.IsDefault)
                {
                    var masterLookupTran1 = new MasterLookupTranslation()
                    {
                        Name           = masterLookupViewModel.Name,
                        LanguageId     = CultureHelper.GetDefaultLanguageId(),
                        IsDefault      = true,
                        MasterLookupId = masterLookup.Id
                    };
                    _db.MasterLookupTranslations.Add(masterLookupTran1);
                }
                _db.SaveChanges();

                return(Json(masterLookupViewModel, JsonRequestBehavior.AllowGet));
            }

            catch (Exception ex)
            {
                LogHelper.LogException(User.Identity.Name, ex, "Error while add master lookup");
                return(null);
            }
        }
        public ActionResult EditMasterLookup(MasterLookupViewModel masterLookupViewModel)
        {
            try
            {
                var masterLookup = _db.MasterLookups.Find(masterLookupViewModel.Id);
                if (masterLookup != null && masterLookup.Status != (int)GeneralEnums.StatusEnum.Deleted)
                {
                    masterLookup.Status           = masterLookupViewModel.Status;
                    _db.Entry(masterLookup).State = EntityState.Modified;
                    _db.SaveChanges();

                    var masterTran = _db.MasterLookupTranslations.FirstOrDefault(r => r.LanguageId == masterLookupViewModel.LanguageId && r.MasterLookupId == masterLookupViewModel.Id);
                    if (masterTran != null)
                    {
                        masterTran.Name             = masterLookupViewModel.Name;
                        _db.Entry(masterTran).State = EntityState.Modified;
                    }
                    else
                    {
                        var masterLookupTran = new MasterLookupTranslation()
                        {
                            Name           = masterLookupViewModel.Name,
                            LanguageId     = masterLookupViewModel.LanguageId,
                            IsDefault      = false,
                            MasterLookupId = masterLookup.Id
                        };
                        _db.MasterLookupTranslations.Add(masterLookupTran);
                    }
                    _db.SaveChanges();
                }

                return(Json(masterLookupViewModel, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                LogHelper.LogException(User.Identity.Name, ex, "Error While Editing Master Lookup (Get)");
                return(null);
            }
        }