如何提高代码质量以及如何减少未使用的对象?
问题描述:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using FirstLevel.Models.ObjectGroup;
using FirstLevel.ServiceReference2;
using System.ComponentModel;
using System.Xml.Serialization;
using System.Runtime.Serialization;
using System.ServiceModel;
using Valentica.Libraries;
namespace FirstLevel.Controllers
{
public class RightsController : Controller
{
//
// GET: /Rights/
Service1Client sc = new Service1Client();
ObjectGroup ob = new ObjectGroup();
public ActionResult Index(int? pageid, int? pagesize)
{
if (sc.State == CommunicationState.Closed)
{
sc.Open();
}
List<SelectListItem> rolename = new List<SelectListItem>();
rolename.Add(new SelectListItem() { Text = "---Select Role---", Value = "0", Selected = true });
var listR = sc.GetRoleName();
foreach (var x in listR)
{
rolename.Add(new SelectListItem() { Text = x.Rolname, Value = x.Rolid.ToString() });
}
ViewData["Rolebind"] = null;
ViewData["Rolebind"] = rolename;
var listG = sc.Getobjectdetails();
sc.Close();
string dt = "";
foreach (var r in listG)
{
dt += r.ObjectId + "!";
}
ob.Objectnos = dt;
ViewData["Objectgroupdata"] = listG;
return View(ob);
}
[HttpPost]
public ActionResult Index(ObjectGroup og)
{
int roleid = 0;
roleid = og.RoleID;
sc.Open();
if (!string.IsNullOrEmpty(og.divdetails))
{
string[] arr = og.divdetails.Split('$');
for (int i = 0; i < arr.Length; i++)
{
if (!string.IsNullOrEmpty(arr[i]))
{
string[] arr1 = arr[i].Split('!');
int objno = Convert.ToInt32(arr1[0]);
sc.DeleteExistingRights(objno, roleid);
if (arr1[1] == "Y" || arr1[2] == "Y" || arr1[3] == "Y" || arr1[4] == "Y")
{
CompositeObjectGroup co = new CompositeObjectGroup();
co.RoleId = roleid;
co.ObjectId = objno;
if (arr1[1] == "Y")
{ co.Delete = true; }
else { co.Delete = false; }
if (arr1[2] == "Y")
{ co.All = true; }
else { co.All = false; }
if (arr1[1] == "Y")
{ co.Add = true; }
else { co.Add = false; }
if (arr1[1] == "Y")
{ co.Edit = true; }
else { co.Edit = false; }
if (arr1[1] != "Y" && arr1[2] != "Y" && arr1[3] != "Y" && arr1[4] != "Y")
{
co.All = true;
}
else
{
co.All = false;
}
co.CreatedOn = DateTime.Now.Date;
co.createdby = Convert.ToInt32(Session["UserID"].ToString());
sc.AddRightsdata(co);
}
}
}
sc.Close();
}
return RedirectToAction("Index");
}
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult GetData(int id)
{
// RT rht = new RT();
short rid = (short)Convert.ToInt32(id);
string dt = "";
sc.Open();
var obj = sc.Getobjectdetails().OrderBy(x => x.GroupId);
var Sub = sc.GetRightslist(rid);
foreach (var K in obj)
{
string flag = "N";
dt += K.ObjectId + "!";
foreach (var D in Sub)
{
if (K.ObjectId == D.ObjectId)
{
dt += D.Delete + "!";
dt += D.Edit+ "!";
dt += D.Add + "!";
dt += D.All + "$";
flag = "Y";
}
}
if (flag == "N")
{
dt += "N!";
dt += "N!";
dt += "N!";
dt += "N$";
}
}
return Json(dt, JsonRequestBehavior.AllowGet);
}
}
}
答
'跨度>);
for ( int i = 0 ; i < arr.Length; i ++)
{
if (!string.IsNullOrEmpty(arr [i]))
{
string [] arr1 = arr [i] .Split(' !');
int objno = Convert.ToInt32(arr1 [ 0 ]);
sc.DeleteExistingRights(objno,roleid);
if (arr1 [ 1 ] == Y || arr1 [ 2 ] == Y || arr1 [ 3 ] == Y || arr1 [ 4 ] == Y)
{
CompositeObjectGroup co = new CompositeObjectGroup();
co.RoleId = roleid;
co.ObjectId = objno;
if (arr1 [ 1 ] == Y)
{co.Delete = true ; }
else {co.Delete = false ; }
if (arr1 [ 2 ] == Y)
{co.All = true ; }
else {co.All = false ; }
if (arr1 [ 1 ] == Y)
{co.Add = true ; }
else {co.Add = false ; }
if (arr1 [ 1 ] == Y)
{co.Edit = true ; }
else {co.Edit = false ; }
if (arr1 [ 1 ]!= Y&& arr1 [ 2 ]!= Y&& arr1 [ 3 ]! = Y&& arr1 [ 4 ]!= Y)
{
co.All = true ;
}
其他
{
co.All = false 跨度>;
}
co.CreatedOn = DateTime.Now.Date;
co.createdby = Convert.ToInt32(会话[ UserID]。ToString() );
sc.AddRightsdata(co);
}
}
}
sc.Close();
}
return RedirectToAction( 索引跨度>);
}
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult GetData( int id)
{
// RT rht = new RT();
short rid =( short )Convert.ToInt32(id);
string dt = ;
sc.Open();
var obj = sc.Getobjectdetails()。OrderBy(x = > x.GroupId );
var Sub = sc.GetRightslist(rid);
foreach ( var K in obj)
{
string flag = N跨度>;
dt + = K.ObjectId + !;
foreach ( var D in Sub)
{
if (K.ObjectId == D.ObjectId)
{
dt + = D .Delete + !;
dt + = D.Edit + !;
dt + = D.Add + !;
dt + = D.All +
'); for (int i = 0; i < arr.Length; i++) { if (!string.IsNullOrEmpty(arr[i])) { string[] arr1 = arr[i].Split('!'); int objno = Convert.ToInt32(arr1[0]); sc.DeleteExistingRights(objno, roleid); if (arr1[1] == "Y" || arr1[2] == "Y" || arr1[3] == "Y" || arr1[4] == "Y") { CompositeObjectGroup co = new CompositeObjectGroup(); co.RoleId = roleid; co.ObjectId = objno; if (arr1[1] == "Y") { co.Delete = true; } else { co.Delete = false; } if (arr1[2] == "Y") { co.All = true; } else { co.All = false; } if (arr1[1] == "Y") { co.Add = true; } else { co.Add = false; } if (arr1[1] == "Y") { co.Edit = true; } else { co.Edit = false; } if (arr1[1] != "Y" && arr1[2] != "Y" && arr1[3] != "Y" && arr1[4] != "Y") { co.All = true; } else { co.All = false; } co.CreatedOn = DateTime.Now.Date; co.createdby = Convert.ToInt32(Session["UserID"].ToString()); sc.AddRightsdata(co); } } } sc.Close(); } return RedirectToAction("Index"); } [AcceptVerbs(HttpVerbs.Get)] public JsonResult GetData(int id) { // RT rht = new RT(); short rid = (short)Convert.ToInt32(id); string dt = ""; sc.Open(); var obj = sc.Getobjectdetails().OrderBy(x => x.GroupId); var Sub = sc.GetRightslist(rid); foreach (var K in obj) { string flag = "N"; dt += K.ObjectId + "!"; foreach (var D in Sub) { if (K.ObjectId == D.ObjectId) { dt += D.Delete + "!"; dt += D.Edit+ "!"; dt += D.Add + "!"; dt += D.All + "
跨度>;
flag = Y;
}
}
if (flag == N)
{
dt + = N!跨度>;
dt + = N!;
dt + = N!;
dt + = N
"; flag = "Y"; } } if (flag == "N") { dt += "N!"; dt += "N!"; dt += "N!"; dt += "N
;
}
}
return Json(dt,JsonRequestBehavior.AllowGet);
}
}
}
"; } } return Json(dt, JsonRequestBehavior.AllowGet); } } }