コード例 #1
0
ファイル: Import.svc.cs プロジェクト: AlohaGEM-CRM/Summit
 /// <summary>
 /// Sync the data from EMS file with data into database, if file was imported before.
 /// </summary>
 /// <param name="objInProcessUser"></param>
 /// <param name="objImportData"></param>
 private void updateEMSData(InProcessUsersBL objInProcessUser, ImportData objImportData)
 {
     try
     {
         if (objInProcessUser.iUserId.HasValue && updateUserData(objInProcessUser.iUserId.Value, objImportData))
         {
             if (objInProcessUser.iVehicleId.HasValue)
             {
                 updateVehicleStatus(objInProcessUser.iVehicleId.Value, objInProcessUser.iShopId.Value, objImportData);
                 updateVehicleData(objInProcessUser.iVehicleId.Value, objImportData);
             }
             updateInsuranceData(objInProcessUser.iUserId.Value, objImportData);
         }
     }
     catch (Exception ex)
     {
         Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionPolicy.HandleException(ex, SummitShopApp.Utility.Constants.ExceptionPolicy);
     }
 }
コード例 #2
0
ファイル: Import.svc.cs プロジェクト: AlohaGEM-CRM/Summit
        public VehicleInfoBL SaveVehicleinfo(VehicleInfoBL objVehicleInfo, ImportData objImportData, UserBL objUser)
        {
            objVehicleInfo.iUserId          = objUser.ID;
            objVehicleInfo.strYear          = objImportData.Year;
            objVehicleInfo.strMake          = objImportData.Make;
            objVehicleInfo.strModel         = objImportData.Model;
            objVehicleInfo.strStyle         = objImportData.Style;
            objVehicleInfo.strColor         = objImportData.Color;
            objVehicleInfo.strPaintCode     = objImportData.Paint_Code;
            objVehicleInfo.strVIN           = objImportData.VIN;
            objVehicleInfo.strEstimatorName = objImportData.EstimatorName.Trim();
            objVehicleInfo.strLicense       = objImportData.License;
            DateTime dtProductionDate;

            objVehicleInfo.dtProductionDate = DateTime.TryParse("", out dtProductionDate) ? dtProductionDate : (Nullable <DateTime>)null;
            objVehicleInfo.bIsUsing         = true;
            objVehicleInfo.Save();
            return(objVehicleInfo);
        }
コード例 #3
0
ファイル: Import.svc.cs プロジェクト: AlohaGEM-CRM/Summit
        private Boolean updateVehicleStatus(Int32 iVehicleId, Int32 iShopId, ImportData objImportData)
        {
            try
            {
                UserVehicleStatusBL objCustomerVehicleStatus = UserVehicleStatusBL.getDataByVehicleId(iVehicleId);
                if (objCustomerVehicleStatus != null)
                {
                    DateTime dtOut;
                    objCustomerVehicleStatus.dtDateIn  = DateTime.TryParse(objImportData.Scheduled_In_Date, out dtOut) ? dtOut : (Nullable <DateTime>)null;
                    objCustomerVehicleStatus.dtDateOut = DateTime.TryParse(objImportData.Target_Delivery_Date, out dtOut) ? dtOut : (Nullable <DateTime>)null;
                    objCustomerVehicleStatus.dtActual_Delivery_Date = DateTime.TryParse(objImportData.Actual_Delivery_Date, out dtOut) ? dtOut : (Nullable <DateTime>)null;
                    objCustomerVehicleStatus.dtFile_Import_Date     = DateTime.TryParse(objImportData.File_Import_date, out dtOut) ? dtOut : (Nullable <DateTime>)null;
                    objCustomerVehicleStatus.dtFile_Import_Time     = DateTime.TryParse(objImportData.File_Import_Time, out dtOut) ? dtOut : (Nullable <DateTime>)null;
                    objCustomerVehicleStatus.dtRepair_Start_Date    = DateTime.TryParse(objImportData.Repair_Start_Date, out dtOut) ? dtOut : (Nullable <DateTime>)null;
                    objCustomerVehicleStatus.dtDeliveryDate         = DateTime.TryParse(objImportData.Actual_Delivery_Date, out dtOut) ? dtOut : (Nullable <DateTime>)null;
                    objCustomerVehicleStatus.iETA_Hours             = Convert.ToInt32(objImportData.ETA_Hours);
                    objCustomerVehicleStatus.iRO_Hours      = Convert.ToInt32(objImportData.RO_Hours);
                    objCustomerVehicleStatus.strFile_Status = objImportData.File_Status;
                    objCustomerVehicleStatus.Save();


                    //Set Show InProcess true for current vehicle
                    //MarketingUsers objMarUser = MarketingUsers.getDataByShopUserAndVehicleId(iShopId, Convert.ToInt32(objCustomerVehicleStatus.iUserId), iVehicleId);
                    //objMarUser.bisShowInProcess = true;
                    //return objMarUser.Save();
                }
                else
                {
                    //SaveVehicleStatus(VehicleInfoBL objVehicleInfo, ImportData objImportData, UserBL objUser, String strShopId)
                    //Insert new record in UserVehicleStatus table
                    AddnewRecordInVehicleStatus(iVehicleId, iShopId, objImportData);
                }
            }
            catch (Exception ex)
            {
                Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionPolicy.HandleException(ex, SummitShopApp.Utility.Constants.ExceptionPolicy);
            }
            return(false);
        }
