public string GetProjectListHTML() { System.Collections.ArrayList arrayList = DBProject.LoadProjects(); string text = "<table border=1 ><tr><td>项目名称</td><td>项目UID</td><td></td></tr>"; foreach (System.Collections.Hashtable hashtable in arrayList) { string text2 = hashtable["UID_"].ToString(); object obj = text; text = string.Concat(new object[] { obj, "<tr><td>", hashtable["NAME_"], "</td><td>", text2, "</td><td><a href='Project.html?id=", text2, "'>打开</a> <a href='DeleteProject.aspx?id=", text2, "'>删除</a> <a href='ExportProject.aspx?id=", text2, "'>导出</a></td></tr>" }); } text += "</table>"; return(text); }
protected void btnVersion_Click(object sender, System.EventArgs args) { string progressVerId = base.Request["id"]; this.hfldProjectUID.Value = DBProject.ImportVersion(progressVerId, this.dropVersion.SelectedValue); base.RegisterScript("$('#raVersion').click();alert('系统提示:\\n\\n版本导入成功!');closeTab(true);"); }
protected void btnImport_Click(object sender, System.EventArgs e) { string physicalApplicationPath = base.Request.PhysicalApplicationPath; string text = "UploadFiles\\Gantt\\"; string str = physicalApplicationPath + text; HttpPostedFile httpPostedFile = base.Request.Files["fupData"]; string text2 = System.DateTime.Now.ToString("yyyyMMddhhmmss"); string str2 = httpPostedFile.FileName.Substring(httpPostedFile.FileName.LastIndexOf(".")); text2 += str2; if (httpPostedFile.ContentLength > 0) { httpPostedFile.SaveAs(string.Format("{0}{1}{2}", physicalApplicationPath, text, text2)); System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(); System.Collections.Hashtable hashtable = PlusProject.Read(str + text2); Project project = new Project(); project.Load(hashtable); project.OrderProjectByStart(); System.Collections.ArrayList arrayList = (System.Collections.ArrayList)hashtable["Tasks"]; arrayList = TreeUtil.ToTree(arrayList, "children", "UID", "ParentTaskUID"); hashtable["Tasks"] = arrayList; string text3 = base.Request["id"]; this.hfldProjectUID.Value = text3; DBProject.ConvertXML(text3, hashtable); stringBuilder.Append("alert('系统提示:\\n\\nXML导入成功!');closeTab(true);"); base.RegisterScript(stringBuilder.ToString()); } }
protected void Page_Load(object sender, EventArgs e) { string progressVerId = base.Request["projectuid"]; Hashtable o = DBProject.LoadProject(progressVerId); string s = JSON.Encode(o); base.Response.Write(s); }
protected void Page_Load(object sender, System.EventArgs e) { Project project = new Project(); System.Collections.Hashtable data = project.GetData(); string str = DBProject.SaveProject(data); base.Response.Write("新项目UID:" + str + ", 您可以在<a href='Projects.aspx'>项目列表</a>页面打开本项目"); }
protected void Page_Load(object sender, EventArgs e) { string projectUID = base.Request["projectuid"]; string version = base.Request["version"]; Hashtable o = DBProject.LoadProject(projectUID, version); string s = JSON.Encode(o); base.Response.Write(s); }
protected void btnVersion_Click(object sender, System.EventArgs args) { int version = System.Convert.ToInt32(this.dropVersion.SelectedValue); string text = base.Request["id"]; this.hfldProjectUID.Value = text; DBProject.ConvertVersion(text, version); base.RegisterScript("$('#raVersion').click();alert('系统提示:\\n\\n版本导入成功!');closeTab(true);"); }
protected void Page_Load(object sender, EventArgs e) { String projectuid = Request["projectuid"]; Hashtable dataProject = DBProject.LoadProject(projectuid); String json = PluSoft.Utils.JSON.Encode(dataProject); Response.Write(json); }
/// <summary> /// ItemId, ItemName, Weight, StateId, CanDelete (int) /// </summary> public static DataTable GetList(DictionaryTypes dict) { DataTable dt = null; switch (dict) { case DictionaryTypes.Categories: dt = DBCommon.GetListCategoriesForDictionaries(); break; case DictionaryTypes.IncidentSeverities: dt = DBIncident.GetListIncidentSeverityForDictionaries(); break; case DictionaryTypes.IncidentTypes: dt = DBIncident.GetListIncidentTypesForDictionaries(); break; case DictionaryTypes.ProjectTypes: dt = DBProject.GetListProjectTypesForDictionaries(); break; case DictionaryTypes.ProjectCategories: dt = DBProject.GetListProjectCategoriesForDictionaries(); break; case DictionaryTypes.IncidentCategories: dt = DBIncident.GetListIncidentCategoriesForDictionaries(); break; case DictionaryTypes.Currency: dt = DBCommon.GetListCurrencyForDictionaries(); break; case DictionaryTypes.DocumentStatus: dt = DBDocument.GetListDocumentStatusForDictionaries(Security.CurrentUser.LanguageId); break; case DictionaryTypes.ProjectPhases: dt = DBProject.GetListProjectPhasesForDictionaries(); break; case DictionaryTypes.RiskLevels: dt = DBProject.GetListRiskLevelsForDictionaries(); break; } if (dict != DictionaryTypes.ProjectPhases && dict != DictionaryTypes.RiskLevels && dt != null) { dt.Columns.Add("Weight", typeof(int)); } return(dt); }
protected void BindDrop() { int maxVersion = DBProject.GetMaxVersion(base.Request["id"]); for (int i = maxVersion; i > 0; i--) { string text = i.ToString(); ListItem item = new ListItem("版本" + text + ".0", text); this.dropVersion.Items.Add(item); } }
protected void Page_Load(object sender, System.EventArgs e) { string text = System.Convert.ToString(base.Request["id"]); if (!string.IsNullOrEmpty(text)) { DBProject.DeleteProject(text); base.Response.Write("项目删除成功。返回<a href='Projects.aspx'>项目列表</a>。"); return; } base.Response.Write("请传入正确的项目UID"); }
private static void UpdateProjectType(int ProjectTypeId, string ProjectTypeName) { using (DbTransaction tran = DbTransaction.Begin()) { string MetaClassName = String.Format("ProjectsEx_{0}", ProjectTypeId); MetaClass metaProjectTypeEx = MetaClass.Load(MetaClassName); metaProjectTypeEx.FriendlyName = ProjectTypeName; DBProject.UpdateProjectType(ProjectTypeId, ProjectTypeName); tran.Commit(); } }
public static void AddItem(string ItemName, int Param, DictionaryTypes dict) { if (!Company.CheckDiskSpace()) { throw new MaxDiskSpaceException(); } switch (dict) { case DictionaryTypes.Categories: DBCommon.AddCategory(ItemName); break; case DictionaryTypes.IncidentSeverities: DBIncident.AddIncidentSeverity(ItemName); break; case DictionaryTypes.IncidentTypes: DBIncident.AddIncidentType(ItemName); break; case DictionaryTypes.ProjectTypes: AddProjectType(ItemName); break; case DictionaryTypes.ProjectCategories: DBProject.AddProjectCategory(ItemName); break; case DictionaryTypes.IncidentCategories: DBIncident.AddIncidentCategory(ItemName); break; case DictionaryTypes.Currency: DBCommon.AddCurrency(ItemName); break; case DictionaryTypes.DocumentStatus: DBDocument.AddDocumentStatus(ItemName, Param); break; case DictionaryTypes.ProjectPhases: DBProject.AddProjectPhase(ItemName, Param); break; case DictionaryTypes.RiskLevels: DBProject.AddRiskLevel(ItemName, Param); break; } }
private static void AddProjectType(string ProjectTypeName) { using (DbTransaction tran = DbTransaction.Begin()) { int ProjectTypeId = DBProject.AddProjectType(ProjectTypeName); string MetaClassName = String.Format("ProjectsEx_{0}", ProjectTypeId); MetaClass metaProjectTypeEx = MetaClass.Create(MetaClassName, ProjectTypeName, MetaClassName, MetaClass.Load("Projects"), false, "Project Type Extension"); RebuildProjectsSearch(metaProjectTypeEx); tran.Commit(); } }
public static void UpdateItem(int ItemId, string ItemName, int Param, DictionaryTypes dict) { switch (dict) { case DictionaryTypes.Categories: DBCommon.UpdateCategory(ItemId, ItemName); break; case DictionaryTypes.IncidentSeverities: DBIncident.UpdateIncidentSeverity(ItemId, ItemName); break; case DictionaryTypes.IncidentTypes: DBIncident.UpdateIncidentType(ItemId, ItemName); break; case DictionaryTypes.ProjectTypes: UpdateProjectType(ItemId, ItemName); break; // case DictionaryTypes.Clients: // DBProject.UpdateClient(ItemId, ItemName); // break; case DictionaryTypes.ProjectCategories: DBProject.UpdateProjectCategory(ItemId, ItemName); break; case DictionaryTypes.IncidentCategories: DBIncident.UpdateIncidentCategory(ItemId, ItemName); break; case DictionaryTypes.Currency: DBCommon.UpdateCurrency(ItemId, ItemName); break; case DictionaryTypes.DocumentStatus: DBDocument.UpdateDocumentStatus(ItemId, ItemName, Param); break; case DictionaryTypes.ProjectPhases: DBProject.UpdateProjectPhase(ItemId, ItemName, Param); break; case DictionaryTypes.RiskLevels: DBProject.UpdateRiskLevel(ItemId, ItemName, Param); break; } }
public static void DeleteItem(int ItemId, DictionaryTypes dict) { switch (dict) { case DictionaryTypes.Categories: DBCommon.DeleteCategory(ItemId); break; case DictionaryTypes.IncidentSeverities: DBIncident.DeleteIncidentSeverity(ItemId); break; case DictionaryTypes.IncidentTypes: DBIncident.DeleteIncidentType(ItemId); break; case DictionaryTypes.ProjectTypes: DeleteProjectType(ItemId); break; // case DictionaryTypes.Clients: // DBProject.DeleteClient(ItemId); // break; case DictionaryTypes.ProjectCategories: DBProject.DeleteProjectCategory(ItemId); break; case DictionaryTypes.IncidentCategories: DBIncident.DeleteIncidentCategory(ItemId); break; case DictionaryTypes.Currency: DBCommon.DeleteCurrency(ItemId); break; case DictionaryTypes.DocumentStatus: DBDocument.DeleteDocumentStatus(ItemId); break; case DictionaryTypes.ProjectPhases: DBProject.DeleteProjectPhase(ItemId); break; case DictionaryTypes.RiskLevels: DBProject.DeleteRiskLevel(ItemId); break; } }
protected void Page_Load(object sender, EventArgs e) { String projectJSON = Request["project"]; Hashtable dataProject = (Hashtable)PluSoft.Utils.JSON.Decode(projectJSON); /*如果传递了其他自定义参数,可以这样获取: * * String myField = Request["myField"]; * */ String projectUID = DBProject.SaveProject(dataProject); Response.Write(projectUID); }
protected void Page_Load(object sender, EventArgs e) { string text = base.Request["project"]; if (!string.IsNullOrEmpty(text)) { Hashtable dataProject = (Hashtable)JSON.Decode(text); try { string s = DBProject.SaveProject(dataProject); base.Response.Write(s); } catch { base.Response.Write("error"); } } }
protected void Page_Load(object sender, System.EventArgs e) { string text = System.Convert.ToString(base.Request["id"]); if (!string.IsNullOrEmpty(text)) { System.Collections.Hashtable hashtable = DBProject.LoadProject(text); System.Collections.ArrayList tree = (System.Collections.ArrayList)hashtable["Tasks"]; hashtable["Tasks"] = TreeUtil.ToList(tree, "-1", "children", "UID", "ParentTaskUID"); string text2 = System.IO.Path.GetFileNameWithoutExtension(System.Convert.ToString(hashtable["Name"])) + "_" + System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".xml"; string text3 = HttpContext.Current.Server.MapPath("~/UploadFiles/Gantt/"); if (!System.IO.Directory.Exists(text3)) { System.IO.Directory.CreateDirectory(text3); } string text4 = text3 + text2; PlusProject.Write(text4, hashtable); base.Response.Clear(); System.IO.FileStream fileStream = null; try { fileStream = new System.IO.FileStream(text4, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read); int num = (int)fileStream.Length; byte[] buffer = new byte[num]; int count = fileStream.Read(buffer, 0, num); HttpContext.Current.Response.ContentType = "application/octet-stream"; HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(text2)); HttpContext.Current.Response.OutputStream.Write(buffer, 0, count); HttpContext.Current.Response.Flush(); HttpContext.Current.Response.End(); } finally { fileStream.Close(); } System.IO.FileInfo fileInfo = new System.IO.FileInfo(text4); fileInfo.Delete(); base.Response.End(); return; } base.Response.Write("请传入正确的项目UID"); }
private static void DeleteProjectType(int ProjectTypeId) { using (DbTransaction tran = DbTransaction.Begin()) { DBProject.DeleteProjectType(ProjectTypeId); string MetaClassName = String.Format("ProjectsEx_{0}", ProjectTypeId); MetaClass mc = MetaClass.Load(MetaClassName); MetaClass parent = mc.Parent; if (mc != null) { MetaClass.Delete(mc.Id); } RebuildProjectsSearch(parent); tran.Commit(); } }
public static int GetSharingLevel(ObjectTypes ObjectType, int ObjectId) { int UserId = Security.CurrentUser.UserID; int RetVal = -1; switch (ObjectType) { case ObjectTypes.ToDo: RetVal = DBToDo.GetSharingLevel(UserId, ObjectId); break; case ObjectTypes.Task: RetVal = DBTask.GetSharingLevel(UserId, ObjectId); break; case ObjectTypes.CalendarEntry: RetVal = DBEvent.GetSharingLevel(UserId, ObjectId); break; case ObjectTypes.Issue: RetVal = DBIncident.GetSharingLevel(UserId, ObjectId); break; case ObjectTypes.Project: RetVal = DBProject.GetSharingLevel(UserId, ObjectId); break; case ObjectTypes.Document: RetVal = DBDocument.GetSharingLevel(UserId, ObjectId); break; default: RetVal = -1; break; } return(RetVal); }
protected void Page_Load(object sender, System.EventArgs e) { string text = System.Convert.ToString(base.Request["id"]); string version = base.Request["version"]; if (!string.IsNullOrEmpty(text)) { System.Collections.Hashtable hashtable = DBProject.LoadProject(text, version); System.Collections.ArrayList tree = (System.Collections.ArrayList)hashtable["Tasks"]; hashtable["Tasks"] = TreeUtil.ToList(tree, "-1", "children", "UID", "ParentTaskUID"); string text2 = System.IO.Path.GetFileNameWithoutExtension(System.Convert.ToString(hashtable["Name"])) + "_" + System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".xml"; string text3 = HttpContext.Current.Server.MapPath("~/UploadFiles/Gantt/" + text2); PlusProject.Write(text3, hashtable); base.Response.Clear(); base.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(text2, System.Text.Encoding.UTF8)); base.Response.WriteFile(text3); base.Response.Flush(); System.IO.FileInfo fileInfo = new System.IO.FileInfo(text3); fileInfo.Delete(); base.Response.End(); return; } base.Response.Write("请传入正确的项目UID"); }
private static void ProcessGlobalSubscription(int hookId, DateTypes dateType, ObjectTypes objectType, int?objectId, Guid?objectUid) { // Формируем список пользователей, связанных с объектом List <int> users = new List <int>(); if (objectType == ObjectTypes.Project) { using (IDataReader reader = DBProject.GetProjectSecurity(objectId.Value)) { while (reader.Read()) { users.Add((int)reader["UserId"]); } } } else if (objectType == ObjectTypes.Task) { using (IDataReader reader = DBTask.GetTaskSecurity(objectId.Value)) { while (reader.Read()) { if ((bool)reader["IsRealTaskResource"] || (bool)reader["IsRealTaskManager"] || (bool)reader["IsCreator"]) { users.Add((int)reader["UserId"]); } } } } else if (objectType == ObjectTypes.ToDo) { using (IDataReader reader = DBToDo.GetToDoSecurity(objectId.Value)) { while (reader.Read()) { users.Add((int)reader["UserId"]); } } } else if (objectType == ObjectTypes.CalendarEntry) { using (IDataReader reader = DBEvent.GetListUsersForEvent(objectId.Value)) { while (reader.Read()) { users.Add((int)reader["UserId"]); } } } else if (objectType == ObjectTypes.Document) { using (IDataReader reader = DBDocument.GetDocumentSecurity(objectId.Value)) { while (reader.Read()) { users.Add((int)reader["UserId"]); } } } else if (objectType == ObjectTypes.Assignment) { AssignmentEntity entity = (AssignmentEntity)BusinessManager.Load(AssignmentEntity.ClassName, (PrimaryKeyId)objectUid.Value); if (entity != null && entity.OwnerDocumentId.HasValue) { using (IDataReader reader = DBDocument.GetDocumentSecurity(entity.OwnerDocumentId.Value)) { while (reader.Read()) { users.Add((int)reader["UserId"]); } } } } // Проверим отсутствие индивидуальной подписки for (int i = 0; i < users.Count; i++) { int userId = users[i]; // O.R. [2010-04-01]: Don't process inactive users if (User.GetUserActivity(userId) != User.UserActivity.Active) { users.RemoveAt(i); i--; } else if (objectId.HasValue) { if (GetSubscriptionType(dateType, userId, objectId.Value) != SubscriptionTypes.Global) { users.RemoveAt(i); i--; } } } // Send Reminder if (users.Count > 0) { SendReminder(dateType, objectType, objectId, objectUid, users); } }
public IGTDSystem makeSystem(IUser owner) { GTDSystem sys = new GTDSystem(owner); IDictionary<int, ISingleTask> taskMap = new Dictionary<int, ISingleTask>(); IDictionary<int, IProject> projectMap = new Dictionary<int, IProject>(); //IDictionary<int, IStaticList> listMap = new Dictionary<int, IStaticList>(); DataClassesDataContext db = dbProvider.Database; int usrid = dbProvider.IdManager.GetId(owner); foreach (Tasks t in db.Tasks.Where(item => item.Owner == usrid)) { ISingleTask st = new DBSingleTask(t, dbProvider); taskMap.Add(t.Id, st); } IDictionary<string, IStaticList> defaultListsMap = new Dictionary<string, IStaticList>(); string[] names = new string[] {"Inbox", "Waiting", "Someday"}; foreach (var name in names) { IEnumerable<Lists> listResults = db.Lists.Where(list => list.Title == name && list.Owner == usrid); if (listResults.Count() == 0) { // si la requete est vide, il n'y a pas de liste avec ce nom, donc aucune tache dedans defaultListsMap.Add(name, makeContext(name, "", owner)); } else { defaultListsMap.Add(name, createDBStaticList(listResults.First(), taskMap)); } } // Mise en place des tâches dans la Inbox sys.Inbox = defaultListsMap["Inbox"]; // Mise en place des tâches dans Waiting sys.Waiting = defaultListsMap["Waiting"]; // Mise en place des tâches dans Someday sys.Someday = defaultListsMap["Someday"]; // Mise en place Contexts foreach (Lists list in db.Lists.Where(x => !names.Contains(x.Title) && x.Owner == usrid)) { IStaticList stl = createDBStaticList(list, taskMap); sys.Contexts.Add(stl); } foreach (Projects project in db.Projects.Where(item => item.Owner == usrid)) { IProject p = new DBProject(project, dbProvider); projectMap.Add(project.Id, p); sys.Projects.Add(p); } foreach (Projects_Tasks pt in db.Projects_Tasks.Where(item => item.Owner == usrid).OrderBy(item => item.Task_order)) projectMap[pt.Project_id].AddTask(taskMap[pt.Task_id]); //selection des orphelins var orphans = db.Tasks.Where(item => item.Lists_Tasks.Count == 0).Select(item => taskMap[item.Id]); //ajout dans la inbox foreach (ISingleTask orphan in orphans) sys.Inbox.AddTask(orphan); return sys; }
public override void Initialize() { base.Initialize(); dbEntity = new DBProject(connManager); }
private static void UpdateListResources(int objectId, DataTable items, bool checkAccess) { if (checkAccess) { VerifyCanModifyResources(objectId); } int taskCompletionTypeId; bool taskMustBeConfirmed; bool taskIsCompleted; int taskReasonId; int taskProjectId; int taskPercentCompleted; using (IDataReader reader = DBTask.GetTask(objectId, Security.CurrentUser.TimeZoneId, Security.CurrentUser.LanguageId)) { reader.Read(); taskCompletionTypeId = (int)reader["CompletionTypeId"]; taskMustBeConfirmed = (bool)reader["MustBeConfirmed"]; taskIsCompleted = (bool)reader["IsCompleted"]; taskReasonId = (int)reader["ReasonId"]; taskProjectId = (int)reader["ProjectId"]; taskPercentCompleted = (int)reader["PercentCompleted"]; } int managerId = DBProject.GetProjectManager(taskProjectId); ArrayList oldItems = new ArrayList(); using (IDataReader reader = DBTask.GetListResources(objectId, Security.CurrentUser.TimeZoneId)) { Common.LoadItems(reader, "UserId", oldItems); } ArrayList add = new ArrayList(); ArrayList del = new ArrayList(); foreach (DataRow row in items.Rows) { int id = (int)row["UserId"]; if (oldItems.Contains(id)) { oldItems.Remove(id); } else { add.Add(id); } } del.AddRange(oldItems); int cuid = Security.CurrentUser.UserID; using (DbTransaction tran = DbTransaction.Begin()) { foreach (int id in del) { DBCommon.DeleteGate((int)OBJECT_TYPE, objectId, id); // O.R. [2009-02-12] DBCalendar.DeleteStickedObject((int)OBJECT_TYPE, objectId, id); DBTask.DeleteResource(objectId, id); // OZ: User Role Addon UserRoleHelper.DeleteTaskResourceRole(objectId, id); if (id != managerId) { UserRoleHelper.DeleteTaskManagerRole(objectId, id); } // SystemEvents.AddSystemEvents(SystemEventTypes.Task_Updated_ResourceList_AssignmentDeleted, objectId, id); } foreach (DataRow row in items.Rows) { int id = (int)row["UserId"]; bool mustBeConfirmed = (bool)row["MustBeConfirmed"]; bool canManage = (bool)row["CanManage"]; if (id == managerId) { canManage = true; } bool updated = true; if (add.Contains(id)) { DbTask2.AddResource(objectId, id, mustBeConfirmed, canManage); if (User.IsExternal(id)) { DBCommon.AddGate((int)OBJECT_TYPE, objectId, id); } } else { updated = (0 < DbTask2.UpdateResource(objectId, id, mustBeConfirmed, canManage)); } // OZ: User Role Addon if (id != managerId) { UserRoleHelper.DeleteTaskManagerRole(objectId, id); } UserRoleHelper.DeleteTaskResourceRole(objectId, id); if (canManage) { if (id != managerId) { UserRoleHelper.AddTaskManagerRole(objectId, id); } } else { UserRoleHelper.AddTaskResourceRole(objectId, id); } // if (updated) { if (mustBeConfirmed) { SystemEvents.AddSystemEvents(SystemEventTypes.Task_Updated_ResourceList_RequestAdded, objectId, id); } else { SystemEvents.AddSystemEvents(SystemEventTypes.Task_Updated_ResourceList_AssignmentAdded, objectId, id); } } } if (taskCompletionTypeId == (int)CompletionType.All) { int overallPercent = Task.RecalculateOverallPercent(objectId); if (taskPercentCompleted != overallPercent) { DBTask.UpdatePercent(objectId, overallPercent); SystemEvents.AddSystemEvents(SystemEventTypes.Task_Updated_Percent, objectId); } // Если задача была незавершённой, то при удалении людей, процент завершения может // увеличиться и достигнуть 100%. Если при этом не требуется подтверждения менеджера, // то произойдёт завершение задачи if (!taskIsCompleted && !taskMustBeConfirmed && overallPercent == 100) { DBTask.UpdateCompletion(objectId, true, (int)CompletionReason.CompletedAutomatically); Task.CompleteToDo(objectId); Task.RecalculateAllStates(taskProjectId); } DBTask.RecalculateSummaryPercent(objectId); } tran.Commit(); } }
public void VerifyInitialBudget() { IInitialBudget initialBudget = BusinessObjectInitializer.CreateInitialBudget(); ICostCenter costCenter = BusinessObjectInitializer.CreateCostCenter(); IWorkPackage workPackage = BusinessObjectInitializer.CreateWorkPackage(); IProject project = BusinessObjectInitializer.CreateProject(); IProjectCoreTeamMember coreTeamMembers = BusinessObjectInitializer.CreateProjectCoreTeamMember(); DBInitialBudget dbInitialBudget = new DBInitialBudget(connManager); DBGenericEntity dbCostCenterEntity = new DBCostCenter(connManager); DBGenericEntity dbWorkPackageEntity = new DBWorkPackage(connManager); DBGenericEntity dbProjectEntity = new DBProject(connManager); DBProjectCoreTeamMember dbCoreteamMember = new DBProjectCoreTeamMember(connManager); Random random = new Random(); initialBudget.IdAssociate = DATestUtils.DEFAULT_ASSOCIATE; initialBudget.IdPhase = random.Next(1, 9); costCenter.Id = random.Next(1000, 2000); costCenter.Name = DATestUtils.GenerateString(50, true, false); costCenter.Code = DATestUtils.GenerateString(10, true, true); costCenter.IdDepartment = random.Next(1, 1); costCenter.IdInergyLocation = random.Next(1, 2); costCenter.IsActive = true; workPackage.IdPhase = initialBudget.IdPhase; workPackage.Code = DATestUtils.GenerateString(3, true, true); workPackage.Name = DATestUtils.GenerateString(30, true, false); workPackage.Rank = random.Next(1, 100); workPackage.IsActive = true; workPackage.StartYearMonth = random.Next(2000, 2079) * 100 + random.Next(1, 12); workPackage.EndYearMonth = random.Next(2000, 2079) * 100 + random.Next(1, 12); workPackage.LastUpdate = DateTime.Today; workPackage.IdLastUserUpdate = DATestUtils.DEFAULT_ASSOCIATE; project.Name = DATestUtils.GenerateString(50, true, false); project.Code = DATestUtils.GenerateString(10, true, true); project.IdProgram = random.Next(1, 2); project.IdProjectType = random.Next(1, 2); project.IsActive = true; initialBudget.Sales = random.Next(50000, 1000000); initialBudget.TotalHours = random.Next(1, 100); initialBudget.ValuedHours = random.Next(1, 100); initialBudget.YearMonth = DATestUtils.DEFAULT_YEAR_MONTH; int newId = InsertCostCenterTest(costCenter, dbCostCenterEntity); //Verifies that the id returned by the insert method is greater than 0 Assert.Greater(newId, 0); initialBudget.IdCostCenter = newId; newId = InsertProjectTest(project, dbProjectEntity); //Verifies that the id returned by the insert method is greater than 0 Assert.Greater(newId, 0); initialBudget.IdProject = newId; workPackage.IdProject = initialBudget.IdProject; coreTeamMembers.IdProject = initialBudget.IdProject; newId = InsertWorkPackageTest(workPackage, dbWorkPackageEntity); //Verifies that the id returned by the insert method is greater than 0 Assert.Greater(newId, 0); initialBudget.IdWP = newId; InsertInitialBudgetMasterTest(initialBudget, dbInitialBudget); coreTeamMembers.IdAssociate = DATestUtils.DEFAULT_ASSOCIATE; coreTeamMembers.IdFunction = DATestUtils.DEFAULT_PROJECT_FUNCTION; //verify if have core team member DataTable dsCoreMember = SelectProjectCoreTeamMemberTest(coreTeamMembers, dbCoreteamMember).Tables[0]; if (dsCoreMember.Rows.Count == 0) { int IdCoreteammember = InsertProjectCoreTeamMemberTest(coreTeamMembers, dbCoreteamMember); } InsertInitialBudgetTest(initialBudget, dbInitialBudget); UpdateInitialBudgetTest(initialBudget, dbInitialBudget); DBWPPreselection tempTable = new DBWPPreselection(connManager); tempTable.BulkInsert("CREATE TABLE #BUDGET_PRESELECTION_TEMP (IdProject INT NOT NULL, IdPhase INT NOT NULL, IdWP INT NOT NULL)"); tempTable.BulkInsert("INSERT INTO #BUDGET_PRESELECTION_TEMP (IdProject,IdPhase,IdWP) VALUES (" + initialBudget.IdProject.ToString() + "," + initialBudget.IdPhase.ToString() + "," + initialBudget.IdWP.ToString() + ")"); DataSet InitialBudgetDS = SelectInitialBudgetTest(initialBudget, dbInitialBudget); //Verifies that the table is not null DataTable tableVerifyPhases = InitialBudgetDS.Tables[0]; DataTable tableVerifyWorkPackages = InitialBudgetDS.Tables[1]; DataTable tableVerifyCostCenters = InitialBudgetDS.Tables[2]; Assert.IsNotNull(tableVerifyPhases, "The table returned should not be null"); Assert.IsNotNull(tableVerifyWorkPackages, "The table returned should not be null"); Assert.IsNotNull(tableVerifyCostCenters, "The table returned should not be null"); //Verifies that the first table is not null Assert.IsNotNull(tableVerifyPhases, "The table returned should not be null"); //Verifies that the table returns the correcty columns DATestUtils.CheckColumn(tableVerifyPhases, 0, "IdProject"); DATestUtils.CheckColumn(tableVerifyPhases, 1, "IdPhase"); DATestUtils.CheckColumn(tableVerifyPhases, 2, "PhaseName"); DATestUtils.CheckColumn(tableVerifyPhases, 3, "TotalHours"); DATestUtils.CheckColumn(tableVerifyPhases, 4, "Averate"); DATestUtils.CheckColumn(tableVerifyPhases, 5, "ValuedHours"); DATestUtils.CheckColumn(tableVerifyPhases, 6, "OtherCosts"); DATestUtils.CheckColumn(tableVerifyPhases, 7, "Sales"); DATestUtils.CheckColumn(tableVerifyPhases, 8, "NetCosts"); //Verifies that the second table is not null Assert.IsNotNull(tableVerifyWorkPackages, "The table returned should not be null"); //Verifies that the table returns the correcty columns DATestUtils.CheckColumn(tableVerifyWorkPackages, 0, "IdProject"); DATestUtils.CheckColumn(tableVerifyWorkPackages, 1, "IdPhase"); DATestUtils.CheckColumn(tableVerifyWorkPackages, 2, "IdWP"); DATestUtils.CheckColumn(tableVerifyWorkPackages, 3, "WPName"); DATestUtils.CheckColumn(tableVerifyWorkPackages, 4, "StartYearMonth"); DATestUtils.CheckColumn(tableVerifyWorkPackages, 5, "EndYearMonth"); DATestUtils.CheckColumn(tableVerifyWorkPackages, 6, "TotalHours"); DATestUtils.CheckColumn(tableVerifyWorkPackages, 7, "Averate"); DATestUtils.CheckColumn(tableVerifyWorkPackages, 8, "ValuedHours"); DATestUtils.CheckColumn(tableVerifyWorkPackages, 9, "OtherCosts"); DATestUtils.CheckColumn(tableVerifyWorkPackages, 10, "Sales"); DATestUtils.CheckColumn(tableVerifyWorkPackages, 11, "NetCosts"); //Verifies that the third table is not null Assert.IsNotNull(tableVerifyWorkPackages, "The table returned should not be null"); //Verifies that the table returns the correcty columns DATestUtils.CheckColumn(tableVerifyCostCenters, 0, "IdProject"); DATestUtils.CheckColumn(tableVerifyCostCenters, 1, "IdPhase"); DATestUtils.CheckColumn(tableVerifyCostCenters, 2, "IdWP"); DATestUtils.CheckColumn(tableVerifyCostCenters, 3, "IdCostCenter"); DATestUtils.CheckColumn(tableVerifyCostCenters, 4, "CostCenterName"); DATestUtils.CheckColumn(tableVerifyCostCenters, 5, "TotalHours"); DATestUtils.CheckColumn(tableVerifyCostCenters, 6, "Averate"); DATestUtils.CheckColumn(tableVerifyCostCenters, 7, "ValuedHours"); DATestUtils.CheckColumn(tableVerifyCostCenters, 8, "OtherCosts"); DATestUtils.CheckColumn(tableVerifyCostCenters, 9, "Sales"); DATestUtils.CheckColumn(tableVerifyCostCenters, 10, "NetCosts"); DATestUtils.CheckColumn(tableVerifyCostCenters, 11, "IdCurrency"); DATestUtils.CheckColumn(tableVerifyCostCenters, 12, "CurrencyCode"); DeleteInitialBudgetTest(initialBudget, dbInitialBudget); int rowCount = DeleteCostCenterTest(costCenter, dbCostCenterEntity); //Verifies that one and only one row is affected by the delete Assert.AreEqual(1, rowCount); rowCount = DeleteWorkPackageTest(workPackage, dbWorkPackageEntity); //Verifies that one and only one row is affected by the delete Assert.AreEqual(1, rowCount); //Verifies that one and only one row is affected by the delete rowCount = DeleteProjectCoreTeamMemberTest(coreTeamMembers, dbCoreteamMember); Assert.AreEqual(1, rowCount); rowCount = DeleteProjectTest(project, dbProjectEntity); //Verifies that one and only one row is affected by the delete Assert.AreEqual(1, rowCount); }
/// <summary> /// /// </summary> /// <param name="LanguageId"></param> /// <returns></returns> public static IDataReader GetListProjectStatus(int LanguageId) { return(DBProject.GetListProjectStatus(LanguageId)); }