Esempio n. 1
0
        public Plan getOnePlan(int id)
        {
            Plan p = null;

            string connectionString = "Data Source=FORLOGIC357;Initial Catalog=PLANNER;" +
                                      "Integrated Security=True";

            string sqlQuery = "SELECT * FROM plans WHERE id = @id";


            PlanTypeDAO   ptDAO   = new PlanTypeDAO();
            PlanStatusDAO psDAO   = new PlanStatusDAO();
            UserDAO       userDAO = new UserDAO();

            using (SqlConnection connection =
                       new SqlConnection(connectionString))
            {
                SqlCommand command = new SqlCommand(sqlQuery, connection);
                command.Parameters.AddWithValue("@id", id);

                try
                {
                    connection.Open();
                    SqlDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        PlanType   pt = ptDAO.getOneType((int)reader[2]);
                        User       u  = userDAO.getResponsible((int)reader[3]);
                        PlanStatus pu = psDAO.getOneStatus((int)reader[4]);

                        p = new Plan((string)reader[1], (int)reader[0], pt, u, pu,
                                     (DateTime)reader[5], (DateTime)reader[6], (string)reader[7],
                                     (decimal)reader[8]);
                    }
                    reader.Close();
                    return(p);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    return(p);
                }
                finally
                {
                    connection.Close();
                }
            }
        }
Esempio n. 2
0
        public Plan(string name, int id, PlanType type, User responsible,
                    PlanStatus status, DateTime startDate, DateTime endDate, string description,
                    decimal cost)
        {
            this.name        = name;
            this.id          = id;
            this.type        = type;
            this.responsible = responsible;
            this.status      = status;
            this.startDate   = startDate;
            this.endDate     = endDate;
            this.description = description;
            this.cost        = cost;

            this.searchStakeholders(this.id);
        }