コード例 #4
0
ファイル: Import.svc.cs プロジェクト: AlohaGEM-CRM/Summit
        /// <summary>
        /// Validate Data before Import
        /// </summary>
        /// <param name="objImportData"></param>
        /// <returns></returns>
        public String ValidateData(ImportData objImportData)
        {
            String strError = String.Empty;

            if (String.IsNullOrEmpty(objImportData.First_Name) || objImportData.First_Name.Length > 50)
            {
                strError = strError + Constants.ERROR_FIRSTNAME + Constants.BR;
            }
            if (String.IsNullOrEmpty(objImportData.Last_Name) || objImportData.Last_Name.Length > 50)
            {
                strError = strError + Constants.ERROR_LASTNAME + Constants.BR;
            }
            if (String.IsNullOrEmpty(objImportData.Year) || (!String.IsNullOrEmpty(objImportData.Year) && !StringProcessing.StringFunctions.IsNumeric(objImportData.Year.Trim())))
            {
                strError = strError + Constants.ERROR_YEAR + Constants.BR;
            }
            if (String.IsNullOrEmpty(objImportData.Make) || objImportData.Make.Length > 50)
            {
                strError = strError + Constants.ERROR_MAKE + Constants.BR;
            }
            if (String.IsNullOrEmpty(objImportData.Model) || objImportData.Model.Length > 50)
            {
                strError = strError + Constants.ERROR_MODEL + Constants.BR;
            }
            if (String.IsNullOrEmpty(objImportData.Mobile) || (!String.IsNullOrEmpty(objImportData.Mobile) && !(StringProcessing.StringFunctions.IsNumeric(objImportData.Mobile.Trim()) && objImportData.Mobile.Trim().Length == 10)))
            {
                strError = strError + Constants.ERROR_PHONE + Constants.BR;
            }
            if ((!String.IsNullOrEmpty(objImportData.Email) && !StringProcessing.StringFunctions.IsEmailAddress(objImportData.Email)))
            {
                strError = strError + Constants.ERROR_EMAIL + Constants.BR;
            }

            strError = ValidateDates(objImportData, strError);
            strError = ValidateNonRequiredFields(objImportData, strError);

            return(strError);
        }
