コード例 #1
0
        public ActionResult AddChildMenu(ChildMenuObject childMenu)
        {
            try
            {
                var valStatus = ValidateChildMenu(childMenu);
                if (valStatus.Code < 1)
                {
                    return(Json(valStatus, JsonRequestBehavior.AllowGet));
                }

                var k = new ParentMenuServices().AddChildMenuWithRoles(childMenu);
                if (k < 1)
                {
                    var error = k == -3 ? message_Feedback.Item_Duplicate : message_Feedback.Insertion_Failure;
                    return(Json(new GenericValidator {
                        Code = -1, Error = error
                    }, JsonRequestBehavior.AllowGet));
                }

                return(Json(new GenericValidator {
                    Code = 5, Error = message_Feedback.Insertion_Success
                }, JsonRequestBehavior.AllowGet));
            }
            catch
            {
                return(Json(new GenericValidator {
                    Code = -1, Error = message_Feedback.Process_Failed
                }, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #2
0
 public int UpdateChildMenu(ChildMenuObject childMenu)
 {
     try
     {
         return(_childMenuRepository.UpdateChildMenu(childMenu));
     }
     catch (Exception ex)
     {
         ErrorLogger.LogError(ex.StackTrace, ex.Source, ex.Message);
         return(-2);
     }
 }
コード例 #3
0
 public long AddChildMenu(ChildMenuObject childMenu)
 {
     try
     {
         return(_childMenuRepository.AddChildMenu(childMenu));
     }
     catch (Exception ex)
     {
         ErrorLogger.LogError(ex.StackTrace, ex.Source, ex.Message);
         return(0);
     }
 }
コード例 #4
0
        private GenericValidator ValidateChildMenu(ChildMenuObject childMenu)
        {
            var gVal = new GenericValidator();

            if (childMenu == null)
            {
                gVal.Code  = -1;
                gVal.Error = message_Feedback.Fatal_Error;
                return(gVal);
            }

            if (childMenu.ParentMenuId < 1)
            {
                gVal.Code  = -1;
                gVal.Error = message_Feedback.Fatal_Error;
                return(gVal);
            }

            if (string.IsNullOrEmpty(childMenu.Value))
            {
                gVal.Code  = -1;
                gVal.Error = message_Feedback.ChildMenu_Value_Error;
                return(gVal);
            }

            if (string.IsNullOrEmpty(childMenu.Href))
            {
                gVal.Code  = -1;
                gVal.Error = message_Feedback.ChildMenu_Href_Error;
                return(gVal);
            }

            if (childMenu.ChildMenuOrder < 1)
            {
                gVal.Code  = -1;
                gVal.Error = message_Feedback.ChildMenu_Order_Error;
                return(gVal);
            }

            if (!childMenu.ChildMenuRoleObjects.Any())
            {
                gVal.Code  = -1;
                gVal.Error = message_Feedback.ChildMenu_Roles_Error;
                return(gVal);
            }
            gVal.Code = 5;
            return(gVal);
        }
コード例 #5
0
        public long AddChildMenuWithRoles(ChildMenuObject childMenu)
        {
            try
            {
                if (childMenu == null)
                {
                    return(-2);
                }

                var childMenuEntity = ModelCrossMapper.Map <ChildMenuObject, ChildMenu>(childMenu);
                if (childMenuEntity == null || childMenuEntity.ChildMenuOrder < 1)
                {
                    return(-2);
                }

                using (var db = _db)
                {
                    var processedEntity = db.ChildMenus.Add(childMenuEntity);
                    db.SaveChanges();
                    if (childMenu.ChildMenuRoleObjects.Any())
                    {
                        childMenu.ChildMenuRoleObjects.ForEach(r =>
                        {
                            var childMenuRoleEntity = ModelCrossMapper.Map <ChildMenuRoleObject, ChildMenuRole>(r);
                            if (childMenuRoleEntity == null || string.IsNullOrEmpty(childMenuRoleEntity.RoleId))
                            {
                                return;
                            }
                            childMenuRoleEntity.ChildMenuId = processedEntity.ChildMenuId;
                            db.ChildMenuRoles.Add(childMenuRoleEntity);
                            db.SaveChanges();
                        });
                    }

                    return(processedEntity.ChildMenuId);
                }
            }
            catch (Exception ex)
            {
                ErrorLogger.LogError(ex.StackTrace, ex.Source, ex.Message);
                return(0);
            }
        }
コード例 #6
0
        public ActionResult EditChildMenu(ChildMenuObject childMenu)
        {
            var gVal = new GenericValidator();

            try
            {
                if (ModelState.IsValid)
                {
                    var valStatus = ValidateChildMenu(childMenu);
                    if (valStatus.Code < 1)
                    {
                        gVal.Code  = -1;
                        gVal.Error = valStatus.Error;
                        return(Json(gVal, JsonRequestBehavior.AllowGet));
                    }

                    var k = new ParentMenuServices().UpdateChildMenuWithRoles(childMenu);
                    if (k < 1)
                    {
                        gVal.Error = k == -3 ? message_Feedback.Item_Duplicate : message_Feedback.Update_Failure;
                        gVal.Code  = 0;
                        return(Json(gVal, JsonRequestBehavior.AllowGet));
                    }

                    gVal.Code  = k;
                    gVal.Error = message_Feedback.Update_Success;
                    return(Json(gVal, JsonRequestBehavior.AllowGet));
                }

                gVal.Code  = -5;
                gVal.Error = message_Feedback.Model_State_Error;
                return(Json(gVal, JsonRequestBehavior.AllowGet));
            }
            catch
            {
                gVal.Code  = 0;
                gVal.Error = message_Feedback.Process_Failed;
                return(Json(gVal, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #7
0
        private GenericValidator ValidateChildMenu(ChildMenuObject childMenu)
        {
            var gVal = new GenericValidator();

            if (childMenu == null)
            {
                gVal.Code  = -1;
                gVal.Error = message_Feedback.Fatal_Error;
                return(gVal);
            }
            if (string.IsNullOrEmpty(childMenu.Value))
            {
                gVal.Code  = -1;
                gVal.Error = message_Feedback.ChildMenu_Value_Error;
                return(gVal);
            }

            if (string.IsNullOrEmpty(childMenu.Href))
            {
                gVal.Code  = -1;
                gVal.Error = message_Feedback.ChildMenu_Href_Error;
                return(gVal);
            }

            if (childMenu.ChildMenuOrder < 1)
            {
                gVal.Code  = -1;
                gVal.Error = message_Feedback.ChildMenu_Order_Error;
                return(gVal);
            }
            //if (string.IsNullOrEmpty(childMenu.Roles))
            //{
            //    gVal.Code = -1;
            //    gVal.Error = message_Feedback.ChildMenu_Roles_Error;
            //   return gVal;
            //}
            gVal.Code = 5;
            return(gVal);
        }
コード例 #8
0
        public int UpdateChildMenu(ChildMenuObject childMenu)
        {
            try
            {
                if (childMenu == null)
                {
                    return(-2);
                }

                var childMenuEntity = ModelCrossMapper.Map <ChildMenuObject, ChildMenu>(childMenu);
                if (childMenuEntity == null || childMenuEntity.ChildMenuId < 1)
                {
                    return(-2);
                }
                _repository.Update(childMenuEntity);
                _uoWork.SaveChanges();
                return(5);
            }
            catch (Exception ex)
            {
                ErrorLogger.LogError(ex.StackTrace, ex.Source, ex.Message);
                return(-2);
            }
        }
コード例 #9
0
        public long AddChildMenu(ChildMenuObject childMenu)
        {
            try
            {
                if (childMenu == null)
                {
                    return(-2);
                }

                var childMenuEntity = ModelCrossMapper.Map <ChildMenuObject, ChildMenu>(childMenu);
                if (childMenuEntity == null || childMenuEntity.ChildMenuOrder < 1)
                {
                    return(-2);
                }
                var returnStatus = _repository.Add(childMenuEntity);
                _uoWork.SaveChanges();
                return(returnStatus.ChildMenuId);
            }
            catch (Exception ex)
            {
                ErrorLogger.LogError(ex.StackTrace, ex.Source, ex.Message);
                return(0);
            }
        }
コード例 #10
0
        public ActionResult EditChildMenu(ChildMenuObject childMenu, string subdomain)
        {
            var storeSetting = new SessionHelpers().GetStoreInfo(subdomain);

            if (storeSetting == null || storeSetting.StoreId < 1)
            {
                return(Json(new List <ChildMenuObject>(), JsonRequestBehavior.AllowGet));
            }
            var gVal = new GenericValidator();

            try
            {
                var valStatus = ValidateChildMenu(childMenu);
                if (valStatus.Code < 1)
                {
                    gVal.Code  = -1;
                    gVal.Error = valStatus.Error;
                    return(Json(gVal, JsonRequestBehavior.AllowGet));
                }

                if (Session["_childMenu"] == null)
                {
                    gVal.Code  = -5;
                    gVal.Error = message_Feedback.Session_Time_Out;
                    return(Json(gVal, JsonRequestBehavior.AllowGet));
                }

                var oldChildMenu = Session["_childMenu"] as ChildMenuObject;
                if (oldChildMenu == null || oldChildMenu.ChildMenuId < 1)
                {
                    gVal.Code  = -5;
                    gVal.Error = message_Feedback.Session_Time_Out;
                    return(Json(gVal, JsonRequestBehavior.AllowGet));
                }

                oldChildMenu.Value          = childMenu.Value.Trim();
                oldChildMenu.ParentMenuId   = childMenu.ParentMenuId;
                oldChildMenu.IsParent       = childMenu.IsParent;
                oldChildMenu.ChildMenuOrder = childMenu.ChildMenuOrder;
                oldChildMenu.Href           = childMenu.Href.Trim();
                //oldChildMenu.Roles = childMenu.Roles.Trim();

                var k = new ChildMenuServices().UpdateChildMenu(oldChildMenu);
                if (k < 1)
                {
                    gVal.Error = k == -3 ? message_Feedback.Item_Duplicate : message_Feedback.Update_Failure;
                    gVal.Code  = 0;
                    return(Json(gVal, JsonRequestBehavior.AllowGet));
                }

                gVal.Code  = k;
                gVal.Error = message_Feedback.Model_State_Error;
                return(Json(gVal, JsonRequestBehavior.AllowGet));
            }
            catch
            {
                gVal.Code  = 0;
                gVal.Error = message_Feedback.Process_Failed;
                return(Json(gVal, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #11
0
        public long UpdateChildMenuWithRoles(ChildMenuObject childMenu)
        {
            try
            {
                if (childMenu == null || childMenu.ChildMenuId < 1)
                {
                    return(-2);
                }

                var childMenuEntity = ModelCrossMapper.Map <ChildMenuObject, ChildMenu>(childMenu);
                if (childMenuEntity == null || childMenu.ChildMenuId < 1)
                {
                    return(-2);
                }

                using (var db = _db)
                {
                    db.Entry(childMenuEntity).State = EntityState.Modified;
                    db.SaveChanges();

                    if (childMenu.ChildMenuRoleObjects.Any())
                    {
                        var existingRoles = db.ChildMenuRoles.Where(m => m.ChildMenuId == childMenu.ChildMenuId).ToList();

                        childMenu.ChildMenuRoleObjects.ForEach(r =>
                        {
                            var duplicate = existingRoles.Find(x => x.RoleId == r.RoleId);
                            if (duplicate == null || duplicate.ChildMenuId < 1)
                            {
                                if (r.ChildMenuRoleId < 1)
                                {
                                    var childMenuRoleEntity = ModelCrossMapper.Map <ChildMenuRoleObject, ChildMenuRole>(r);
                                    if (childMenuRoleEntity == null || string.IsNullOrEmpty(childMenuRoleEntity.RoleId))
                                    {
                                        return;
                                    }
                                    childMenuRoleEntity.ChildMenuId = childMenu.ChildMenuId;
                                    db.ChildMenuRoles.Add(childMenuRoleEntity);
                                    db.SaveChanges();
                                }
                            }
                        });

                        if (existingRoles.Any())
                        {
                            existingRoles.ForEach(r =>
                            {
                                if (!childMenu.ChildMenuRoleObjects.Exists(h => h.RoleId == r.RoleId))
                                {
                                    db.ChildMenuRoles.Remove(r);
                                    db.SaveChanges();
                                }
                            });
                        }
                    }

                    return(childMenu.ChildMenuId);
                }
            }
            catch (Exception ex)
            {
                ErrorLogger.LogError(ex.StackTrace, ex.Source, ex.Message);
                return(0);
            }
        }
コード例 #12
0
 public long UpdateChildMenuWithRoles(ChildMenuObject childMenu)
 {
     return(_parentMenuRepository.UpdateChildMenuWithRoles(childMenu));
 }