Esempio n. 3
0
        public static void Update(int op)
        {
            Console.Clear();
            PlanDAO       p  = new PlanDAO();
            UserDAO       u  = new UserDAO();
            PlanTypeDAO   pt = new PlanTypeDAO();
            PlanStatusDAO ps = new PlanStatusDAO();

            string aux     = "";
            int    confirm = 0;
            int    exists  = 0;

            switch (op)
            {
            case 1:
                planList   = p.getPlans();
                typeList   = pt.getType();
                userList   = u.getUser();
                statusList = ps.getStatus();
                Console.WriteLine("\nInsira o nome do plano a ser modificado: ");
                string   planName = Console.ReadLine();
                int      idType;
                int      idUser;
                int      idStatus;
                DateTime sDate;
                DateTime eDate;
                string   desc;
                decimal  cost;

                Plan original = new Plan();

                foreach (var item in planList)
                {
                    if (item.Name.Contains(planName))
                    {
                        original = item;
                        exists   = 1;
                        break;
                    }
                }
                if (exists == 0)
                {
                    Console.WriteLine("\nNao existe um plano com esse nome");
                    break;
                }
                Console.Clear();

                Console.WriteLine("\nQuer modificar o nome do plano?");
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    Console.WriteLine("\nDigite o novo nome: ");
                    planName = Console.ReadLine();
                }
                else
                {
                    planName = original.Name;
                }
                Console.Clear();

                Console.WriteLine("\nQuer modificar o tipo do plano?");
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    Console.WriteLine("\nEscolha o novo tipo: ");
                    foreach (var item in typeList)
                    {
                        Console.WriteLine(item.Id + "-" + item.Name);
                    }
                    idType = Int32.Parse(Console.ReadLine());
                }
                else
                {
                    idType = original.Type.Id;
                }
                Console.Clear();

                Console.WriteLine("\nQuer modificar o responsavel do plano?");
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    Console.WriteLine("\nEscolha o novo responsavel: ");
                    foreach (var item in userList)
                    {
                        Console.WriteLine(item.Id + "-" + item.Name);
                    }
                    idUser = Int32.Parse(Console.ReadLine());
                }
                else
                {
                    idUser = original.Responsible.Id;
                }
                Console.Clear();

                Console.WriteLine("\nQuer modificar o status do plano?");
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    Console.WriteLine("\nEscolha o novo status: ");
                    foreach (var item in statusList)
                    {
                        Console.WriteLine(item.Id + "-" + item.Name);
                    }
                    idStatus = Int32.Parse(Console.ReadLine());
                }
                else
                {
                    idStatus = original.Status.Id;
                }
                Console.Clear();

                Console.WriteLine("\nQuer modificar a data de inicio do plano?");
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    Console.WriteLine("\nEscolha a nova data: ");
                    sDate = DateTime.Parse(Console.ReadLine());
                }
                else
                {
                    sDate = original.StartDate;
                }
                Console.Clear();

                Console.WriteLine("\nQuer modificar a data de fim do plano?");
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    Console.WriteLine("\nEscolha a nova data: ");
                    eDate = DateTime.Parse(Console.ReadLine());
                }
                else
                {
                    eDate = original.EndDate;
                }
                Console.Clear();

                Console.WriteLine("\nQuer modificar a descricao do plano?");
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    Console.WriteLine("\nDigite a nova descricao: ");
                    desc = Console.ReadLine();
                }
                else
                {
                    desc = original.Description;
                }
                Console.Clear();

                Console.WriteLine("\nQuer modificar o custo do plano?");
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    Console.WriteLine("\nEscolha o novo custo: ");
                    cost = Decimal.Parse(Console.ReadLine());
                }
                else
                {
                    cost = original.Cost;
                }
                Console.Clear();

                Plan pInsert = new Plan(planName, original.Id, pt.getOneType(idType), u.getResponsible(idUser), ps.getOneStatus(idStatus), sDate, eDate, desc, cost);

                Console.WriteLine("\nConfirme seus dados: ");
                Console.WriteLine(pInsert);
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    p.updatePlan(pInsert);
                }
                else
                {
                    Console.WriteLine("\nOperacao cancelada!");
                }

                break;

            //---------------------------------------------------------------------------------------------------------------------------------------
            case 2:
                userList = u.getUser();
                Console.WriteLine("\nInsira o nome do usuario a ser modificado: ");
                string userName = Console.ReadLine();

                User userOriginal = new User();

                foreach (var item in userList)
                {
                    if (item.Name.Contains(userName))
                    {
                        userOriginal = item;
                        exists       = 1;
                        break;
                    }
                }
                if (exists == 0)
                {
                    Console.WriteLine("\nNao existe um usuario com esse nome");
                    break;
                }
                Console.Clear();

                Console.WriteLine("\nQuer modificar o nome do usuario?");
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    Console.WriteLine("\nDigite o novo nome: ");
                    userName = Console.ReadLine();
                }
                else
                {
                    userName = userOriginal.Name;
                }
                Console.Clear();

                Console.WriteLine("\nQuer modificar se o usuario pode criar planos?");
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                int  auxUser   = 0;
                bool canCreate = false;
                if (confirm == 1)
                {
                    Console.WriteLine("\nEscolha se o usuario pode criar planos: \n1-Sim\n2-Nao");
                    auxUser = Int32.Parse(Console.ReadLine());
                    if (auxUser == 1)
                    {
                        canCreate = true;
                    }
                    else
                    {
                        canCreate = false;
                    }
                }
                else
                {
                    canCreate = userOriginal.CanCreatePlan;
                }
                Console.Clear();

                Console.WriteLine("\nQuer modificar se o usuario vai ser removido?");
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                int  auxRemoved = 0;
                bool remo       = false;
                if (confirm == 1)
                {
                    Console.WriteLine("\nEscolha se o usuario vai ser removido: \n1-Sim\n2-Nao");
                    auxRemoved = Int32.Parse(Console.ReadLine());
                    if (auxRemoved == 1)
                    {
                        remo = true;
                    }
                    else
                    {
                        remo = false;
                    }
                }
                else
                {
                    remo = userOriginal.Removed;
                }
                Console.Clear();

                User uInsert = new User(userName, userOriginal.Id, userOriginal.RegisterDate, DateTime.Now, canCreate, remo);

                Console.WriteLine("\nConfirme seus dados: ");
                Console.WriteLine(uInsert);
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    u.insertUser(uInsert);
                }
                else
                {
                    Console.WriteLine("\nOperacao cancelada!");
                }

                break;

            case 3:
                typeList = pt.getType();
                Console.WriteLine("\nInsira o nome do usuario a ser modificado: ");
                string typeName = Console.ReadLine();

                PlanType ptOriginal = new PlanType();

                foreach (var item in typeList)
                {
                    if (item.Name.Contains(typeName))
                    {
                        ptOriginal = item;
                        exists     = 1;
                        break;
                    }
                }
                if (exists == 0)
                {
                    Console.WriteLine("\nNao existe um tipo de plano com esse nome");
                    break;
                }
                Console.Clear();

                Console.WriteLine("\nQuer modificar o nome do tipo de plano?");
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    Console.WriteLine("\nDigite o novo nome do tipo de plano: ");
                    typeName = Console.ReadLine();
                }
                else
                {
                    typeName = ptOriginal.Name;
                }
                Console.Clear();

                PlanType typeInsert = new PlanType(typeName, ptOriginal.Id);

                Console.WriteLine("\nConfirme seus dados: ");
                Console.WriteLine(typeInsert);
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    pt.insertType(typeInsert);
                }
                else
                {
                    Console.WriteLine("\nOperacao cancelada!");
                }
                break;

            case 4:
                statusList = ps.getStatus();
                Console.WriteLine("\nInsira o nome do status: ");
                string statusName = Console.ReadLine();

                PlanStatus psOriginal = new PlanStatus();

                foreach (var item in statusList)
                {
                    if (item.Name.Contains(statusName))
                    {
                        psOriginal = item;
                        exists     = 1;
                        break;
                    }
                }
                if (exists == 0)
                {
                    Console.WriteLine("\nNao existe um status de plano com esse nome");
                    break;
                }
                Console.Clear();

                Console.WriteLine("\nQuer modificar o nome do status?");
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    Console.WriteLine("\nDigite o novo nome do status: ");
                    statusName = Console.ReadLine();
                }
                else
                {
                    statusName = psOriginal.Name;
                }
                Console.Clear();

                PlanStatus stInsert = new PlanStatus(statusName, psOriginal.Id);

                Console.WriteLine("\nConfirme seus dados: ");
                Console.WriteLine(stInsert);
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    ps.insertStatus(stInsert);
                }
                else
                {
                    Console.WriteLine("\nOperacao cancelada!");
                }
                break;
            }

            Submenu(op);
        }
