Пример #1
0
        public ActionResult NewCommend(String description, int ticketID, HttpPostedFileBase file)
        {
            try
            {
                SSMEntities se = new SSMEntities();

                if (file != null)
                {
                    TicketFile ticketFile = new TicketFile();

                    Storage storeage = new Storage();
                    ticketFile.Url      = storeage.uploadMyfile("ticket" + ticketID, "file" + ticketID, file);
                    ticketFile.FileName = file.FileName;
                    se.TicketFiles.Add(ticketFile);
                    ticketFile.TicketID = ticketID;
                    se.SaveChanges();
                }

                TicketComment commend = new TicketComment();
                commend.Creator     = User.Identity.GetUserId();
                commend.Description = description;
                commend.createddate = DateTime.Today;
                commend.point       = 1;
                commend.ticketID    = ticketID;
                commend.Accepted    = false;

                se.TicketComments.Add(commend);
                se.SaveChanges();
                return(RedirectToAction("Detail", new { id = ticketID }));
            }
            catch (Exception e) { }


            return(RedirectToAction("Index"));
        }
        public ActionResult Answer(Response response, byte statusID, long requestID, HttpPostedFileBase[] file)
        {
            if (ModelState.IsValid)
            {
                var ticket = db.Tickets.Find(response.ticketID);
                response.answererID = user.userID;
                ticket.statusID     = statusID;
                response.date       = Common.GetDate();
                ticket.Responses.Add(response);
                db.Entry(ticket).State = EntityState.Modified;

                //ticket.answererID = user.userID;
                //ticket.answer = ticket.answer;
                //ticket.Ticket.statusID = statusID;
                //db.Responses.Add(ticket);
                db.SaveChanges();
                if (file[0] != null)
                {
                    foreach (var item in file)
                    {
                        var filename   = Path.GetExtension(item.FileName);
                        var ticketFile = new TicketFile()
                        {
                            fileName = filename, responseID = response.responseID
                        };
                        db.TicketFiles.Add(ticketFile);
                        db.SaveChanges();
                        item.SaveAs(Server.MapPath("~/files/" + ticketFile.ticketFileID + filename));
                    }
                }
                return(RedirectToAction("Index"));
            }
            ViewBag.statusID = new SelectList(db.Status, "statusID", "state");
            return(View(response));
        }
        public ActionResult Ask(Ticket ticket, string text, HttpPostedFileBase[] file, int?projectID)
        {
            if (ModelState.IsValid)
            {
                var mode = ticket.ticketID != 0;
                if (mode)
                {
                    ticket = db.Tickets.Find(ticket.ticketID);
                }
                int?comanyID = (int?)TempData["CompanyID"] ?? 0;
                if (comanyID == 0)
                {
                    return(RedirectToAction("SelectCompany"));
                }
                var request = new Request {
                    text = text, askerID = user.userID, date = Common.GetDate()
                };
                ticket.Requests.Add(request);
                ticket.companyID = comanyID;
                ticket.projectID = projectID;
                ticket.statusID  = 1;
                if (mode)
                {
                    db.Entry(ticket).State = EntityState.Modified;
                }
                else
                {
                    db.Tickets.Add(ticket);
                }
                db.SaveChanges();
                if (file[0] != null)
                {
                    foreach (var item in file)
                    {
                        var filename   = Path.GetExtension(item.FileName);
                        var ticketFile = new TicketFile()
                        {
                            fileName = filename, requestID = request.requestID
                        };
                        db.TicketFiles.Add(ticketFile);
                        db.SaveChanges();
                        item.SaveAs(Server.MapPath("~/files/" + ticketFile.ticketFileID + filename));
                    }
                }
                db.SaveChanges();

                return(RedirectToAction("CustomerIndex", "home", new ViewDataDictionary {
                    new KeyValuePair <string, object>("message", "تیکت شما با موفقیت ارسال شد لطفا تا دریافت نتیجه صبور باشید")
                }));
            }
            ViewBag.projectID = new SelectList(db.Projects, "projectID", "name", ticket.projectID);
            return(View(ticket));
        }
