예제 #1
0
        public List <EquipmentBillRate> GetBillRateList(int projectId)
        {
            List <EquipmentBillRate> list;
            ProjectEquipmentClass    projClass = ProjectEquipmentClass.GetProjectEquipmentClass(projectId, ClassCode);

            if (!UseOveride && (projClass?.UseOverride ?? false) == false)
            {
                list = EquipmentGroupBillRate.GetBillRatesForGroup(projectId, ClassCode, CategoryCode).Select(r => new EquipmentBillRate {
                    BillCycle = r.BillCycle, BillRate = r.BillRate, IsDefault = r.IsDefault
                }).ToList();
                if (list.Any())     //Link to project * group(class or category)
                {
                    return(list);
                }

                list = EquipmentGroupBillRate.GetBillRatesForGroup(null, ClassCode, CategoryCode).Select(r => new EquipmentBillRate {
                    BillCycle = r.BillCycle, BillRate = r.BillRate, IsDefault = r.IsDefault
                }).ToList();
                if (list.Any())     // Link to Group (class or category)
                {
                    return(list);
                }
            }

            list = EquipmentBillRate.GetBillRatesForEquipment(EqpNum);          // link to Equip
            if (list.Any())
            {
                return(list);
            }

            return(EquipmentDefaultBillRate.GetDefaultBillRates().Select(r => new EquipmentBillRate {
                BillCycle = r.BillCycle, BillRate = r.BillRate, IsDefault = r.IsDefault
            }).ToList());                                                                                                                                                                  // Link to Default
        }
예제 #2
0
        public static bool CopyDataFromTemplate(int projectId, DateTime currDate, int currHeaderId)
        {
            var filtered = EquipmentTemplate.GetTemplate(projectId, currDate);

            if (filtered.Count > 0)
            {
                Project project = Project.GetProject(projectId);

                foreach (var src in filtered)
                {
                    Equipment equip    = GetEquipment(src.EqpNum);
                    Employee  employee = (equip.OwnerType == EnumOwnerType.Employee) ? EquipmentAssignment.GetEmployee(equip.EqpNum, currDate) : null;
                    var       pec      = ProjectEquipmentClass.GetProjectEquipmentClass(projectId, src.EquipClassCode);
                    SqlInsert(currHeaderId, src.EqpNum, employee?.EmpNum, null, null, null, null, null, project.Billable, 0, pec.BillCycle, null);
                }
                return(true);
            }

            return(false);
        }
예제 #3
0
        public EnumBillCycle GetDefaultBillCycle(int projectId)
        {
            ProjectEquipmentClass projClass = ProjectEquipmentClass.GetProjectEquipmentClass(projectId, ClassCode);

            return(projClass.BillCycle);
        }