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(); } } }
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); }
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); }
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); }