/// <summary> /// Method to load the resource information based on job id and resource id /// </summary> public void LoadResources() { using (ResourceAllocationModel _resourceAllocationModel = new ResourceAllocationModel()) { IList<CS_Resource> lstResource = new List<CS_Resource>(); if (_view.ResourceTransferId.Count > 0) { CS_Resource resource = new CS_Resource(); _view.HasEquipments = false; for (int i = 0; i < _view.ResourceTransferId.Count; i++) { resource = _resourceAllocationModel.GetResourceByJobAndResourceId(_view.JobId, _view.ResourceTransferId[i]); if (resource.EquipmentID.HasValue) _view.HasEquipments = true; if (null != resource) lstResource.Add(resource); } } if (lstResource.Count > 0) { _view.ResourceListDataSource = lstResource; _view.SelectedResources = lstResource.ToList(); } } }
/// <summary> /// Apply coverage enable/disable panel when equipment assigned to a job /// </summary> private void VerifyIfResourceIsAssignedToJob(CS_Resource resource) { bool IsAssigned = (resource != null) ? true : false; }
private CS_DPIResource CreateAutomaticDPIObject(CS_DPI dpi, CS_Resource resource, DateTime calculationDate) { CS_DPIResource dpiResource = new CS_DPIResource(); dpiResource.DPIID = dpi.ID; if (resource.EquipmentID.HasValue) { dpiResource.EquipmentID = resource.EquipmentID; if (resource.CS_Equipment.Seasonal && resource.CS_Equipment.ComboID.HasValue && resource.CS_Equipment.ID != resource.CS_Equipment.CS_EquipmentCombo.PrimaryEquipmentID && resource.CS_Equipment.DivisionID != resource.CS_Equipment.CS_EquipmentCombo.CS_Equipment_PrimaryEquipment.DivisionID) dpiResource.DivisionID = resource.CS_Equipment.CS_EquipmentCombo.CS_Equipment_PrimaryEquipment.DivisionID; else dpiResource.DivisionID = resource.CS_Equipment.DivisionID; } if (resource.EmployeeID.HasValue) { dpiResource.EmployeeID = resource.EmployeeID; dpiResource.DivisionID = resource.CS_Employee.DivisionID; } dpiResource.CalculationStatus = dpi.CalculationStatus; dpiResource.Hours = 0; dpiResource.IsContinuing = false; dpiResource.Rate = 0; dpiResource.HasHotel = false; dpiResource.Total = 0; dpiResource.CreatedBy = "System"; dpiResource.CreationDate = calculationDate; dpiResource.ModifiedBy = "System"; dpiResource.ModificationDate = calculationDate; dpiResource.Active = true; return dpiResource; }
private List<CS_Resource> CopyResourcesToNewList(List<CS_Resource> oldResources, int toJobId) { List<CS_Resource> list = new List<CS_Resource>(); for (int i = 0; i < oldResources.Count; i++) { CS_Resource oldResource = oldResources[i]; CS_Resource newResource = new CS_Resource() { EmployeeID = oldResource.EmployeeID, EquipmentID = oldResource.EquipmentID, JobID = toJobId, Description = oldResource.Description, Duration = oldResource.Duration, StartDateTime = oldResource.StartDateTime, Type = oldResource.Type, Active = true }; list.Add(newResource); } return list; }
/// <summary> /// Persists changes to Resource Allocation /// </summary> public void SaveResourceAllocation() { IList<CS_Resource> lstResource = new List<CS_Resource>(); IList<CS_Reserve> lstReserve = new List<CS_Reserve>(); IList<int> lstDivisions = new List<int>(); DataTable shoppingCart = _view.ShoppingCart; for (int i = 0; i < shoppingCart.Rows.Count; i++) { DataRow row = shoppingCart.Rows[i]; CS_Resource resource = new CS_Resource(); CS_Reserve reserve = new CS_Reserve(); if (Convert.ToInt32(row["Type"]).Equals((int)Globals.ResourceAllocation.Type.AddEmployee)) { if (row["ID"] != DBNull.Value) resource.ID = Convert.ToInt32(row["ID"]); if (row["EmployeeId"] != DBNull.Value) resource.EmployeeID = Convert.ToInt32(row["EmployeeId"]); if (row["Duration"] != DBNull.Value) resource.Duration = Convert.ToInt32(row["Duration"]); if (row["StartDateTime"] != DBNull.Value) resource.StartDateTime = Convert.ToDateTime(row["StartDateTime"]); if (row["JobId"] != DBNull.Value) resource.JobID = Convert.ToInt32(row["JobId"]); resource.CreatedBy = _view.UserName; resource.ModifiedBy = _view.UserName; resource.CreationDate = DateTime.Now; resource.ModificationDate = DateTime.Now; resource.Active = true; resource.Type = (int)Globals.ResourceAllocation.ResourceType.Employee; if (row["DivisionId"] != DBNull.Value && Convert.ToInt32(row["DivisionId"]) > 0) lstDivisions.Add(Convert.ToInt32(row["DivisionId"])); lstResource.Add(resource); } else if (Convert.ToInt32(row["Type"]).Equals((int)Globals.ResourceAllocation.Type.AddEquipment)) { if (row["ID"] != DBNull.Value) resource.ID = Convert.ToInt32(row["ID"]); if (row["EquipmentId"] != DBNull.Value) resource.EquipmentID = Convert.ToInt32(row["EquipmentId"]); if (row["Duration"] != DBNull.Value) resource.Duration = Convert.ToInt32(row["Duration"]); if (row["StartDateTime"] != DBNull.Value) resource.StartDateTime = Convert.ToDateTime(row["StartDateTime"]); if (row["JobId"] != DBNull.Value) resource.JobID = Convert.ToInt32(row["JobId"]); resource.CreatedBy = _view.UserName; resource.ModifiedBy = _view.UserName; resource.CreationDate = DateTime.Now; resource.ModificationDate = DateTime.Now; resource.Active = true; resource.Type = (int)Globals.ResourceAllocation.ResourceType.Equipment; if (row["DivisionId"] != DBNull.Value && Convert.ToInt32(row["DivisionId"]) > 0) lstDivisions.Add(Convert.ToInt32(row["DivisionId"])); lstResource.Add(resource); } else if (Convert.ToInt32(row["Type"]).Equals((int)Globals.ResourceAllocation.Type.ReserveEquipment)) { if (row["ID"] != DBNull.Value) reserve.ID = Convert.ToInt32(row["ID"]); if (row["EquipmentTypeId"] != DBNull.Value) reserve.EquipmentTypeID = Convert.ToInt32(row["EquipmentTypeId"]); if (row["JobId"] != DBNull.Value) reserve.JobID = Convert.ToInt32(row["JobId"]); if (row["Duration"] != DBNull.Value) reserve.Duration = Convert.ToInt32(row["Duration"]); if (row["StartDateTime"] != DBNull.Value) reserve.StartDateTime = Convert.ToDateTime(row["StartDateTime"]); if (row["DivisionId"] != DBNull.Value) reserve.DivisionID = Convert.ToInt32(row["DivisionId"]); reserve.CreateBy = _view.UserName; reserve.CreationDate = DateTime.Now; reserve.ModificationDate = DateTime.Now; reserve.ModifiedBy = _view.UserName; reserve.Active = true; reserve.Type = (int)Globals.ResourceAllocation.ResourceType.Equipment; if (row["DivisionId"] != DBNull.Value && Convert.ToInt32(row["DivisionId"]) > 0) lstDivisions.Add(Convert.ToInt32(row["DivisionId"])); lstReserve.Add(reserve); } else if (Convert.ToInt32(row["Type"]).Equals((int)Globals.ResourceAllocation.Type.ReserveEmployee)) { if (row["ID"] != DBNull.Value) reserve.ID = Convert.ToInt32(row["ID"]); if (row["EmployeeId"] != DBNull.Value) reserve.EmployeeID = Convert.ToInt32(row["EmployeeId"]); if (row["JobId"] != DBNull.Value) reserve.JobID = Convert.ToInt32(row["JobId"]); if (row["Duration"] != DBNull.Value) reserve.Duration = Convert.ToInt32(row["Duration"]); if (row["StartDateTime"] != DBNull.Value) reserve.StartDateTime = Convert.ToDateTime(row["StartDateTime"]); if (row["DivisionId"] != DBNull.Value) reserve.DivisionID = Convert.ToInt32(row["DivisionId"]); reserve.CreateBy = _view.UserName; reserve.ModifiedBy = _view.UserName; reserve.CreationDate = DateTime.Now; reserve.ModificationDate = DateTime.Now; reserve.Active = true; reserve.Type = (int)Globals.ResourceAllocation.ResourceType.Employee; if (row["DivisionId"] != DBNull.Value && Convert.ToInt32(row["DivisionId"]) > 0) lstDivisions.Add(Convert.ToInt32(row["DivisionId"])); lstReserve.Add(reserve); } } _resourceAllocationModel.SaveOrUpdateResourceAllocation(_view.JobID, lstReserve, lstResource, _view.UserName, lstDivisions, _view.Notes, true, _view.CallDate, _view.IsSubContractor, _view.SubContractorInfo, _view.FieldPO); }
/// <summary> /// Fills the Shopping Cart List with Resource Entity /// </summary> /// <param name="dtShoppingCart">Shopping Cart List</param> /// <param name="csResource">Resource Entity to fill Shopping Cart</param> private void FillShoppingCartWithResourceInfo(DataTable dtShoppingCart, CS_Resource csResource) { DataRow newRow = dtShoppingCart.NewRow(); newRow["Id"] = csResource.ID; if (csResource.EmployeeID.HasValue) { newRow["EmployeeId"] = csResource.EmployeeID.Value; newRow["UnitNumber"] = string.Empty; } if (csResource.EquipmentID.HasValue) { newRow["EquipmentID"] = csResource.EquipmentID.Value; if (csResource.CS_Equipment.ComboID.HasValue) newRow["UnitNumber"] = csResource.CS_Equipment.CS_EquipmentCombo.Name + " - " + csResource.CS_Equipment.Name; else newRow["UnitNumber"] = csResource.CS_Equipment.Name; } newRow["JobID"] = csResource.JobID; newRow["Type"] = (int)_type; newRow["Duration"] = csResource.Duration; newRow["StartDateTime"] = csResource.StartDateTime; newRow["Name"] = string.Format("Added Resource - {0} {1}", _divisionNumber, _name); newRow["DivisionId"] = (int)_divisionId; dtShoppingCart.Rows.Add(newRow); }
/// <summary> /// Fills Resource Entity with Equipment Entity /// </summary> /// <param name="csResource">Resource Entity to be populated</param> private void FillResourcesWithEquipmentInfo(CS_Resource csResource) { _type = Globals.ResourceAllocation.Type.AddEquipment; CS_Equipment equipment = _equipmentModel.GetEquipment(csResource.EquipmentID.Value); if (null != equipment) { CS_Division division = equipment.CS_Division;//_divisionModel.GetDivision(equipment.DivisionID); if (null != division) { _divisionId = division.ID; _divisionNumber = division.Name; if (division.StateID.HasValue) { CS_State state = division.CS_State;//_locationModel.GetState(division.StateID.Value); if (null != state) _divisionNumber += " " + state.Acronym; } } _name = equipment.Description; } }
/// <summary> /// Fills Resource Entity with Employee Entity /// </summary> /// <param name="csResource">Resource Entity to be populated</param> private void FillResourcesWithEmployeeInfo(CS_Resource csResource) { _type = Globals.ResourceAllocation.Type.AddEmployee; CS_Employee employeeEntity = _employeeModel.GetEmployee(csResource.EmployeeID.Value); if (null != employeeEntity) { if (employeeEntity.DivisionID.HasValue) { CS_Division division = employeeEntity.CS_Division;//_divisionModel.GetDivision(employeeEntity.DivisionID.Value); if (null != division) { _divisionNumber = division.Name; if (division.StateID.HasValue) { CS_State state = division.CS_State;//_locationModel.GetState(division.StateID.Value); if (null != state) _divisionNumber += " " + state.Acronym; } } } _name = employeeEntity.FullName; } }
public void Initialize() { // Step 1 - Clear Tables JobInfoDao.Singleton.ClearAll(); ResourceDao.Singleton.ClearAll(); EmployeeDao.Singleton.ClearAll(); // Step 2 - Adding controlled data country = CountryDao.Singleton.Add( new CS_Country() { Active = true, Name = "USA", CreatedBy = "Load", CreationDate = DateTime.Now, ModifiedBy = "Load", ModificationDate = DateTime.Now }); state = StateDao.Singleton.Add( new CS_State() { Active = true, Acronym = "TX", Name = "Texas", CountryID = country.ID, CreatedBy = "Load", CreationDate = DateTime.Now, ModifiedBy = "Load", ModificationDate = DateTime.Now }); division = DivisionDao.Singleton.Add( new CS_Division() { Active = true, CountryID = country.ID, Description = "DIV1", StateID = state.ID, Name = "001", CreatedBy = "Load", CreationDate = DateTime.Now, ModifiedBy = "Load", ModificationDate = DateTime.Now }); employee1 = EmployeeDao.Singleton.Add( new CS_Employee() { Active = true, FirstName = "a", Name = "b", DivisionID = division.ID, BusinessCardTitle = "Laborer", CreatedBy = "Load", CreationDate = DateTime.Now, ModifiedBy = "Load", ModificationDate = DateTime.Now }); employee2 = EmployeeDao.Singleton.Add( new CS_Employee() { Active = true, FirstName = "c", Name = "d", DivisionID = division.ID, BusinessCardTitle = "Regional Vice President", CreatedBy = "Load", CreationDate = DateTime.Now, ModifiedBy = "Load", ModificationDate = DateTime.Now }); jobStatus = JobStatusDao.Singleton.Add( new CS_JobStatus() { Active = true, Description = "Active", CreatedBy = "Load", CreationDate = DateTime.Now, ModifiedBy = "Load", ModificationDate = DateTime.Now }); priceType = PriceTypeDao.Singleton.Add( new CS_PriceType() { Active = true, Acronym = "X", Description = "X", CreatedBy = "Load", CreationDate = DateTime.Now, ModifiedBy = "Load", ModificationDate = DateTime.Now }); jobCategory = JobCategoryDao.Singleton.Add( new CS_JobCategory() { Active = true, Description = "X", CreatedBy = "Load", CreationDate = DateTime.Now, ModifiedBy = "Load", ModificationDate = DateTime.Now }); jobType = JobTypeDao.Singleton.Add( new CS_JobType() { Active = true, Description = "X", CreatedBy = "Load", CreationDate = DateTime.Now, ModifiedBy = "Load", ModificationDate = DateTime.Now }); jobAction = JobActionDao.Singleton.Add( new CS_JobAction() { Active = true, Description = "X", CreatedBy = "Load", CreationDate = DateTime.Now, ModifiedBy = "Load", ModificationDate = DateTime.Now }); job = JobDao.Singleton.Add( new CS_Job() { Active = true, Number = "000001", CreatedBy = "Load", CreationDate = DateTime.Now, ModifiedBy = "Load", ModificationDate = DateTime.Now }); jobInfo = JobInfoDao.Singleton.Add( new CS_JobInfo() { Active = true, JobID = job.ID, JobStatusID = jobStatus.ID, PriceTypeID = priceType.ID, JobCategoryID = jobCategory.ID, JobTypeID = jobType.ID, JobActionID = jobAction.ID, InitialCallDate = DateTime.Now, InitialCallTime = new TimeSpan(0, 1, 10, 0, 0), InterimBill = false, ProjectManager = employee2.ID, EmployeeID = employee2.ID, CreatedBy = "Load", CreationDate = DateTime.Now, ModifiedBy = "Load", ModificationDate = DateTime.Now }); resource = ResourceDao.Singleton.Add( new CS_Resource() { Active = true, EmployeeID = employee1.ID, JobID = job.ID, CreatedBy = "Load", CreationDate = DateTime.Now, ModifiedBy = "Load", ModificationDate = DateTime.Now }); }