Esempio n. 4
0
        public static void Insert(int op)
        {
            Console.Clear();
            PlanDAO       p  = new PlanDAO();
            UserDAO       u  = new UserDAO();
            PlanTypeDAO   pt = new PlanTypeDAO();
            PlanStatusDAO ps = new PlanStatusDAO();

            string aux     = "";
            int    confirm = 0;
            int    exists  = 0;

            switch (op)
            {
            case 1:
                planList   = p.getPlans();
                typeList   = pt.getType();
                userList   = u.getUser();
                statusList = ps.getStatus();
                Console.WriteLine("\nInsira o nome do plano: ");
                string planResp = Console.ReadLine();

                foreach (var item in planList)
                {
                    if (item.Name.Contains(planResp))
                    {
                        Console.WriteLine("\nJa existe um plano com esse nome");
                        exists = 1;
                        break;
                    }
                }
                if (exists == 1)
                {
                    break;
                }
                Console.Clear();

                Console.WriteLine("\nEscolha um tipo de plano: ");
                foreach (var item in typeList)
                {
                    Console.WriteLine(item.Id + "-" + item.Name);
                }
                int typeId = Int32.Parse(Console.ReadLine());
                Console.Clear();

                Console.WriteLine("\nEscolha um responsavel: ");
                foreach (var item in userList)
                {
                    Console.WriteLine(item.Id + "-" + item.Name);
                }
                int userId = Int32.Parse(Console.ReadLine());
                Console.Clear();

                Console.WriteLine("\nEscolha um status para o plano: ");
                foreach (var item in statusList)
                {
                    Console.WriteLine(item.Id + "-" + item.Name);
                }
                int statusId = Int32.Parse(Console.ReadLine());
                Console.Clear();

                Console.WriteLine("\nInsira a data de inicio do plano: ");
                DateTime stDate = DateTime.Parse(Console.ReadLine());
                Console.Clear();

                Console.WriteLine("\nInsira a data de fim do plano: ");
                DateTime edDate = DateTime.Parse(Console.ReadLine());
                Console.Clear();

                Console.WriteLine("\nInsira uma descrição do projeto: ");
                string desc = Console.ReadLine();
                Console.Clear();

                Console.WriteLine("\nInsira o custo do plano: ");
                decimal ct = Decimal.Parse(Console.ReadLine());
                Console.Clear();

                Plan pInsert = new Plan(planResp, 0, pt.getOneType(typeId), u.getResponsible(userId), ps.getOneStatus(statusId), stDate, edDate, desc, ct);

                Console.WriteLine("\nConfirme seus dados: ");
                Console.WriteLine(pInsert);
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    p.insertPlan(pInsert);
                }
                else
                {
                    Console.WriteLine("\nOperacao cancelada!");
                }
                break;

            case 2:
                userList = u.getUser();
                Console.WriteLine("\nInsira o nome do usuario: ");
                string userName = Console.ReadLine();

                foreach (var item in userList)
                {
                    if (item.Name.Contains(userName))
                    {
                        Console.WriteLine("\nJa existe um usuario com esse nome");
                        exists = 1;
                        break;
                    }
                }
                if (exists == 1)
                {
                    break;
                }
                Console.Clear();

                Console.WriteLine("\nEscolha se o usuario pode criar planos: \n1-Sim\n2-Nao");
                int  auxUser   = Int32.Parse(Console.ReadLine());
                bool canCreate = false;
                if (auxUser == 1)
                {
                    canCreate = true;
                }
                else
                {
                    canCreate = false;
                }
                Console.Clear();

                User uInsert = new User(userName, 0, DateTime.Now, DateTime.Now, canCreate, false);

                Console.WriteLine("\nConfirme seus dados: ");
                Console.WriteLine(uInsert);
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    u.insertUser(uInsert);
                }
                else
                {
                    Console.WriteLine("\nOperacao cancelada!");
                }

                break;

            case 3:
                typeList = pt.getType();
                Console.WriteLine("\nInsira o nome do usuario: ");
                string typeName = Console.ReadLine();

                foreach (var item in typeList)
                {
                    if (item.Name.Contains(typeName))
                    {
                        Console.WriteLine("\nJa existe um tipo de plano com esse nome");
                        exists = 1;
                        break;
                    }
                }
                if (exists == 1)
                {
                    break;
                }
                Console.Clear();

                PlanType typeInsert = new PlanType(typeName, 0);

                Console.WriteLine("\nConfirme seus dados: ");
                Console.WriteLine(typeInsert);
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    pt.insertType(typeInsert);
                }
                else
                {
                    Console.WriteLine("\nOperacao cancelada!");
                }
                break;

            case 4:
                statusList = ps.getStatus();
                Console.WriteLine("\nInsira o nome do status: ");
                string statusName = Console.ReadLine();

                foreach (var item in statusList)
                {
                    if (item.Name.Contains(statusName))
                    {
                        Console.WriteLine("\nJa existe um status de plano com esse nome");
                        exists = 1;
                        break;
                    }
                }
                if (exists == 1)
                {
                    break;
                }
                Console.Clear();

                PlanStatus stInsert = new PlanStatus(statusName, 0);

                Console.WriteLine("\nConfirme seus dados: ");
                Console.WriteLine(stInsert);
                Console.WriteLine("\n1-Sim\n2-Nao");
                confirm = Int32.Parse(Console.ReadLine());
                if (confirm == 1)
                {
                    ps.insertStatus(stInsert);
                }
                else
                {
                    Console.WriteLine("\nOperacao cancelada!");
                }
                break;
            }

            Submenu(op);
        }