/// <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;
 }
Example #3
0
        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
                });
        }