コード例 #5
0
ファイル: Import.svc.cs プロジェクト: AlohaGEM-CRM/Summit
        /// <summary>
        /// Update Insurance Information
        /// </summary>
        /// <param name="iUserId"></param>
        /// <param name="objImportData"></param>
        /// <returns></returns>
        private Boolean updateInsuranceData(Int32 iUserId, ImportData objImportData)
        {
            try
            {
                //Get InsuranceInfo object from database using user_id
                InsuranceInformationBL objInsurance = InsuranceInformationBL.getDataByUserId(iUserId);
                if (objInsurance == null)
                {
                    //Create new object for Insurance if information is not addedpreviously.
                    objInsurance         = new InsuranceInformationBL();
                    objInsurance.iUserId = iUserId;
                }
                if (!String.IsNullOrEmpty(objImportData.Insurance_Company))
                {
                    objInsurance.strCompanyName = objImportData.Insurance_Company;
                }
                if (!String.IsNullOrEmpty(objImportData.Insurance_Company_Address))
                {
                    objInsurance.strCompanyAddress = objImportData.Insurance_Company_Address;
                }

                if (!String.IsNullOrEmpty(objImportData.Insurance_Company_City))
                {
                    objInsurance.strCompanyCity = objImportData.Insurance_Company_City;
                }

                if (!String.IsNullOrEmpty(objImportData.Insurance_Company_State))
                {
                    objInsurance.strCompanyState = objImportData.Insurance_Company_State;
                }

                if (!String.IsNullOrEmpty(objImportData.Insurance_Company_Zip))
                {
                    objInsurance.strCompanyZip = objImportData.Insurance_Company_Zip;
                }

                if (!String.IsNullOrEmpty(objImportData.Insurance_Company_Email))
                {
                    objInsurance.strCompanyEmail = objImportData.Insurance_Company_Email;
                }

                if (!String.IsNullOrEmpty(objImportData.Insurance_Company_Contact))
                {
                    objInsurance.strCompanyCellPhone = objImportData.Insurance_Company_Contact;
                }

                if (!String.IsNullOrEmpty(objImportData.Insurance_Company_Fax))
                {
                    objInsurance.strCompanyFax = objImportData.Insurance_Company_Fax;
                }

                if (!String.IsNullOrEmpty(objImportData.Agent))
                {
                    objInsurance.strAgentName = objImportData.Agent;
                }

                if (!String.IsNullOrEmpty(objImportData.Claim_Number))
                {
                    objInsurance.strClaimNumber = objImportData.Claim_Number;
                }

                if (!String.IsNullOrEmpty(objImportData.RO_Number))
                {
                    objInsurance.strROIdentifier = objImportData.RO_Number;
                }

                if (!String.IsNullOrEmpty(objImportData.Total_Amount))
                {
                    objInsurance.strNetTotalAmount = objImportData.Total_Amount;
                }


                if (!String.IsNullOrEmpty(objImportData.Total_RO_Amount))
                {
                    objInsurance.strTotalROAmount = objImportData.Total_RO_Amount;
                }

                if (!String.IsNullOrEmpty(objImportData.Date_Of_Loss))
                {
                    DateTime dtDateofLoss;
                    objInsurance.dtDateOfLoss = DateTime.TryParse(objImportData.Date_Of_Loss, out dtDateofLoss) ? dtDateofLoss : (Nullable <DateTime>)null;
                }
                if (!String.IsNullOrEmpty(objImportData.Deductible))
                {
                    Decimal dDeductible;
                    objInsurance.dDeductible = Decimal.TryParse(objImportData.Deductible, out dDeductible) ? dDeductible : (Nullable <Decimal>)null;
                }
                return(objInsurance.Save());
            }
            catch (Exception ex)
            {
                Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionPolicy.HandleException(ex, SummitShopApp.Utility.Constants.ExceptionPolicy);
            }
            return(false);
        }