Пример #4
0
        public List <TicketFile> Map(IDataReader reader)
        {
            List <TicketFile> files = new List <TicketFile>();

            while (reader.Read())
            {
                TicketFile file = new TicketFile();
                file.FileID          = Convert.ToInt32(reader["FileID"] == DBNull.Value ? 0 : reader["FileID"]);
                file.FileDisplayName = reader["FileNameOriginal"] == DBNull.Value ? "" : reader["FileNameOriginal"].ToString();
                file.FileName        = reader["FileName"] == DBNull.Value ? "" : reader["FileName"].ToString();
                file.FileExtension   = reader["FileExtension"] == DBNull.Value ? "" : reader["FileExtension"].ToString();
                file.UploadDate      = reader["UploadDate"] == DBNull.Value ? "" : reader["UploadDate"].ToString();
                file.TicketId        = Convert.ToInt32(reader["TicketID"] == DBNull.Value ? 0 : reader["TicketID"]);
                files.Add(file);
            }
            return(files);
        }
Пример #5
0
        public static void Main(string[] args)
        {
            List <Ticket> Tickets = new List <Ticket>();

            String          ticketFileName      = AppDomain.CurrentDomain.BaseDirectory + "Tickets.txt";
            String          EnhancementFileName = AppDomain.CurrentDomain.BaseDirectory + "Enhancements.txt";
            String          TaskFileName        = AppDomain.CurrentDomain.BaseDirectory + "Tasks.txt";
            String          choice;
            TicketFile      TicketFile      = new TicketFile(ticketFileName);
            EnhancementFile enhancementFile = new EnhancementFile(EnhancementFileName);
            TaskFile        taskFile        = new TaskFile(TaskFileName);



            do
            {
                Console.WriteLine("\n");
                Console.WriteLine("1) Add Bug Ticket");
                Console.WriteLine("2) Display Bug Tickets");
                Console.WriteLine("3) Add Enhancement Ticket");
                Console.WriteLine("4) Display Enhancement Tickets");
                Console.WriteLine("5) Add Task Ticket");
                Console.WriteLine("6) Display Task Tickets");
                Console.WriteLine("7) Search tickets by status");
                Console.WriteLine("Enter to quit");
                // input response
                choice = Console.ReadLine();

                switch (choice)
                {
                case "1":



                    Bug BugTicket = new Bug();


                    // prompt for ticket summary
                    Console.WriteLine("Enter a summary: ");
                    // save ticket summary
                    BugTicket.TicketSummary = Console.ReadLine();

                    // prompt for ticket status
                    Console.WriteLine("Enter the status: ");
                    // save ticket status
                    BugTicket.TicketStatus = Console.ReadLine();

                    // prompt for priority
                    Console.WriteLine("Enter priority level: ");
                    // save priority
                    BugTicket.TicketPriority = Console.ReadLine();

                    // prompt for submitter name
                    Console.WriteLine("Enter name: ");
                    // save name
                    BugTicket.SubmittedBy = Console.ReadLine();

                    // prompt for assigned
                    Console.WriteLine("Enter name of person the ticket is assigned to: ");
                    // save assigned
                    BugTicket.AssignedTo = Console.ReadLine();

                    // prompt for watcher
                    Console.WriteLine("Enter name of person watching: ");
                    // save watcher
                    BugTicket.Watching = Console.ReadLine();


                    // prompt for severity
                    Console.WriteLine("Enter severity: ");
                    // save severity
                    BugTicket.Severity = Console.ReadLine();


                    TicketFile.AddTicket(BugTicket);
                    Console.WriteLine("Ticket created.");

                    break;

                case "2":
                    foreach (Bug b in TicketFile.BugTickets)
                    {
                        Console.WriteLine(b.Display());
                    }
                    break;

                case "3":
                    Enhancement EnhancementTicket = new Enhancement();


                    // prompt for ticket summary
                    Console.WriteLine("Enter a summary: ");
                    // save ticket summary
                    EnhancementTicket.TicketSummary = Console.ReadLine();

                    // prompt for ticket status
                    Console.WriteLine("Enter the status: ");
                    // save ticket status
                    EnhancementTicket.TicketStatus = Console.ReadLine();

                    // prompt for priority
                    Console.WriteLine("Enter priority level: ");
                    // save priority
                    EnhancementTicket.TicketPriority = Console.ReadLine();

                    // prompt for submitter name
                    Console.WriteLine("Enter name: ");
                    // save name
                    EnhancementTicket.SubmittedBy = Console.ReadLine();

                    // prompt for assigned
                    Console.WriteLine("Enter name of person the ticket is assigned to: ");
                    // save assigned
                    EnhancementTicket.AssignedTo = Console.ReadLine();

                    // prompt for watcher
                    Console.WriteLine("Enter name of person watching: ");
                    // save watcher
                    EnhancementTicket.Watching = Console.ReadLine();

                    //prompt for software
                    Console.WriteLine("Enter name of software: ");
                    // save software
                    EnhancementTicket.Software = Console.ReadLine();

                    //prompt for cost
                    Console.WriteLine("Enter cost: ");
                    // save cost
                    EnhancementTicket.Cost = Console.ReadLine();

                    //prompt for reason
                    Console.WriteLine("Enter reason: ");
                    // save reason
                    EnhancementTicket.Reason = Console.ReadLine();

                    //prompt for estimate
                    Console.WriteLine("Enter estimate: ");
                    // save restimate
                    EnhancementTicket.Estimate = Console.ReadLine();


                    enhancementFile.AddTicket(EnhancementTicket);
                    Console.WriteLine("Ticket created.");
                    break;

                case "4":
                    foreach (Enhancement e in enhancementFile.EnhancementTickets)
                    {
                        Console.WriteLine(e.Display());
                    }
                    break;

                case "5":
                    Task TaskTicket = new Task();



                    // prompt for ticket summary
                    Console.WriteLine("Enter a summary: ");
                    // save ticket summary
                    TaskTicket.TicketSummary = Console.ReadLine();

                    // prompt for ticket status
                    Console.WriteLine("Enter the status: ");
                    // save ticket status
                    TaskTicket.TicketStatus = Console.ReadLine();

                    // prompt for priority
                    Console.WriteLine("Enter priority level: ");
                    // save priority
                    TaskTicket.TicketPriority = Console.ReadLine();

                    // prompt for submitter name
                    Console.WriteLine("Enter name: ");
                    // save name
                    TaskTicket.SubmittedBy = Console.ReadLine();

                    // prompt for assigned
                    Console.WriteLine("Enter name of person the ticket is assigned to: ");
                    // save assigned
                    TaskTicket.AssignedTo = Console.ReadLine();

                    // prompt for watcher
                    Console.WriteLine("Enter name of person watching: ");
                    // save watcher
                    TaskTicket.Watching = Console.ReadLine();

                    //prompt for project name
                    Console.WriteLine("Enter name of project: ");
                    // save project name
                    TaskTicket.projectName = Console.ReadLine();

                    //prompt for Due Date
                    Console.WriteLine("Enter Due Date: ");
                    // save cost
                    TaskTicket.DueDate = Console.ReadLine();


                    taskFile.AddTicket(TaskTicket);
                    Console.WriteLine("Ticket created.");
                    break;


                case "6":


                    foreach (Task t in taskFile.TaskTickets)
                    {
                        Console.WriteLine(t.Display());
                    }
                    break;

                case "7":
                    Console.WriteLine("Enter the status you would like to search (Open/Closed)");
                    var searchString = Console.ReadLine();
                    var results      = new List <Ticket>();

                    results.AddRange(taskFile.Search(searchString));
                    results.AddRange(enhancementFile.Search(searchString));
                    results.AddRange(TicketFile.Search(searchString));

                    foreach (var item in results)
                    {
                        Console.WriteLine(item.Display());
                    }
                    break;
                }
            }while (choice == "1" || choice == "2" || choice == "3" || choice == "4" || choice == "5" || choice == "6" || choice == "7");
        }
        public List <TicketFile> AttachmentsLinkFiles(Message message, List <ModuleActionLink> links)
        {
            List <TicketFile> attachments = null;

            if (message == null || links == null || !links.Any())
            {
                return(null);
            }

            TicketUser usr = this.UserGetfromPerson(UC.CurrentUserID);

            if (message.Creator == null || message.Creator.Id != usr.Id)
            {
                return(null);
            }

            Boolean isInTransaction = Manager.IsInTransaction();

            try
            {
                if (!isInTransaction)
                {
                    Manager.BeginTransaction();
                }
                litePerson person = CurrentLitePerson;

                if (person != null && person.Id > 0)
                {
                    DateTime date = DateTime.Now;
                    attachments = new List <TicketFile>();
                    foreach (ModuleActionLink link in links)
                    {
                        TicketFile attachment = QueryAttachments(a => a.Deleted == BaseStatusDeleted.None && a.Message != null && a.Message.Id == message.Id).ToList().Where(a => a.Item == (liteRepositoryItem)link.ModuleObject.ObjectOwner).Skip(0).Take(1).ToList().FirstOrDefault();
                        if (attachment == null)
                        {
                            attachment = new TicketFile();
                            attachment.CreateMetaInfo(person, UC.IpAddress, UC.ProxyIpAddress, date);
                            attachment.Item       = (liteRepositoryItem)link.ModuleObject.ObjectOwner;
                            attachment.Message    = message;
                            attachment.TicketId   = ((message != null && message.Ticket != null) ? message.Ticket.Id : 0);
                            attachment.Name       = attachment.Item.DisplayName;
                            attachment.Visibility = Domain.Enums.FileVisibility.visible;

                            Manager.SaveOrUpdate(attachment);


                            liteModuleLink mLink = new liteModuleLink(link.Description, link.Permission, link.Action);
                            mLink.CreateMetaInfo(person.Id, UC.IpAddress, UC.ProxyIpAddress, date);
                            mLink.DestinationItem = (ModuleObject)link.ModuleObject;
                            mLink.AutoEvaluable   = false;
                            mLink.SourceItem      = ModuleObject.CreateLongObject(message.Id, message, (int)ModuleTicket.ObjectType.Message, 0, ModuleTicket.UniqueCode, ServiceModuleID());
                            Manager.SaveOrUpdate(mLink);
                            attachment.Link = mLink;
                            Manager.SaveOrUpdate(attachment);
                        }
                        else if (attachment.Deleted != BaseStatusDeleted.None)
                        {
                            attachment.RecoverMetaInfo(person, UC.IpAddress, UC.ProxyIpAddress, date);
                            if (attachment.Item != null && attachment.Item.IsInternal && attachment.Item.Deleted != BaseStatusDeleted.None)
                            {
                                attachment.Item.Deleted = BaseStatusDeleted.None;
                                attachment.Item.UpdateMetaInfo(person.Id, UC.IpAddress, UC.ProxyIpAddress, date);
                                Manager.SaveOrUpdate(attachment.Item);
                            }
                            Manager.SaveOrUpdate(attachment);
                        }
                        attachments.Add(attachment);
                    }
                }
                if (!isInTransaction)
                {
                    Manager.Commit();
                }
            }
            catch (Exception ex)
            {
                if (!isInTransaction)
                {
                    Manager.RollBack();
                }
                attachments = null;
            }
            return(attachments);
        }
        public List <TicketFile> AttachmentsAddFiles(Message message, TicketUser user, List <dtoModuleUploadedItem> items)
        {
            List <TicketFile> attachments = null;

            if (message == null || message.Ticket == null || user == null || items == null || !items.Any())
            {
                return(null);
            }
            if (message.Creator == null || message.Creator.Id != user.Id)
            {
                return(null);
            }
            Boolean isInTransaction = Manager.IsInTransaction();

            try
            {
                if (!isInTransaction)
                {
                    Manager.BeginTransaction();
                }
                litePerson person = (user.Person ?? Manager.GetLiteUnknownUser());
                if (items.Any() && person != null && person.TypeID != (int)UserTypeStandard.Guest && person.TypeID != (int)UserTypeStandard.PublicUser)
                {
                    attachments = new List <TicketFile>();
                    DateTime date = DateTime.Now;
                    foreach (dtoModuleUploadedItem item in items)
                    {
                        TicketFile attachment = new TicketFile();
                        attachment.CreateMetaInfo(person, UC.IpAddress, UC.ProxyIpAddress, date);
                        attachment.Item       = item.ItemAdded;
                        attachment.Message    = message;
                        attachment.TicketId   = ((message != null && message.Ticket != null) ? message.Ticket.Id : 0);
                        attachment.Name       = attachment.Item.DisplayName;
                        attachment.Visibility = Domain.Enums.FileVisibility.visible;
                        Manager.SaveOrUpdate(attachment);
                        liteModuleLink link = new liteModuleLink(item.Link.Description, item.Link.Permission, item.Link.Action);
                        link.CreateMetaInfo(person.Id, UC.IpAddress, UC.ProxyIpAddress, date);
                        link.DestinationItem = (ModuleObject)item.Link.ModuleObject;
                        link.AutoEvaluable   = false;
                        link.SourceItem      = ModuleObject.CreateLongObject(message.Id, message, (int)ModuleTicket.ObjectType.Message, 0, ModuleTicket.UniqueCode, ServiceModuleID());
                        Manager.SaveOrUpdate(link);
                        attachment.Link = link;

                        if (item.ItemAdded.IsInternal)
                        {
                            if (item.ItemAdded.Module == null)
                            {
                                item.ItemAdded.Module = new lm.Comol.Core.FileRepository.Domain.ItemModuleSettings();
                            }
                            item.ItemAdded.Module.IdObject     = message.Id;
                            item.ItemAdded.Module.IdObjectType = (int)ModuleTicket.ObjectType.Message;
                            Manager.SaveOrUpdate(item.ItemAdded);
                        }

                        Manager.SaveOrUpdate(attachment);
                        attachments.Add(attachment);
                    }
                }
                if (!isInTransaction)
                {
                    Manager.Commit();
                }
            }
            catch (Exception ex)
            {
                if (!isInTransaction)
                {
                    Manager.RollBack();
                }
                attachments = null;
            }
            return(attachments);
        }
