Ejemplo n.º 1
0
        /// <summary>
        ///  Insert District_Equipment_Type or not according to the rule laid out by HETS-365
        /// </summary>
        /// <param name="dbContext"></param>
        /// <param name="oldObject"></param>
        /// <param name="instance"></param>
        /// <param name="equip_Rental_rate_No"></param>
        /// <param name="description"></param>
        /// <param name="serviceAreaName"></param>
        /// <param name="updateImportMaps"></param>
        static private void AddingDistrictEquipmentTypeInstance(DbAppContext dbContext, HETSAPI.Import.EquipType oldObject,
                                                                Models.DistrictEquipmentType instance, float equip_Rental_rate_No, string description, string serviceAreaName, bool addImportMaps)
        {
            // Add the instance according to the rule of HETS-365
            var disEquipTypelist = dbContext.DistrictEquipmentTypes
                                   .Where(x => x.DistrictId == instance.DistrictId)
                                   .Where(x => x.DistrictEquipmentName.Substring(0, Math.Max(0, x.DistrictEquipmentName.IndexOf(delim))).IndexOf(instance.DistrictEquipmentName) >= 0)
                                   .Include(x => x.EquipmentType)
                                   .ToList();

            if (disEquipTypelist.Count == 0)  //HETS-365 Step 1.
            {
                instance.DistrictEquipmentName += delim + description;
                dbContext.DistrictEquipmentTypes.Add(instance);
                if (addImportMaps)
                {
                    ImportUtility.AddImportMap(dbContext, oldTable, oldObject.Equip_Type_Id.ToString(), newTable, instance.Id);
                }
            }
            else               //HETS-365 Step 2.
            {
                var list1 = disEquipTypelist
                            .FindAll(x => Math.Abs((x.EquipmentType.BlueBookSection ?? 0.1) - equip_Rental_rate_No) <= errowAllowed);
                //     .OrderBy(x => x.Id);
                if (list1.Count > 0 && addImportMaps)  //HETS-365 Step 2.1
                {
                    ImportUtility.AddImportMap(dbContext, oldTable, oldObject.Equip_Type_Id.ToString(), newTable, list1.OrderBy(x => x.Id).FirstOrDefault().Id);
                }

                //Check if XML.Description matches any of the HETS.Descriptions
                var list2 = disEquipTypelist.FindAll(x => x.DistrictEquipmentName.Substring(x.DistrictEquipmentName.IndexOf(delim) + delim.Length).IndexOf(description) > 0);
                if (list2.Count > 0 && addImportMaps)  //HETS-365 Step 2.1
                {
                    ImportUtility.AddImportMap(dbContext, oldTable, oldObject.Equip_Type_Id.ToString(), newTable, list2.OrderBy(x => x.Id).FirstOrDefault().Id);
                }
                if (list1.Count == 0 && list2.Count == 0)  //HETS-365 Step 3
                {
                    instance.DistrictEquipmentName += delim0 + serviceAreaName + delim + description;
                    dbContext.DistrictEquipmentTypes.Add(instance);
                    if (addImportMaps)
                    {
                        ImportUtility.AddImportMap(dbContext, oldTable, oldObject.Equip_Type_Id.ToString(), newTable, instance.Id);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        static private void CopyToInstance(PerformContext performContext, DbAppContext dbContext, HETSAPI.Import.EquipType oldObject, ref Models.EquipmentType instance, string systemId)
        {
            bool isNew = false;

            if (oldObject.Equip_Type_Id <= 0)
            {
                return;
            }

            //Add the user specified in oldObject.Modified_By and oldObject.Created_By if not there in the database
            Models.User modifiedBy = ImportUtility.AddUserFromString(dbContext, oldObject.Modified_By, systemId);
            Models.User createdBy  = ImportUtility.AddUserFromString(dbContext, oldObject.Created_By, systemId);

            if (instance == null)
            {
                isNew                = true;
                instance             = new Models.EquipmentType();
                instance.Id          = oldObject.Equip_Type_Id;
                instance.IsDumpTruck = false;   // Where this is coming from?   !!!!!!
                try
                {
                    instance.ExtendHours  = float.Parse(oldObject.Extend_Hours.Trim());
                    instance.MaximumHours = float.Parse(oldObject.Max_Hours.Trim());
                    instance.MaxHoursSub  = float.Parse(oldObject.Max_Hours_Sub.Trim());
                }
                catch
                {
                }
                try
                {
                    instance.Name = oldObject.Equip_Type_Cd.Trim();
                }
                catch
                {
                }

                instance.CreateTimestamp = DateTime.UtcNow;
                instance.CreateUserid    = createdBy.SmUserId;
                dbContext.EquipmentTypes.Add(instance);
            }
            else
            {
                instance = dbContext.EquipmentTypes
                           .First(x => x.Id == oldObject.Equip_Type_Id);
                instance.LastUpdateUserid = modifiedBy.SmUserId;
                try
                {
                    instance.LastUpdateTimestamp = DateTime.ParseExact(oldObject.Modified_Dt.Trim().Substring(0, 10), "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture);
                }
                catch
                {
                }
                dbContext.EquipmentTypes.Update(instance);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// /// <summary>
        /// Copy xml item to instance (table entries)
        /// </summary>
        /// <param name="performContext"></param>
        /// <param name="dbContext"></param>
        /// <param name="oldObject"></param>
        /// <param name="instance"></param>
        /// <param name="systemId"></param>
        /// <param name="equip_Rental_rate_No"></param>
        /// <param name="description"></param>
        /// <returns></returns>
        static private string CopyToInstance(PerformContext performContext, DbAppContext dbContext, HETSAPI.Import.EquipType oldObject,
                                             ref Models.DistrictEquipmentType instance, string systemId, float equip_Rental_rate_No, string description)
        {
            string serviceAreaName = "";
            bool   isNew           = false;

            if (oldObject.Equip_Type_Id <= 0)
            {
                return(serviceAreaName);
            }

            //Add the user specified in oldObject.Modified_By and oldObject.Created_By if not there in the database
            Models.User modifiedBy = ImportUtility.AddUserFromString(dbContext, oldObject.Modified_By, systemId);
            Models.User createdBy  = ImportUtility.AddUserFromString(dbContext, oldObject.Created_By, systemId);

            if (instance == null)
            {
                isNew       = true;
                instance    = new Models.DistrictEquipmentType();
                instance.Id = oldObject.Equip_Type_Id;
                string typeCode = "";
                try
                {
                    typeCode = oldObject.Equip_Type_Cd.Length >= 20 ? oldObject.Equip_Type_Cd.Substring(0, 20) : oldObject.Equip_Type_Cd;
                }
                catch (Exception e)
                {
                    string ll = e.ToString();
                }

                ServiceArea serviceArea = dbContext.ServiceAreas.FirstOrDefault(x => x.MinistryServiceAreaID == oldObject.Service_Area_Id);
                if (serviceArea != null)
                {
                    serviceAreaName = serviceArea.Name;
                    instance.DistrictEquipmentName = typeCode;

                    int      districtId = serviceArea.DistrictId ?? 0;
                    District dis        = dbContext.Districts.FirstOrDefault(x => x.RegionId == districtId);
                    instance.DistrictId = districtId;
                    instance.District   = dis;
                }

                //    instance.EquipmentType =
                instance.CreateTimestamp = DateTime.UtcNow;
                instance.CreateUserid    = createdBy.SmUserId;
                Models.DistrictEquipmentType dt = new DistrictEquipmentType();
                if (oldObject.Equip_Type_Cd != null)
                {
                    EquipmentType eType = dbContext.EquipmentTypes.FirstOrDefault(x => (Math.Abs((x.BlueBookSection ?? 0.1) - equip_Rental_rate_No)) <= errowAllowed);
                    if (eType == null)
                    {
                        eType = dbContext.EquipmentTypes.FirstOrDefault(x => (Math.Abs((x.BlueBookSection ?? 0.1) - defaultBlueBoxSection)) <= errowAllowed);
                    }
                    //else    //Just in case we need to update the table of EQUIPMENT_TYPE
                    //{
                    //    if (eType.BlueBookRateNumber == 0.0)  // Update etype with BLUE_BOOK_RATE_NUMBER, MAXIMUN
                    //    {
                    //        try
                    //        {
                    //            eType.MaximumHours = (float)Decimal.Parse(oldObject.Max_Hours, System.Globalization.NumberStyles.Any);
                    //        }
                    //        catch (Exception e)
                    //        {
                    //            string ii = e.ToString();
                    //        }
                    //        try
                    //        {
                    //            eType.MaxHoursSub = (float)Decimal.Parse(oldObject.Max_Hours_Sub, System.Globalization.NumberStyles.Any);
                    //        }
                    //        catch (Exception e)
                    //        {
                    //            string ii = e.ToString();
                    //        }
                    //        try
                    //        {
                    //            eType.ExtendHours = (float)Decimal.Parse(oldObject.Extend_Hours, System.Globalization.NumberStyles.Any);
                    //        }
                    //        catch (Exception e)
                    //        {
                    //            string ii = e.ToString();
                    //        }
                    //        eType.LastUpdateTimestamp = DateTime.ParseExact(oldObject.Created_Dt == null ? "1900-01-01" : oldObject.Created_Dt.Trim().Substring(0, 10), "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture);
                    //        eType.LastUpdateUserid = createdBy.SmUserId;
                    //        //Update some content of the Equipment Type
                    //        dbContext.EquipmentTypes.Update(eType);
                    //    }
                    //}
                    instance.EquipmentTypeId = eType.Id;
                }
            }
            return(serviceAreaName);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Copy xml item to instance (table entries)
        /// </summary>
        /// <param name="performContext"></param>
        /// <param name="dbContext"></param>
        /// <param name="oldObject"></param>
        /// <param name="instance"></param>
        /// <param name="systemId"></param>
        static private void CopyToInstance(PerformContext performContext, DbAppContext dbContext, HETSAPI.Import.EquipType oldObject, ref Models.DistrictEquipmentType instance, string systemId)
        {
            bool isNew = false;

            if (oldObject.Equip_Type_Id <= 0)
            {
                return;
            }

            //Add the user specified in oldObject.Modified_By and oldObject.Created_By if not there in the database
            Models.User modifiedBy = ImportUtility.AddUserFromString(dbContext, oldObject.Modified_By, systemId);
            Models.User createdBy  = ImportUtility.AddUserFromString(dbContext, oldObject.Created_By, systemId);

            if (instance == null)
            {
                isNew       = true;
                instance    = new Models.DistrictEquipmentType();
                instance.Id = oldObject.Equip_Type_Id;



                try  //Combining <Equip_Type_Cd> and < Equip_Type_Desc> together
                {
                    instance.DistrictEquipmentName = oldObject.Equip_Type_Cd.Length >= 10 ? oldObject.Equip_Type_Cd.Substring(0, 10) : oldObject.Equip_Type_Cd
                                                     + "-" + (oldObject.Equip_Type_Desc.Length >= 210 ? oldObject.Equip_Type_Desc.Substring(0, 210) : oldObject.Equip_Type_Desc);
                    // instance.DistrictEquipmentName = oldObject.ToDelimString(" | ");
                }
                catch
                {
                }

                ServiceArea serviceArea = dbContext.ServiceAreas.FirstOrDefault(x => x.MinistryServiceAreaID == oldObject.Service_Area_Id);
                if (serviceArea != null)
                {
                    int      districtId = serviceArea.DistrictId ?? 0;
                    District dis        = dbContext.Districts.FirstOrDefault(x => x.RegionId == districtId);
                    instance.DistrictId = districtId;
                    instance.District   = dis;
                }

                //    instance.EquipmentType =
                instance.CreateTimestamp = DateTime.UtcNow;
                instance.CreateUserid    = createdBy.SmUserId;
                dbContext.DistrictEquipmentTypes.Add(instance);
            }
        }