コード例 #6
0
ファイル: Import.svc.cs プロジェクト: AlohaGEM-CRM/Summit
        public String ValidateNonRequiredFields(ImportData objImportData, String strError)
        {
            if (!String.IsNullOrEmpty(objImportData.Claim_Number) && objImportData.Claim_Number.Length > 50)
            {
                strError = strError + Constants.ERROR + ": Claim number " + Constants.MUST_BE_INRANGE + Constants.BR;
            }
            if (!String.IsNullOrEmpty(objImportData.RO_Number) && objImportData.RO_Number.Length > 50)
            {
                strError = strError + Constants.ERROR + ":RO number " + Constants.MUST_BE_INRANGE + Constants.BR;
            }
            if (!String.IsNullOrEmpty(objImportData.Agent_Email) && StringProcessing.StringFunctions.IsEmailAddress(objImportData.Agent_Email.Trim()))
            {
                strError = strError + Constants.INVALID + " Agent Email " + Constants.BR;
            }
            if (!String.IsNullOrEmpty(objImportData.City) && objImportData.City.Length > 50)
            {
                strError = strError + Constants.ERROR + ": City " + Constants.MUST_BE_INRANGE + Constants.BR;
            }
            if (!String.IsNullOrEmpty(objImportData.Color) && objImportData.Color.Length > 50)
            {
                strError = strError + Constants.ERROR + ": Color " + Constants.MUST_BE_INRANGE + Constants.BR;
            }
            if (!String.IsNullOrEmpty(objImportData.Agent) && objImportData.Agent.Length > 50)
            {
                strError = strError + Constants.ERROR + ": Agent name " + Constants.MUST_BE_INRANGE + Constants.BR;
            }
            if (!String.IsNullOrEmpty(objImportData.Insurance_Company) && objImportData.Insurance_Company.Length > 50)
            {
                strError = strError + Constants.ERROR + ": Insurance Company name " + Constants.MUST_BE_INRANGE + Constants.BR;
            }
            if (!String.IsNullOrEmpty(objImportData.Insurance_Company_Address) && objImportData.Insurance_Company_Address.Length > 50)
            {
                strError = strError + Constants.ERROR + ": Insurance Company address must be less than 200 characters " + Constants.BR;
            }
            if (!String.IsNullOrEmpty(objImportData.Insurance_Company_City) && objImportData.Insurance_Company_City.Length > 50)
            {
                strError = strError + Constants.ERROR + ": Insurance Company City " + Constants.MUST_BE_INRANGE + Constants.BR;
            }
            if (!String.IsNullOrEmpty(objImportData.Paint_Code) && objImportData.Paint_Code.Length > 50)
            {
                strError = strError + Constants.ERROR + ": Paint_Code " + Constants.MUST_BE_INRANGE + Constants.BR;
            }
            if (!String.IsNullOrEmpty(objImportData.Style) && objImportData.Style.Length > 50)
            {
                strError = strError + Constants.ERROR + ": Style " + Constants.MUST_BE_INRANGE + Constants.BR;
            }
            if (!String.IsNullOrEmpty(objImportData.Total_Amount) && objImportData.Total_Amount.Length > 50)
            {
                strError = strError + Constants.ERROR + ": Total Amount " + Constants.MUST_BE_INRANGE + Constants.BR;
            }
            if (!String.IsNullOrEmpty(objImportData.Total_RO_Amount) && objImportData.Total_RO_Amount.Length > 50)
            {
                strError = strError + Constants.ERROR + ": Total RO Amount " + Constants.MUST_BE_INRANGE + Constants.BR;
            }
            if (!String.IsNullOrEmpty(objImportData.VIN) && objImportData.VIN.Length > 50)
            {
                strError = strError + Constants.ERROR + ": Vehicle Identification Number " + Constants.MUST_BE_INRANGE + Constants.BR;
            }
            if (!String.IsNullOrEmpty(objImportData.EstimatorName) && objImportData.EstimatorName.Length > 100)
            {
                strError = strError + Constants.ERROR + ": Estimator Name must be less than 100 characters " + Constants.BR;
            }

            Decimal dc;

            if (!String.IsNullOrEmpty(objImportData.Deductible) && !(Decimal.TryParse(objImportData.Deductible.Trim(), out dc) && objImportData.Deductible.Trim().Length < 20))
            {
                strError = strError + Constants.ERROR + ": Deductible must be in decimal format and less than 20 characteres " + Constants.BR;
            }
            return(strError);
        }