Пример #8
0
        public static void Main(string[] args)
        {
            string file = "ticketData.txt";
            string choice;

            //NewTicketFile ticketList = new NewTicketFile();

            TicketFile ticketList = new TicketFile();

            ticketList.FilePath = file;

            ticketList.LoadFile();



            {
                // ask user a question
                Console.WriteLine("1) Read data from file.");
                Console.WriteLine("2) Create file from data.");
                Console.WriteLine("Enter any other key to exit.");
                // input response
                choice = Console.ReadLine();



                if (choice == "1")
                {
                    if (File.Exists(file))
                    {
                    }
                    else
                    {
                        Console.WriteLine("File does not exist");
                    }
                }
                else if (choice == "2")
                {
                    Console.WriteLine("Enter a ticket");

                    //using(StreamReader sr = new StreamReader(file))
                    //{
                    //    string line = sr.ReadLine();

                    //    string[] values = line.Split(',');


                    //}

                    using (StreamWriter sw = new StreamWriter(file, true))
                    {
                        string TicketID     = "";
                        string SummaryIssue = "";
                        string Status       = "";
                        string Priority     = "";
                        string Submitter    = "";
                        string Assigned     = "";
                        string Watching     = "";

                        sw.WriteLine("{0},{1},{2},{3},{4},{5}", TicketID, SummaryIssue, Status, Priority, Submitter, Assigned, Watching);

                        sw.Close();
                        Console.ReadLine();
                    }
                }
                while (choice == "1" || choice == "2")
                {
                    ;
                }
            }
        }
Пример #9
0
 // constructors
 public TicketManager()
 {
     _ticketFile = new TicketFile();
 }