private void tbbNewRequest_ItemClick(object sender, ItemClickEventArgs e) { if (string.IsNullOrWhiteSpace(localData.CurrentUserID) && !AskUserToSignIn(false)) { XtraMessageBox.Show(this, "You must be signed in to create a request. Please sign in", "Sign In Needed", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } var request = new RequestItem { Description = string.Empty, Entered = DateTime.Now, EnteredByID = localData.CurrentUserID, History = new List <RequestItemStateChange>(), Number = Database.Next, ProgramID = null, Reproduce = new List <ReproduceStep>(), State = RequestItemState.None, Summary = string.Empty, }; request.ChangeStateTo(RequestItemState.Open, "New Request", localData.CurrentUserID); using (var dlg = new EditRequestItemDialog(localData, request, programs)) { dlg.Text = "Add Request"; dlg.ReadOnly = false; if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { requests.Add(request); } } }
public static void Import() { Database.Reset(); string path = @"C:\Users\mallen\Dropbox\Downloads\Archive\[bin]\RequestTracker\saved.xml"; var doc = XDocument.Parse(File.ReadAllText(path)); var ns = XNamespace.Get("http://www.mapa.com/apps/RequestTracker"); var products = doc.Descendants(ns + "Product"); foreach (var p in products) { Database.Programs.Add(new ProgramItem { ID = p.Element(ns + "ID").Value, Name = p.Element(ns + "Name").Value, }); } var users = doc.Descendants(ns + "User"); foreach (var u in users) { Database.Users.Add(new UserItem { ID = u.Element(ns + "ID").Value, Name = u.Element(ns + "Username").Value, }); } var requests = doc.Descendants(ns + "Request"); foreach (var r in requests) { var request = new RequestItem { Description = r.Element(ns + "Description").Value, Entered = (DateTime)r.Element(ns + "DateEntered"), EnteredByID = r.Element(ns + "CreatedByID").Value, History = new List <RequestItemStateChange>(), Number = Database.Next, ProgramID = r.Element(ns + "ProductID").Value, Reproduce = new List <ReproduceStep>(), State = RequestItemState.None, Summary = r.Element(ns + "Summary").Value, }; request.ChangeStateTo(RequestItemState.Open, "Imported from previous program", request.EnteredByID); Database.Requests.Add(request); } }
public static bool DoResolve(RequestItem request, string userID, IWin32Window owner) { using (var dlg = new MultilineInputBox()) { dlg.Text = "Resolve..."; dlg.Prompt = "Notes:"; if (dlg.ShowDialog(owner) == DialogResult.OK) { request.ChangeStateTo(RequestItemState.Feedback, dlg.Input, userID); return(true); } } return(false); }
public static bool DoSchedule(RequestItem request, string userID) { request.ChangeStateTo(RequestItemState.Scheduled, "Request has been scheduled", userID); return(true); }
public static bool DoApprove(RequestItem request, string userID) { request.ChangeStateTo(RequestItemState.Approved, "Request has been seen", userID); return(true); }
public static bool DoFixed(RequestItem request, string userID) { request.ChangeStateTo(RequestItemState.Fixed, "Verified as fixed", userID); return(true); }