コード例 #7
0
ファイル: Import.svc.cs プロジェクト: AlohaGEM-CRM/Summit
        public void SaveVehicleStatus(VehicleInfoBL objVehicleInfo, ImportData objImportData, UserBL objUser, String strShopId)
        {
            String              strStatus                = String.Empty;
            VehicleStatusBL     objTemp                  = null;
            Boolean             bIsStatusChanged         = false;
            int                 iVehicleStatusId         = 0;
            UserVehicleStatusBL objCustomerVehicleStatus = new UserVehicleStatusBL();
            DateTime            dtOut;

            objCustomerVehicleStatus.iUserId                = objUser.ID;
            objCustomerVehicleStatus.iVehicleId             = objVehicleInfo.ID;
            objCustomerVehicleStatus.dtDateIn               = DateTime.TryParse(objImportData.Scheduled_In_Date, out dtOut) ? dtOut : (Nullable <DateTime>)null;
            objCustomerVehicleStatus.dtDateOut              = DateTime.TryParse(objImportData.Target_Delivery_Date, out dtOut) ? dtOut : (Nullable <DateTime>)null;
            objCustomerVehicleStatus.dtActual_Delivery_Date = DateTime.TryParse(objImportData.Actual_Delivery_Date, out dtOut) ? dtOut : (Nullable <DateTime>)null;
            objCustomerVehicleStatus.dtFile_Import_Date     = DateTime.TryParse(objImportData.File_Import_date, out dtOut) ? dtOut : (Nullable <DateTime>)null;
            objCustomerVehicleStatus.dtFile_Import_Time     = DateTime.TryParse(objImportData.File_Import_Time, out dtOut) ? dtOut : (Nullable <DateTime>)null;
            objCustomerVehicleStatus.dtRepair_Start_Date    = DateTime.TryParse(objImportData.Repair_Start_Date, out dtOut) ? dtOut : (Nullable <DateTime>)null;
            objCustomerVehicleStatus.dtDeliveryDate         = DateTime.TryParse(objImportData.Actual_Delivery_Date, out dtOut) ? dtOut : (Nullable <DateTime>)null;
            objCustomerVehicleStatus.iETA_Hours             = Convert.ToInt32(objImportData.ETA_Hours);
            objCustomerVehicleStatus.iRO_Hours              = Convert.ToInt32(objImportData.RO_Hours);
            objCustomerVehicleStatus.strFile_Status         = objImportData.File_Status;

            System.Collections.Generic.List <SummitShopApp.BL.VehicleStatusBL> lstVehicleStatus = new List <SummitShopApp.BL.VehicleStatusBL>();
            lstVehicleStatus = VehicleStatusBL.getDataByShopId(Convert.ToInt32(strShopId));

            DateTime?dtImportDate         = DateTime.TryParse(objImportData.File_Import_date, out dtOut) ? dtOut : (Nullable <DateTime>)null;
            DateTime?dtRepairStartDate    = DateTime.TryParse(objImportData.Repair_Start_Date, out dtOut) ? dtOut : (Nullable <DateTime>)null;
            DateTime?dtActualDeliveryDate = DateTime.TryParse(objImportData.Actual_Delivery_Date, out dtOut) ? dtOut : (Nullable <DateTime>)null;
            DateTime dtToday = DateTime.Today;

            //Update Vehicle Status depending Matching Date

            if (dtToday.Date.Equals(dtImportDate))
            {
                strStatus        = Constants.IMPORTED_ESTIMATE;
                bIsStatusChanged = true;
            }
            if (dtToday.Date.Equals(dtRepairStartDate))
            {
                strStatus        = Constants.INPROCESS_REPAIR;
                bIsStatusChanged = true;
            }
            if (dtToday.Date.Equals(dtActualDeliveryDate))
            {
                strStatus        = Constants.DELIVERED;
                bIsStatusChanged = true;
            }

            if (!bIsStatusChanged)
            {
                strStatus = Constants.UNSOLD_ESTIMATE;
            }

            if (lstVehicleStatus.Count > 0)
            {
                objTemp = lstVehicleStatus.Find(vs => vs.strVehicleStatus == strStatus);
            }
            if (objTemp != null)
            {
                objTemp          = lstVehicleStatus.Find(vs => vs.strVehicleStatus == strStatus);
                iVehicleStatusId = objTemp.ID;
                objCustomerVehicleStatus.iVehicleStatusId        = iVehicleStatusId;
                objCustomerVehicleStatus.dtLastUpdatedStatusDate = DateTime.Now;
                if (String.Equals(strStatus, Constants.DELIVERED))
                {
                    objCustomerVehicleStatus.dtDeliveryDate = DateTime.Now;
                }
                if (strStatus == Constants.UNSOLD_ESTIMATE || strStatus == Constants.DELIVERED)
                {
                    objUser.bIsShowEmailMarketing = true;
                    objUser.bIsShowTextMarketing  = true;
                    objUser.Save();
                    MarketingUsers objMarUser = MarketingUsers.getDataByShopAndUserId(Convert.ToInt32(strShopId), Convert.ToInt32(objUser.ID));
                    if (objMarUser != null)
                    {
                        objMarUser.bisShowInProcess = false;
                        objMarUser.Save();
                    }
                }
            }
            else
            {
                VehicleStatusBL _objVehicleStatus = new VehicleStatusBL();
                _objVehicleStatus.strVehicleStatus = strStatus;
                _objVehicleStatus.strMessage       = String.Empty;
                _objVehicleStatus.iShopId          = Convert.ToInt32(strShopId);
                _objVehicleStatus.bSMS             = false;
                _objVehicleStatus.bIsActive        = false;
                _objVehicleStatus.bEmail           = false;
                if (_objVehicleStatus.Save())
                {
                    objCustomerVehicleStatus.iVehicleStatusId        = _objVehicleStatus.ID;
                    objCustomerVehicleStatus.dtLastUpdatedStatusDate = DateTime.Now;
                }
            }
            objCustomerVehicleStatus.Save();
        }
