Esempio n. 1
0
        public JsonResult processReportPermissions(List <Spartan_Report_Permissions> list)
        {
            string respuesta = "";
            bool   token     = _tokenManager.GenerateToken();

            if (!token)
            {
                return(Json(null, JsonRequestBehavior.AllowGet));
            }
            else
            {
                List <Spartan_Report_Permissions> listaOrginal = (List <Spartan_Report_Permissions>)Session["listaOrginal"];



                _ISpartan_Report_PermissionsApiConsumer.SetAuthHeader(_tokenManager.Token);
                foreach (Spartan_Report_Permissions s in listaOrginal)
                {
                    //buscando el elemento existente
                    //var query = from firstItem in listaOrginal
                    //            join secondItem in list
                    //            on firstItem.ReportPermissionId equals secondItem.ReportPermissionId
                    //            where (s.ReportPermissionId == secondItem.ReportPermissionId)
                    //            select firstItem;

                    bool containsItem = list != null && list.Any(item => item.ReportPermissionId == s.ReportPermissionId);

                    if (containsItem == false)
                    {
                        respuesta = JsonConvert.SerializeObject(_ISpartan_Report_PermissionsApiConsumer.Delete(s.ReportPermissionId, null, null));
                    }
                }


                if (list != null)
                {
                    foreach (Spartan_Report_Permissions s in list)
                    {
                        bool containsItem = listaOrginal.Any(item => item.ReportPermissionId == s.ReportPermissionId);

                        if (containsItem)
                        {
                            respuesta = JsonConvert.SerializeObject(_ISpartan_Report_PermissionsApiConsumer.Update(s, null, null));
                        }
                        else
                        {
                            respuesta = JsonConvert.SerializeObject(_ISpartan_Report_PermissionsApiConsumer.Insert(s, null, null));
                        }
                        //return Json(_ISpartan_Format_PermissionsApiConsumer.Insert(s, null, null), JsonRequestBehavior.AllowGet);
                    }
                }
                Spartane.Web.Helpers.MenuHelper.GetLatestMenu();
                return(Json(true, JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult Post(bool IsNew, Spartan_Report_PermissionsModel varSpartan_Report_Permissions)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (!_tokenManager.GenerateToken())
                    {
                        return(Json(null, JsonRequestBehavior.AllowGet));
                    }
                    _ISpartan_Report_PermissionsApiConsumer.SetAuthHeader(_tokenManager.Token);



                    var result = "";
                    var Spartan_Report_PermissionsInfo = new Spartan_Report_Permissions
                    {
                        ReportPermissionId = varSpartan_Report_Permissions.ReportPermissionId
                        , User_Role        = varSpartan_Report_Permissions.User_Role
                        , Report           = varSpartan_Report_Permissions.Report
                        , Permission_Type  = varSpartan_Report_Permissions.Permission_Type
                    };

                    result = !IsNew?
                             _ISpartan_Report_PermissionsApiConsumer.Update(Spartan_Report_PermissionsInfo, null, null).Resource.ToString() :
                                 _ISpartan_Report_PermissionsApiConsumer.Insert(Spartan_Report_PermissionsInfo, null, null).Resource.ToString();

                    return(Json(result, JsonRequestBehavior.AllowGet));
                }
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
            catch (ServiceException)
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
        }