public ApiMessage GetBugFullInfo() { BBug data = new BBug(); ApiMessage message = new ApiMessage(); HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"]; HttpRequestBase request = context.Request; string user_id = User.Identity.Name; BugManager bugManager = new BugManager(int.Parse(user_id)); try { int bugId = 0; int.TryParse(request["bug_id"], out bugId); data = bugManager.GetBugInfo(bugId); message.Item = data; } catch (KMJXCException kex) { message.Status = "failed"; message.Message = kex.Message; } catch (Exception ex) { message.Status = "failed"; message.Message = "未知错误"; } return(message); }
/// <summary> /// /// </summary> /// <param name="bug"></param> /// <returns></returns> public bool CreateNewBug(BBug bug) { if (bug.Created_By == null) { throw new KMJXCException("创建Bug时必须有创建人"); } bool result = false; using (KuanMaiEntities db = new KuanMaiEntities()) { Bug dbBug = new Bug(); dbBug.Created = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now); if (bug.Created_By != null) { dbBug.Created_By = bug.Created_By.ID; } dbBug.Description = bug.Description; if (bug.Feature != null) { dbBug.Feature = bug.Feature.ID; } dbBug.Function = 0; dbBug.Modified = dbBug.Created; dbBug.Modified_By = dbBug.Created_By; dbBug.Resolved = 0; dbBug.Resolved_By = 0; dbBug.Status = 1; dbBug.Title = bug.Title; db.Bug.Add(dbBug); db.SaveChanges(); result = true; } return(result); }
public ActionResult BugDetail(string id) { string user_id = HttpContext.User.Identity.Name; BugManager bugManager = new BugManager(int.Parse(user_id)); int bug_id = 0; int.TryParse(id, out bug_id); if (bug_id == 0) { Redirect("/Home/Error?message=问题编号不能为空"); } BBug bug = bugManager.GetBugInfo(bug_id); return(View(bug)); }
public ApiMessage CreateBug() { ApiMessage message = new ApiMessage() { Status = "ok" }; HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"]; HttpRequestBase request = context.Request; string user_id = User.Identity.Name; BugManager bugManager = new BugManager(int.Parse(user_id)); int feature = 0; int.TryParse(request["feature"], out feature); try { BBug newBug = new BBug(); newBug.Created_By = bugManager.CurrentUser; newBug.Created = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now); newBug.Modified_By = bugManager.CurrentUser; newBug.Modified = newBug.Created; newBug.Status = new BBugStatus() { ID = 1 }; newBug.Title = HttpUtility.HtmlDecode(request["title"]); newBug.Description = HttpUtility.HtmlDecode(request["description"]); newBug.Feature = new BBugFeature() { ID = feature }; bool result = bugManager.CreateNewBug(newBug); } catch (KMJXCException kex) { message.Status = "failed"; message.Message = kex.Message; } catch (Exception ex) { message.Status = "failed"; message.Message = "未知错误"; } return(message); }
/// <summary> /// /// </summary> /// <param name="bug"></param> /// <returns></returns> public bool UpdateBug(BBug bug) { if (bug.Modified_By == null) { throw new KMJXCException("更新Bug时必须有更新人"); } bool result = false; using (KuanMaiEntities db = new KuanMaiEntities()) { Bug existed = (from b in db.Bug where b.ID == bug.ID select b).FirstOrDefault <Bug>(); if (existed == null) { throw new KMJXCException("所需更新的Bug信息不存在"); } if (bug.Status != null) { existed.Status = bug.Status.ID; } if (bug.Modified_By != null) { existed.Modified_By = bug.Modified_By.ID; existed.Modified = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now); } if (!string.IsNullOrEmpty(bug.Title)) { existed.Title = bug.Title; } if (!string.IsNullOrEmpty(bug.Description)) { existed.Description = bug.Description; } db.SaveChanges(); result = true; } return(result); }
/// <summary> /// /// </summary> /// <param name="bug_id"></param> /// <returns></returns> public BBug GetBugInfo(int bug_id) { BBug bug = null; using (KuanMaiEntities db = new KuanMaiEntities()) { var tmp = from b in db.Bug join feature in db.Bug_Feature on b.Feature equals feature.ID into LFeature from l_feature in LFeature.DefaultIfEmpty() join user in db.User on b.Created_By equals user.User_ID into lCreatedBy from createdBy in lCreatedBy.DefaultIfEmpty() join user_r in db.User on b.Resolved_By equals user_r.User_ID into LResolved from resolved in LResolved.DefaultIfEmpty() join status in db.Bug_Status on b.Status equals status.ID into LStatus from l_status in LStatus.DefaultIfEmpty() where b.ID == bug_id select new BBug { Created = b.Created, Created_By = new BUser { ID = createdBy.User_ID, Name = createdBy.Name, Mall_Name = createdBy.Mall_Name }, Description = b.Description, Title = b.Title, Status = new BBugStatus { ID = l_status.ID, Name = l_status.Status }, ID = b.ID, Feature = new BBugFeature { ID = l_feature.ID, Name = l_feature.Description }, Modified = (long)b.Modified, Resolved_By = resolved != null ? new BUser { ID = resolved.User_ID, Name = resolved.Name, Mall_Name = resolved.Mall_Name } : new BUser { ID = 0, Name = "", Mall_Name = "" }, }; bug = tmp.FirstOrDefault <BBug>(); if (bug != null) { var tmpRes = from bs in db.Bug_Response join user in db.User on bs.Create_By equals user.User_ID into LUser from l_user in LUser.DefaultIfEmpty() where bs.BugID == bug_id select new BBugResponse { Created = bs.Created, Created_By = l_user != null ? new BUser { ID = l_user.User_ID, Name = l_user.Name, Mall_Name = l_user.Mall_Name } : new BUser { ID = 0, Name = "", Mall_Name = "" }, Description = bs.Description, ID = bs.ID }; bug.Responses = tmpRes.ToList <BBugResponse>(); } } return(bug); }