コード例 #8
0
ファイル: Import.svc.cs プロジェクト: AlohaGEM-CRM/Summit
        private InProcessUsersBL getInprocessObject(List <InProcessUsersBL> lstInProcessUsers, ImportData objImportData, out Boolean bUpdateData)
        {
            Boolean bIsDuplicate = false;

            foreach (InProcessUsersBL objInProcessObject in lstInProcessUsers)
            {
                //for older file that has been imported and don't have unique file identifier then check for name,year,make,model and mobile #
                if (String.IsNullOrEmpty(objInProcessObject.strEstimateFileIdentifier))
                {
                    bIsDuplicate = (!string.IsNullOrEmpty(objInProcessObject.strUserName) && !string.IsNullOrEmpty(objImportData.strUserName) && objInProcessObject.strUserName.ToLower().Trim() == objImportData.strUserName.ToLower().Trim() && objInProcessObject.strYear != null && objImportData.Year != null && objImportData.Year.ToLower().Trim() == objInProcessObject.strYear.ToLower().Trim() && objInProcessObject.strMake != null && objImportData.Make != null && objInProcessObject.strMake.ToLower().Trim() == objImportData.Make.ToLower().Trim() && objInProcessObject.strModel != null && objImportData.Model != null && objInProcessObject.strModel.ToLower().Trim() == objImportData.Model.ToLower().Trim() && objInProcessObject.strPhone != null && objImportData.Mobile != null && objInProcessObject.strPhone.ToLower().Trim() == objImportData.Mobile.ToLower().Trim());
                }
                if (bIsDuplicate)
                {
                    bUpdateData = true;
                    return(objInProcessObject);
                }
            }
            bUpdateData = false;
            return(null);
        }