コード例 #1
0
        protected void btnSearch_Click(object sender, EventArgs e)
        {
            Expression <Func <Claim, bool> > predicate = null;
            List <AdjusterView> adjusters = null;
            List <LeadView>     leads     = null;

            predicate = buildPredicate();

            using (ClaimManager repository = new ClaimManager()) {
                leads = repository.Search(predicate).orderBy("ClaimantLastName").ToList();
            }

            gvSearchResult.DataSource = leads;
            gvSearchResult.DataBind();

            if (leads != null && leads.Count > 0)
            {
                pnlResult.Visible  = true;
                pnlToolbar.Visible = true;

                // load adjusters
                adjusters = AdjusterManager.GetClaimAssigned(clientID);

                gvAdjusters.DataSource = adjusters;
                gvAdjusters.DataBind();

                CollectionManager.FillCollection(ddlAdjuster, "AdjusterID", "AdjusterName", adjusters);
            }
        }
コード例 #2
0
        private void bindAdjusters()
        {
            string streetAddress    = null;
            string stateName        = null;
            string handleClaimsType = null;

            string[] policyTypes = null;

            List <AdjusterMaster> adjusters = AdjusterManager.GetAll(clientID).ToList();

            if (adjusters != null && adjusters.Count > 0)
            {
                hf_adjusters.Value = string.Empty;
                foreach (AdjusterMaster adjuster in adjusters)
                {
                    if (adjuster.UseDeploymentAddress ?? false)
                    {
                        stateName = adjuster.StateMaster == null ? "" : adjuster.StateMaster.StateName;

                        streetAddress = string.Format("{0} {1} {2} {3}", adjuster.DeploymentAddress ?? "", adjuster.DeploymentCity ?? "", stateName ?? "", adjuster.DeploymentZipCode ?? "");
                    }
                    else
                    {
                        stateName = adjuster.StateMaster == null ? "" : adjuster.StateMaster.StateName;

                        streetAddress = string.Format("{0} {1} {2} {3}", adjuster.Address1 ?? "", adjuster.CityName, stateName ?? "", adjuster.ZipCode ?? "");
                    }

                    if (!string.IsNullOrEmpty(streetAddress.Trim()))
                    {
                        try {
                            geoResponse response = Core.bingMapHelper.geocodeAddress(streetAddress);
                            if (response.status == "ok")
                            {
                                if (adjuster.AdjusterHandleClaimType != null)
                                {
                                    policyTypes      = null;
                                    handleClaimsType = null;

                                    policyTypes = (from x in adjuster.AdjusterHandleClaimType
                                                   select x.LeadPolicyType.Description
                                                   ).ToArray();

                                    if (policyTypes != null && policyTypes.Length > 0)
                                    {
                                        handleClaimsType = string.Join(":", policyTypes);
                                    }
                                }

                                hf_adjusters.Value += string.Format("{0}|{1}|{2},{3}|{4}$",
                                                                    adjuster.AdjusterName, streetAddress, response.latitude, response.longitude, handleClaimsType ?? "");
                            }
                        }
                        catch (Exception ex) {
                            Core.EmailHelper.emailError(ex);
                        }
                    }
                }
            }
        }
コード例 #3
0
        protected void gv_onSorting(object sender, GridViewSortEventArgs e)
        {
            IQueryable <AdjusterMaster> adjusters = null;



            adjusters = AdjusterManager.GetAll(clientID);

            List <AdjusterMaster> objListAdjuster = adjusters.ToList();

            bool descending = false;

            if (ViewState[e.SortExpression] == null)
            {
                descending = false;
            }
            else
            {
                descending = !(bool)ViewState[e.SortExpression];
            }

            ViewState[e.SortExpression] = descending;


            string sortClause = e.SortExpression + (descending ? " Desc " : " Asc ");

            gvAdjuster.DataSource = objListAdjuster.sort(sortClause).ToList();

            //gvAdjuster.DataSource = adjusters.orderByExtension(e.SortExpression, descending);

            gvAdjuster.DataBind();
        }
コード例 #4
0
        protected void gvAdjuster_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int    adjusterID  = 0;
            string encryptedID = null;

            if (e.CommandName == "DoEdit")
            {
                encryptedID = Core.SecurityManager.EncryptQueryString(e.CommandArgument.ToString());

                Response.Redirect("~/protected/admin/AdjusterEdit.aspx?q=" + encryptedID);
            }
            else if (e.CommandName == "DoDelete")
            {
                adjusterID = Convert.ToInt32(e.CommandArgument.ToString());

                AdjusterMaster adjuster = AdjusterManager.GetAdjusterId(adjusterID);

                if (adjuster != null)
                {
                    adjuster.Status = false;

                    AdjusterManager.Save(adjuster);
                }
            }

            DoBind();
        }
コード例 #5
0
ファイル: ucRule1.ascx.cs プロジェクト: Antoniotoress1992/asp
        public void bindData(BusinessRule businessRule)
        {
            int clientID = SessionHelper.getClientId();

            IQueryable <AdjusterMaster> adjusters = null;

            adjusters = AdjusterManager.GetAll(clientID);

            ddlAdjuster.DataSource     = adjusters.ToList();
            ddlAdjuster.DataValueField = "AdjusterId";
            ddlAdjuster.DataTextField  = "adjusterName";
            ddlAdjuster.DataBind();
            ddlAdjuster.Items.Insert(0, new ListItem("--- Select ---", "0"));

            //CollectionManager.FillCollection(ddlAdjuster, "AdjusterId", "adjusterName", adjusters);

            ViewState["businessRuleID"] = businessRule.BusinessRuleID.ToString();

            clearFields();

            if (businessRule.BusinessRuleID == 0)
            {
                // for new rules only.
                cbxActive.Checked = true;
            }
            else
            {
                // edit
                XElement ruleXML = XElement.Parse(businessRule.RuleXML);
                cbxActive.Checked          = businessRule.IsActive;
                cbxEmailAdjuster.Checked   = businessRule.EmailAdjuster;
                cbxEmailSupervisor.Checked = businessRule.EmailSupervisor;
                txtDescription.Text        = businessRule.Description;

                using (RuleHelper ruleHelper = new RuleHelper()) {
                    XElement invoiceCondition = ruleHelper.GetElement(ruleXML, "Claim");
                    txtNumberOfClaims.Text = invoiceCondition.Element("value").Value;

                    XElement adjusterCondition = ruleHelper.GetElement(ruleXML, "AdjusterID");
                    ddlAdjuster.SelectedValue = adjusterCondition.Element("value").Value;
                }

                //.Where(x => x.Element("property").Value == "Invoice").FirstOrDefault();
            }
        }
コード例 #6
0
        public static void saveAdjusterPhoto(int adjusterID, string filePath)
        {
            AdjusterMaster adjuster      = null;
            string         photoFileName = null;

            string imageFolderPath     = null;
            string destinationFilePath = null;

            // get application path
            string appPath = ConfigurationManager.AppSettings["appPath"].ToString();

            // get uploaded file
            string tempFilePath = HttpContext.Current.Server.MapPath(String.Format("~\\Temp\\{0}", filePath));

            adjuster = AdjusterManager.GetAdjusterId(adjusterID);

            if (adjuster != null && File.Exists(tempFilePath))
            {
                try {
                    imageFolderPath = string.Format("{0}/Adjusters/{1}/Photo", appPath, adjuster.AdjusterId);

                    if (!Directory.Exists(imageFolderPath))
                    {
                        Directory.CreateDirectory(imageFolderPath);
                    }

                    photoFileName = adjuster.AdjusterId.ToString() + Path.GetExtension(filePath);

                    destinationFilePath = string.Format("{0}/{1}", imageFolderPath, photoFileName);

                    System.IO.File.Copy(tempFilePath, destinationFilePath, true);

                    // delete temp file
                    File.Delete(tempFilePath);

                    adjuster.PhotoFileName = photoFileName;

                    AdjusterManager.Save(adjuster);
                }
                catch (Exception ex) {
                    Core.EmailHelper.emailError(ex);
                }
            }
        }
コード例 #7
0
        private void notifyAdjuster(CRM.Data.Entities.LeadPolicy policy)
        {
            AdjusterMaster adjuster      = null;
            string         clientName    = null;
            string         claimantName  = null;
            string         emailText     = null;
            string         emailPassword = null;
            Leads          lead          = null;
            int            leadID        = 0;

            string[] recipients = null;
            string   userEmail  = null;
            string   subject    = null;

            // get adjuster info
            adjuster = AdjusterManager.Get(policy.AdjusterID ?? 0);

            // retreive lead information
            leadID = SessionHelper.getLeadId();

            lead = LeadsManager.GetByLeadId(leadID);

            if (lead != null && adjuster != null && !string.IsNullOrEmpty(adjuster.email) && (adjuster.isEmailNotification ?? true))
            {
                recipients = new string[] { adjuster.email };

                userEmail     = ConfigurationManager.AppSettings["userID"].ToString();
                emailPassword = ConfigurationManager.AppSettings["Password"].ToString();

                // name of CRM client
                clientName = adjuster.Client == null ? "" : adjuster.Client.BusinessName;

                claimantName = string.Format("{0} {1}", lead.ClaimantFirstName ?? "", lead.ClaimantLastName ?? "");

                subject = string.Format("{0} has assigned {1} to you.", clientName, claimantName);

                emailText = string.Format("<br>Claim # {0} was assigned to you.<br>Please review {1} right away to begin the file.<br><br>Thank you.<br><br>http://app.claimruler.com",
                                          policy.ClaimNumber,
                                          claimantName);

                Core.EmailHelper.sendEmail(adjuster.email, recipients, null, subject, emailText, null, userEmail, emailPassword);
            }
        }
コード例 #8
0
        protected void btnAssign_Click(object sender, EventArgs e)
        {
            int            adjusterID = 0;
            Claim          claim      = null;
            int            claimID    = 0;
            AdjusterMaster adjuster   = null;
            StringBuilder  claimList  = new StringBuilder();


            if (int.TryParse(ddlAdjuster.SelectedValue, out adjusterID) && adjusterID > 0)
            {
                adjuster = AdjusterManager.GetAdjusterId(adjusterID);

                foreach (GridViewRow row in gvSearchResult.Rows)
                {
                    if (row.RowType == DataControlRowType.DataRow)
                    {
                        CheckBox cbxSelected = row.FindControl("cbxSelected") as CheckBox;

                        if (cbxSelected.Checked)
                        {
                            claimID = (int)gvSearchResult.DataKeys[row.RowIndex].Value;
                            claim   = ClaimsManager.GetByID(claimID);
                            if (claim != null)
                            {
                                claim.AdjusterID = adjusterID;
                                ClaimsManager.Save(claim);

                                HyperLink lnkLead = row.FindControl("hlnkLead") as HyperLink;

                                claimList.Append(string.Format("<tr align=\"center\"><td>{0}</td><td>{1}</td><td>{2}</td></tr>",
                                                               lnkLead.Text, claim.AdjusterClaimNumber ?? "", claim.InsurerClaimNumber ?? ""));
                            }
                        }
                    }
                }                 // foreach

                notifyAdjuster(adjuster, claimList);

                btnSearch_Click(null, null);
            }
        }
コード例 #9
0
        private void DoBind()
        {
            IQueryable <AdjusterMaster> adjusters = null;

            adjusters = AdjusterManager.GetAll(clientID);

            gvAdjuster.DataSource = adjusters.ToList();
            gvAdjuster.DataBind();

            List <StateMaster> states = State.GetAll();

            ddlState.DataSource = states;
            ddlState.DataBind();

            CollectionManager.FillCollection(ddlState, "StateId", "StateName", states);

            CollectionManager.FillCollection(ddlServiceStateLicense, "StateId", "StateName", states);

            CollectionManager.FillCollection(ddlTypeClaimHandled, "LeadPolicyTypeID", "Description", LeadPolicyTypeManager.GetAll());
        }
コード例 #10
0
ファイル: ucRule1.ascx.cs プロジェクト: Antoniotoress1992/asp
        public void bindData(int businessRuleID)
        {
            int clientID = SessionHelper.getClientId();

            IQueryable <AdjusterMaster> adjusters = null;

            adjusters = AdjusterManager.GetAll(clientID);

            CollectionManager.FillCollection(ddlAdjuster, "AdjusterId", "adjusterName", adjusters);

            ViewState["businessRuleID"] = businessRuleID.ToString();


            if (businessRuleID == 0)
            {
                // for new rules only.
                cbxActive.Checked = true;
            }
            else
            {
            }
        }
コード例 #11
0
        private void bindData()
        {
            // 2014-05-12 tortega
            // get client data
            int clientID = Core.SessionHelper.getClientId();

            List <AdjusterMaster> adjusters = null;

            // load adjusters branch with code
            List <AdjusterSettingsPayroll> adjusterSettingsPayrolls = new List <AdjusterSettingsPayroll>();

            adjusterSettingsPayrolls = AdjusterManager.GetGetAllAdjusterPayrollSetting(clientID).GroupBy(x => x.AdjusterBranch).Select(g => g.FirstOrDefault()).ToList();

            // bind adjusters branch and code to DDL
            // CollectionManager.FillCollection(ddlBranch, "BranchCode", "AdjusterBranch", adjusterSettingsPayrolls);
            //  ddlBranch.Items.Insert(0, new ListItem("**All Branches**", "0"));

            // load adjusters for client
            //adjusters = AdjusterManager.GetAll(clientID).ToList();

            //// bind adjusters to DDL
            //CollectionManager.FillCollection(ddlAdjusters, "AdjusterId", "AdjusterName", adjusters);
        }
コード例 #12
0
        protected void btnSaveExpense_Click(object sender, EventArgs e)
        {
            Claim                 claim          = null;
            Claim                 myClaim        = null;
            ClaimExpense          claimExpense   = null;
            AdjusterMaster        adjuster       = null;
            CarrierInvoiceProfile CarrierInvoice = null;

            int clientID      = SessionHelper.getClientId();
            int userID        = SessionHelper.getUserId();
            int claimID       = SessionHelper.getClaimID();
            int myAdjusterID  = 0;
            int profileID     = 0;
            int expenseTypeID = 0;
            int id            = 0;


            Page.Validate("expense");
            if (!Page.IsValid)
            {
                return;
            }

            id = Convert.ToInt32(ViewState["ClaimExpenseID"]);

            ClaimManager cm = new ClaimManager();

            myClaim = cm.Get(claimID);

            try
            {
                expenseTypeID = Convert.ToInt32(ddlExpenseType.SelectedValue);

                using (TransactionScope scope = new TransactionScope())
                {
                    using (ClaimExpenseManager repository = new ClaimExpenseManager())
                    {
                        if (id == 0)
                        {
                            claimExpense         = new ClaimExpense();
                            claimExpense.ClaimID = claimID;
                        }
                        else
                        {
                            claimExpense = repository.Get(id);
                        }

                        // populate fields
                        if (txtExpenseAmount.Visible == false)
                        {
                            var x = Session["multiplier"].ToString();

                            double expenseAmount = Convert.ToDouble(x) * Convert.ToDouble(txtExpenseQty.ValueDecimal); //newOC 10/7/14
                            claimExpense.ExpenseAmount = Convert.ToDecimal(expenseAmount);

                            decimal d = Convert.ToDecimal(expenseAmount);
                            //Session["EmailAmount"] = "$" + Math.Round(d, 2);
                            Session["EmailAmount"] = String.Format("{0:0.00}", expenseAmount);
                            // Session["EmailAmount"] = expenseAmount;
                        }
                        else
                        {
                            claimExpense.ExpenseAmount = txtExpenseAmount.ValueDecimal;
                        }
                        claimExpense.ExpenseDate        = txtExpenseDate.Date;
                        claimExpense.ExpenseDescription = txtExpenseDescription.Text.Trim();
                        claimExpense.ExpenseTypeID      = expenseTypeID;
                        claimExpense.IsReimbursable     = cbxExpenseReimburse.Checked;
                        claimExpense.UserID             = userID;
                        claimExpense.AdjusterID         = Convert.ToInt32(hf_expenseAdjusterID.Value);
                        claimExpense.ExpenseQty         = txtExpenseQty.ValueDecimal;
                        claimExpense.InternalComments   = txtMyComments.Text.Trim();
                        claimExpense.Billed             = false;
                        // claimExpense.IsBillable = cbIsBillable.Checked;
                        // save expense
                        claimExpense = repository.Save(claimExpense);
                    }

                    // update diary entry
                    ClaimComment diary = new ClaimComment();
                    diary.ClaimID     = claimID;
                    diary.CommentDate = DateTime.Now;
                    diary.UserId      = userID;
                    diary.CommentText = string.Format("Expense: {0}, Description: {1}, Date: {2:MM/dd/yyyy}, Amount: {3:N2}, Adjuster: {4} Qty: {5:N2}",
                                                      ddlExpenseType.SelectedItem.Text,
                                                      claimExpense.ExpenseDescription,
                                                      claimExpense.ExpenseDate,
                                                      claimExpense.ExpenseAmount,
                                                      txtExpenseAdjuster.Text,
                                                      claimExpense.ExpenseQty
                                                      );
                    ClaimCommentManager.Save(diary);

                    // 2014-05-02 apply rule
                    using (SpecificExpenseTypePerCarrier ruleEngine = new SpecificExpenseTypePerCarrier())
                    {
                        claim         = new Claim();
                        claim.ClaimID = claimID;
                        RuleException ruleException = ruleEngine.TestRule(clientID, claim, expenseTypeID);

                        if (ruleException != null)
                        {
                            ruleException.UserID = Core.SessionHelper.getUserId();
                            ruleEngine.AddException(ruleException);
                            CheckSendMail(ruleException);
                        }
                    }
                    myAdjusterID = Convert.ToInt32(claimExpense.AdjusterID); //Convert.ToInt32(myClaim.AdjusterID);
                    //EMAIL ADJUSTER OC 10/22/2014
                    if (myAdjusterID != 0 || myAdjusterID != null)
                    {
                        adjuster = AdjusterManager.GetAdjusterId(myAdjusterID);
                    }
                    if (cbEmailAdjuster.Checked == true)
                    {
                        try
                        {
                            notifyAdjuster(adjuster, claimExpense, myClaim);
                        }
                        catch (Exception ex)
                        {
                            lblMessage.Text     = "Unable to send email to adjuster";
                            lblMessage.CssClass = "error";
                        }
                    }
                    //EMAIL CLIENT CONTACT OC 10/22/2014
                    if (cbEmailClient.Checked == true)              //Dont need to check if invoice Pro ID is empty becuase to get to this point, one has to exist already
                    {
                        if (Session["ComingFromAllClaims"] != null) //if the user got here straight from the all claims screen
                        {
                            profileID = Convert.ToInt32(Session["CarrierInvoiceID"]);
                        }
                        else//coming from claim detail page
                        {
                            profileID = Convert.ToInt32(Session["InvoiceProfileID"]);
                        }
                        CarrierInvoice = CarrierInvoiceProfileManager.Get(profileID);
                        try
                        {
                            notifyClientContact(CarrierInvoice, claimExpense, myClaim, adjuster);
                        }
                        catch (Exception ex)
                        {
                            lblMessage.Text     = "Unable to send email to client contact";
                            lblMessage.CssClass = "error";
                        }
                    }
                    //EMAIL TO WHOMEVER OC 10/22/2014
                    if (txtEmailTo.Text != "")
                    {
                        try
                        {
                            notifySpecifiedUser(adjuster, claimExpense, myClaim);
                        }
                        catch (Exception ex)
                        {
                            lblMessage.Text     = "Unable to send email to adjuster";
                            lblMessage.CssClass = "error";
                        }
                    }

                    // complete transaction
                    scope.Complete();
                }

                lblMessage.Text     = "Expense saved successfully.";
                lblMessage.CssClass = "ok";

                // refresh grid
                gvExpense.DataSource = loadExpenses(claimID);
                gvExpense.DataBind();

                // keep edit form active
                lbtnNewExpense_Click(null, null);
                lblAmount.Text           = "";
                lblAmount.Visible        = false;
                txtExpenseAmount.Visible = true;
            }
            catch (Exception ex) {
                Core.EmailHelper.emailError(ex);

                lblMessage.Text     = "Unable to save claim expense.";
                lblMessage.CssClass = "error";
            }
        }
コード例 #13
0
        protected void btnSearch_Click(object sender, EventArgs e)
        {
            int policyTypeID   = 0;
            int stateID        = 0;
            int yearExperience = 0;

            Expression <Func <AdjusterMaster, bool> > predicate = PredicateBuilder.True <CRM.Data.Entities.AdjusterMaster>();

            predicate = predicate.And(x => x.ClientId == clientID);


            if (!string.IsNullOrEmpty(txtName.Text))
            {
                predicate = predicate.And(x => x.FirstName.Contains(txtName.Text) || x.LastName.Contains(txtName.Text));
            }

            if (!string.IsNullOrEmpty(txtCompanyName.Text))
            {
                predicate = predicate.And(x => x.CompanyName.Contains(txtCompanyName.Text));
            }

            if (!string.IsNullOrEmpty(txtStreetAddress.Text))
            {
                predicate = predicate.And(x => x.Address1.Contains(txtStreetAddress.Text) || x.Address2.Contains(txtStreetAddress.Text));
            }

            // filter: state
            if (ddlState.SelectedIndex > 0)
            {
                stateID   = Convert.ToInt32(ddlState.SelectedValue);
                predicate = predicate.And(x => x.StateID == stateID);
            }

            // filter: city name
            if (!string.IsNullOrEmpty(txtCity.Text))
            {
                predicate = predicate.And(x => x.CityName.Contains(txtCity.Text));
            }

            // filter: zip code
            if (!string.IsNullOrEmpty(txtZipCode.Text))
            {
                predicate = predicate.And(x => x.ZipCode == txtZipCode.Text);
            }

            // filter: status
            if (ddlStatus.SelectedIndex > 0)
            {
                predicate = predicate.And(x => x.Status == ddlStatus.SelectedValue.Equals("1"));
            }

            // filter: credentials
            if (!string.IsNullOrEmpty(txtCredentials.Text))
            {
                predicate = predicate.And(x => x.Certifications.Contains(txtCredentials.Text));
            }

            // filter: federal tax id
            if (!string.IsNullOrEmpty(txtFEIN.Text))
            {
                predicate = predicate.And(x => x.FederalTaxID.Contains(txtFEIN.Text));
            }

            // filter: year experience
            if (int.TryParse(txtYearExperience.Text, out yearExperience) && yearExperience > 0)
            {
                predicate = predicate.And(x => x.YearsExperiece == yearExperience);
            }

            // filter: Geographical Area of Service
            if (!string.IsNullOrEmpty(txtServiceArea.Text))
            {
                predicate = predicate.And(x => x.GeographicalSeriveArea.Contains(txtServiceArea.Text));
            }

            // filter: w9
            if (ddlW9.SelectedIndex > 0)
            {
                predicate = predicate.And(x => x.isW9 == ddlW9.SelectedValue.Equals("1"));
            }

            // filter: Types of Claims Handled
            if (ddlTypeClaimHandled.SelectedIndex > 0)
            {
                policyTypeID = Convert.ToInt32(ddlTypeClaimHandled.SelectedValue);

                predicate = predicate.And(x => x.AdjusterHandleClaimType.Any(a => a.PolicyTypeID == policyTypeID));
            }

            // State(s) of Service & Licensure per State
            if (ddlServiceStateLicense.SelectedIndex > 0)
            {
                stateID = Convert.ToInt32(ddlServiceStateLicense.SelectedValue);

                predicate = predicate.And(x => x.AdjusterServiceArea.Any(a => a.StateID == stateID));
            }

            gvAdjuster.DataSource = AdjusterManager.Search(predicate).ToList();
            gvAdjuster.DataBind();
        }
コード例 #14
0
        protected void btnSaveClaimService_Click(object sender, EventArgs e)
        {
            ClaimService          claimService   = null;
            ClaimComment          diary          = null;
            AdjusterMaster        adjuster       = null;
            Claim                 myClaim        = null;
            CarrierInvoiceProfile CarrierInvoice = null;

            int userID       = SessionHelper.getUserId();
            int claimID      = SessionHelper.getClaimID();
            int id           = 0;
            int myAdjusterID = 0;
            int profileID    = 0;

            Page.Validate("service");
            if (!Page.IsValid)
            {
                return;
            }

            id = Convert.ToInt32(ViewState["ClaimServiceID"]);

            //Get current claim info to pass through to emails
            ClaimManager cm = new ClaimManager();

            myClaim = cm.Get(claimID);


            //AdjusterManager

            try {
                using (TransactionScope scope = new TransactionScope())
                {
                    using (ClaimServiceManager repository = new ClaimServiceManager())
                    {
                        if (id == 0)
                        {
                            claimService         = new ClaimService();
                            claimService.ClaimID = claimID;
                        }
                        else
                        {
                            claimService = repository.Get(id);
                        }

                        claimService.ServiceQty         = this.txtServiceQty.Value == null ? 0 : Convert.ToDecimal(txtServiceQty.Value);
                        claimService.ServiceDate        = txtServiceDate.Date;
                        claimService.ServiceDescription = txtServiceDescription.Text.Trim();
                        claimService.ServiceTypeID      = Convert.ToInt32(this.ddlInvoiceServiceType.SelectedValue);
                        claimService.UserID             = userID;
                        claimService.AdjusterID         = Convert.ToInt32(hf_serviceAdjusterID.Value);
                        claimService.Activity           = ddlActivity.SelectedItem.Text;
                        claimService.InternalComments   = txtMyComments.Text.Trim();
                        claimService.IsBillable         = cbIsBillable.Checked;
                        claimService.Billed             = false;
                        //save to db
                        claimService = repository.Save(claimService);

                        //string EmailService = ddlInvoiceServiceType.SelectedItem.Text;
                        //string EmailActivity = ddlActivity.SelectedItem.Text;
                        //string EmailDescription = txtServiceDescription.Text;
                        //string EmailInternal = txtMyComments.Text;
                        //string EmailQuantity = txtServiceQty.Text;
                        //string EmailDate = txtServiceDate.Text;
                    }

                    // diary
                    diary                  = new ClaimComment();
                    diary.ClaimID          = claimID;
                    diary.CommentDate      = DateTime.Now;
                    diary.UserId           = userID;
                    diary.ActivityType     = ddlActivity.SelectedItem.Text;
                    diary.InternalComments = txtMyComments.Text.Trim();
                    diary.CommentText      = string.Format("Service: {0}, Description: {1}, Date {2:MM/dd/yyyy}, Qty: {3:N2}, Adjuster: {4}",
                                                           ddlInvoiceServiceType.SelectedItem.Text,
                                                           claimService.ServiceDescription,
                                                           claimService.ServiceDate,
                                                           claimService.ServiceQty,
                                                           txtServiceAdjuster.Text
                                                           );
                    ClaimCommentManager.Save(diary);

                    myAdjusterID = Convert.ToInt32(claimService.AdjusterID); //Convert.ToInt32(myClaim.AdjusterID);


                    //EMAIL ADJUSTER OC 10/21/2014
                    if (myAdjusterID != 0 || myAdjusterID != null)
                    {
                        adjuster = AdjusterManager.GetAdjusterId(myAdjusterID);
                    }
                    if (cbEmailAdjuster.Checked == true)
                    {
                        try
                        {
                            notifyAdjuster(adjuster, claimService, myClaim);
                        }
                        catch (Exception ex)
                        {
                            lblMessage.Text     = "Unable to send email to adjuster";
                            lblMessage.CssClass = "error";
                        }
                    }
                    //EMAIL CLIENT CONTACT OC 10/22/2014
                    if (cbEmailClient.Checked == true)              //Dont need to check if invoice Pro ID is empty becuase to get to this point, one has to exist already
                    {
                        if (Session["ComingFromAllClaims"] != null) //if the user got here straight from the all claims screen
                        {
                            profileID = Convert.ToInt32(Session["CarrierInvoiceID"]);
                        }
                        else//coming from claim detail page
                        {
                            profileID = Convert.ToInt32(Session["InvoiceProfileID"]);
                        }
                        CarrierInvoice = CarrierInvoiceProfileManager.Get(profileID);
                        try
                        {
                            notifyClientContact(CarrierInvoice, claimService, myClaim, adjuster);
                        }
                        catch (Exception ex)
                        {
                            lblMessage.Text     = "Unable to send email to client contact";
                            lblMessage.CssClass = "error";
                        }
                    }
                    //EMAIL TO WHOMEVER
                    if (txtEmailTo.Text != "")
                    {
                        try
                        {
                            notifySpecifiedUser(adjuster, claimService, myClaim);
                        }
                        catch (Exception ex)
                        {
                            lblMessage.Text     = "Unable to send email to adjuster";
                            lblMessage.CssClass = "error";
                        }
                    }

                    scope.Complete();
                }

                lblMessage.Text     = "Service was saved successfully.";
                lblMessage.CssClass = "ok";

                // keep edit form active
                lbtnNewClaimService_Click(null, null);

                // refresh grid
                gvClaimService.DataSource = loadClaimServices(claimID);
                gvClaimService.DataBind();
            }
            catch (Exception ex)
            {
                Core.EmailHelper.emailError(ex);

                lblMessage.Text     = "Unable to save claim service.";
                lblMessage.CssClass = "error";
            }
            //send email to adjuster
        }
コード例 #15
0
        public void bindData()
        {
            // main binding routine
            List <StatusMaster>    statusMasters    = null;
            List <SubStatusMaster> subStatusMasters = null;
            List <StateMaster>     states           = null;

            IQueryable <AdjusterMaster> adjusters = null;

            int clientID = SessionHelper.getClientId();

            int leadID = Convert.ToInt32(Session["LeadIds"]);

            // bind states
            states = State.GetAll();

            //CollectionManager.FillCollection(ddlState, "StateId", "StateName", CarrierManager.GetCarriers(clientID));
            var state = CarrierManager.GetCarriers(clientID);

            ddlState.DataSource     = state.ToList();
            ddlState.DataValueField = "StateId";
            ddlState.DataTextField  = "StateName";
            ddlState.DataBind();
            ddlState.Items.Insert(0, new ListItem("--- Select ---", "0"));



            if (clientID > 0)
            {
                adjusters = AdjusterManager.GetAll(clientID);

                statusMasters = StatusManager.GetAll(clientID);

                subStatusMasters = SubStatusManager.GetAll(clientID);
            }
            else
            {
                adjusters = AdjusterManager.GetAll();

                statusMasters = StatusManager.GetAll();

                subStatusMasters = SubStatusManager.GetAll();
            }

            //CollectionManager.FillCollection(ddlCarrier, "CarrierId", "CarrierName", CarrierManager.GetCarriers(clientID));
            var carrier = CarrierManager.GetCarriers(clientID);

            ddlCarrier.DataSource     = state.ToList();
            ddlCarrier.DataValueField = "CarrierId";
            ddlCarrier.DataTextField  = "CarrierName";
            ddlCarrier.DataBind();
            ddlCarrier.Items.Insert(0, new ListItem("--- Select ---", "0"));


            bindAgents();

            if (this.policyID > 0)
            {
                // edit existing policy

                tabPanelAgent.Visible       = true;
                tabPanelPolicyNotes.Visible = true;

                fillForm();

                //bindDocuments(leadID);

                //bindContacts();

                bindLienHolders();

                //fillComments(leadID);

                bindLimits();

                bindSubLimits();

                bindClaims();

                activateLinks();

                tabPanelLienHolder.Visible = true;
                ShowAddCoverage();
                SetAddCoverage(this.policyID);
            }
            else
            {
                // create blank one
                tabPanelAgent.Visible       = false;
                tabPanelPolicyNotes.Visible = false;

                bindLimits();

                // create blank one
                bindSubLimits();

                tabPanelLienHolder.Visible = false;

                hf_policyID.Value     = "0";
                hf_lastStatusID.Value = "0";

                clearFields();
                HideAddCoverage();
                ShowAddCoverageAdd();
            }
        }
コード例 #16
0
        protected void btnUpload_Click(object sender, EventArgs e)
        {
            string                         fileExtension          = null;
            AdjusterMaster                 adjuster               = null;
            string                         firstName              = null;
            string                         lastName               = null;
            AdjusterServiceArea            serviceArea            = null;
            AdjusterLicenseAppointmentType licenseAppointmentType = null;
            string                         licenseNumber          = null;
            string                         licenseType            = null;
            string                         licenseEffectiveDate   = null;
            string                         licenseExpireDate      = null;
            string                         appointmentType        = null;
            StateMaster                    stateMaster            = null;
            string                         str = null;

            lblMessage.Text = string.Empty;

            if (!fileUpload.HasFile)
            {
                lblMessage.Text     = "No file selected.";
                lblMessage.CssClass = "error";
                return;
            }

            // validate file
            fileExtension = System.IO.Path.GetExtension(fileUpload.PostedFile.FileName);
            if (!fileExtension.Equals(".csv", StringComparison.OrdinalIgnoreCase))
            {
                lblMessage.Text     = "CSV file format allowed only.";
                lblMessage.CssClass = "error";
                return;
            }

            try {
                //save file in temp folder
                string destinationPath = Server.MapPath(string.Format("~//Temp//{0}.csv", Guid.NewGuid()));

                fileUpload.SaveAs(destinationPath);

                // load file for processing
                //DataTable table = CSVReader.ReadCSVFile(Server.MapPath("~//Temp//" + fileUpload.FileName), true);

                DataTable table = CSVHelper.ReadCSVFile(destinationPath);

                using (TransactionScope scope = new TransactionScope()) {
                    for (int i = 0; i < table.Rows.Count; i++)
                    {
                        #region process each row
                        adjuster            = new AdjusterMaster();
                        adjuster.ClientId   = clientID;
                        adjuster.Status     = true;
                        adjuster.InsertBy   = userID;
                        adjuster.InsertDate = DateTime.Now;

                        if (table.Rows[i]["First_Name"] != string.Empty)
                        {
                            firstName = table.Rows[i]["First_Name"].ToString();
                        }

                        if (table.Rows[i]["Last_Name"] != string.Empty)
                        {
                            lastName = table.Rows[i]["Last_Name"].ToString();
                        }

                        // skip blank rows
                        if (string.IsNullOrEmpty(lastName) && string.IsNullOrEmpty(firstName))
                        {
                            continue;
                        }

                        adjuster.FirstName = firstName.Length < 50 ? firstName : firstName.Substring(0, 50);
                        adjuster.LastName  = lastName.Length < 50 ? lastName : lastName.Substring(0, 50);

                        if (table.Rows[i]["Middle_Initial"] != string.Empty)
                        {
                            str = table.Rows[i]["Middle_Initial"].ToString();
                            adjuster.MiddleInitial = str.Substring(0, 1);
                        }

                        adjuster.AdjusterName = string.Format("{0} {1} {2}", firstName, adjuster.MiddleInitial ?? "", lastName);

                        if (table.Rows[i]["Suffix"] != string.Empty)
                        {
                            adjuster.Suffix = table.Rows[i]["Suffix"].ToString().Substring(0, 1);
                        }

                        if (table.Rows[i]["Cell_Phone_Number"] != string.Empty)
                        {
                            str = table.Rows[i]["Cell_Phone_Number"].ToString();
                            if (str.Length > 20)
                            {
                                adjuster.PhoneNumber = str.Substring(0, 20);
                            }
                            else
                            {
                                adjuster.PhoneNumber = str;
                            }
                        }
                        if (table.Rows[i]["Email"] != string.Empty)
                        {
                            str            = table.Rows[i]["Email"].ToString();
                            adjuster.email = str.Length < 100 ? str : str.Substring(0, 100);
                        }
                        if (table.Rows[i]["Address_Line1"] != string.Empty)
                        {
                            str = table.Rows[i]["Address_Line1"].ToString();
                            adjuster.Address1 = str.Length < 100 ? str : str.Substring(0, 100);
                        }
                        if (table.Rows[i]["City"] != string.Empty)
                        {
                            str = table.Rows[i]["City"].ToString();
                            adjuster.Address1 = str.Length < 50 ? str : str.Substring(0, 50);
                        }
                        if (table.Rows[i]["State_Code"] != string.Empty)
                        {
                            str         = table.Rows[i]["State_Code"].ToString();
                            stateMaster = State.Getstateid(str);
                            if (stateMaster.StateId > 0)
                            {
                                adjuster.StateID = stateMaster.StateId;
                            }
                            else
                            {
                                adjuster.StateID = null;
                            }
                        }
                        if (table.Rows[i]["ZIP_Code"] != string.Empty)
                        {
                            str = table.Rows[i]["ZIP_Code"].ToString();
                            adjuster.Address1 = str.Length < 10 ? str : str.Substring(0, 10);
                        }

                        // save adjuster
                        adjuster = AdjusterManager.Save(adjuster);

                        if (table.Rows[i]["License_Type"] != string.Empty)
                        {
                            licenseType = table.Rows[i]["License_Type"].ToString();
                        }

                        if (table.Rows[i]["License_Number"] != string.Empty)
                        {
                            licenseNumber = table.Rows[i]["License_Number"].ToString();
                        }

                        if (table.Rows[i]["License_Issue_Date"] != string.Empty)
                        {
                            licenseEffectiveDate = table.Rows[i]["License_Issue_Date"].ToString();
                        }

                        if (table.Rows[i]["License_Expires_Date"] != string.Empty)
                        {
                            licenseExpireDate = table.Rows[i]["License_Expires_Date"].ToString();
                        }

                        if (table.Rows[i]["Appointment_Type"] != string.Empty)
                        {
                            appointmentType = table.Rows[i]["Appointment_Type"].ToString();

                            if (!string.IsNullOrEmpty(appointmentType))
                            {
                                licenseAppointmentType = AdjusterLicenseAppointmentTypeManager.Get(appointmentType, clientID);
                                if (licenseAppointmentType == null)
                                {
                                    licenseAppointmentType          = new AdjusterLicenseAppointmentType();
                                    licenseAppointmentType.IsActive = true;
                                    licenseAppointmentType.LicenseAppointmentType = appointmentType;
                                    licenseAppointmentType.ClientID = clientID;

                                    licenseAppointmentType = AdjusterLicenseAppointmentTypeManager.Save(licenseAppointmentType);
                                }
                            }
                        }

                        if (!string.IsNullOrEmpty(licenseType) && !string.IsNullOrEmpty(licenseNumber) && !string.IsNullOrEmpty(licenseEffectiveDate) &&
                            !string.IsNullOrEmpty(licenseExpireDate) && !string.IsNullOrEmpty(appointmentType))
                        {
                            serviceArea = new AdjusterServiceArea();

                            serviceArea.AdjusterID    = adjuster.AdjusterId;
                            serviceArea.StateID       = adjuster.StateID;
                            serviceArea.LicenseNumber = licenseNumber.Length < 50 ? licenseNumber : licenseNumber.Substring(0, 50);
                            serviceArea.LicenseType   = licenseType.Length < 20 ? licenseType : licenseType.Substring(0, 20);

                            DateTime effectiveDate = DateTime.MaxValue;
                            DateTime expireDate    = DateTime.MaxValue;

                            if (DateTime.TryParse(licenseEffectiveDate, out effectiveDate))
                            {
                                serviceArea.LicenseEffectiveDate = effectiveDate;
                            }

                            if (DateTime.TryParse(licenseExpireDate, out expireDate))
                            {
                                serviceArea.LicenseExpirationDate = expireDate;
                            }

                            if (licenseAppointmentType != null)
                            {
                                serviceArea.AppointmentTypeID = licenseAppointmentType.LicenseAppointmentTypeID;
                            }

                            AdjusterStateLicenseManager.Save(serviceArea);
                        }

                        // create notes
                        if (table.Rows[i]["Adjuster_Status_Code"] != string.Empty)
                        {
                            string adjuster_Status_Code = table.Rows[i]["Adjuster_Status_Code"].ToString();
                            addNote(adjuster.AdjusterId, adjuster_Status_Code);
                        }
                        if (table.Rows[i]["Adjuster_Reason_Code"] != string.Empty)
                        {
                            string sdjuster_Reason_Code = table.Rows[i]["Adjuster_Reason_Code"].ToString();
                            addNote(adjuster.AdjusterId, sdjuster_Reason_Code);
                        }

                        #endregion
                    }
                    scope.Complete();

                    lblMessage.Text     = "Import completed successfully.";
                    lblMessage.CssClass = "ok";
                }
            }
            catch (Exception ex) {
                lblMessage.Text     = "Import not completed successfully.";
                lblMessage.CssClass = "error";

                Core.EmailHelper.emailError(ex);
            }
        }
コード例 #17
0
 public void bindData(int clientID)
 {
     CollectionManager.FillCollection(ddlAdjuster, "AdjusterId", "AdjusterName", AdjusterManager.GetAll(clientID));
 }
コード例 #18
0
        private Claim createClaim(int policyID, DataRow dataRow)
        {
            decimal            amount                 = 0;
            AdjusterMaster     adjuster               = null;
            string             adjusterName           = null;
            string             causeofLoss            = null;
            Claim              claim                  = null;
            string             claimstatus            = null;
            int                clientID               = SessionHelper.getClientId();
            Contact            contact                = null;
            DateTime           dateTime               = DateTime.MinValue;
            LeadContactType    contactType            = null;
            string             ownerManagerName       = null;
            string             ownerManagerEntityName = null;
            int                severity               = 0;
            string             supervisorName         = null;
            string             teamLead               = null;
            TypeOfDamageMaster damageType             = null;
            int                userID                 = SessionHelper.getUserId();
            string             userFieldName          = null;

            claim          = new Claim();
            claim.PolicyID = policyID;
            claim.IsActive = true;

            // Insurer Claim ID
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Insurer Claim ID");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                claim.InsurerClaimNumber  = dataRow[userFieldName].ToString().Trim();
                claim.AdjusterClaimNumber = claim.InsurerClaimNumber;
            }

            // Adjuster Claim Number
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Adjuster Claim Number");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                claim.AdjusterClaimNumber = dataRow[userFieldName].ToString().Trim();
            }

            // Claim Status
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Claim Status");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                claimstatus = dataRow[userFieldName].ToString().Trim();
                if (!string.IsNullOrEmpty(claimstatus))
                {
                    StatusMaster statusMaster = StatusManager.GetByStatusName(clientID, claimstatus);
                    if (statusMaster.StatusId == 0)
                    {
                        statusMaster.StatusName = claimstatus;
                        statusMaster.clientID   = clientID;
                        statusMaster.Status     = true;
                        statusMaster            = StatusManager.Save(statusMaster);
                    }
                    claim.StatusID = statusMaster.StatusId;
                }
            }

            #region Dates
            // Date of Loss
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date of Loss");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.LossDate = dateTime;
                }
            }

            // Date Reported
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date Reported");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateOpenedReported = dateTime;
                }
            }

            // Date First Closed
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date First Closed");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateFirstClosed = dateTime;
                }
            }

            // Date First Reopen
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date First Reopen");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateFirstReOpened = dateTime;
                }
            }
            // Date Assigned
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date Assigned");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateAssigned = dateTime;
                }
            }
            // Date Acknowledged
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date Acknowledged");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateAcknowledged = dateTime;
                }
            }
            // Date First Contact Attempted
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date First Contact Attempted");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateFirstContactAttempt = dateTime;
                }
            }
            //Date Contacted
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date Contacted");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateContacted = dateTime;
                }
            }
            //Date Inspection Scheduled
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date Inspection Scheduled");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateInspectionScheduled = dateTime;
                }
            }
            // Date Inspection Completed
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date Inspection Completed");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateInspectionCompleted = dateTime;
                }
            }
            // Date Estimate Uploaded
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date Estimate Uploaded");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateEstimateUploaded = dateTime;
                }
            }
            // Date of Initial Reserve Change
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date of Initial Reserve Change");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateInitialReserveChange = dateTime;
                }
            }
            // Date Indemnity Payment Requested
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date Indemnity Payment Requested");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateIndemnityPaymentRequested = dateTime;
                }
            }
            // Date Indemnity Payment Approved
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date Indemnity Payment Approved");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateIndemnityPaymentApproved = dateTime;
                }
            }
            // Date Indemnity Payment Issued
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date Indemnity Payment Issued");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateIndemnityPaymentIssued = dateTime;
                }
            }
            // Date Completed
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date Completed");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateCompleted = dateTime;
                }
            }
            // Date Closed
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date Closed");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateClosed = dateTime;
                }
            }
            // Date Closed
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Date Closed");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (DateTime.TryParse(dataRow[userFieldName].ToString(), out dateTime))
                {
                    claim.DateClosed = dateTime;
                }
            }

            #endregion

            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Cycle Time");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (decimal.TryParse(dataRow[userFieldName].ToString(), out amount))
                {
                    claim.CycleTime = amount;
                }
            }
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "ReOpenCycle Time");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (decimal.TryParse(dataRow[userFieldName].ToString(), out amount))
                {
                    claim.ReopenCycleTime = amount;
                }
            }

            #region adjuster
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Adjuster Name");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                adjusterName = dataRow[userFieldName].ToString().Trim();
                adjuster     = AdjusterManager.GetByAdjusterName(clientID, adjusterName);
                if (adjuster.AdjusterId == 0)
                {
                    // add adjuster
                    adjuster                     = new AdjusterMaster();
                    adjuster.Status              = true;
                    adjuster.AdjusterName        = adjusterName.Trim();
                    adjuster.ClientId            = clientID;
                    adjuster.InsertBy            = userID;
                    adjuster.InsertDate          = DateTime.Now;
                    adjuster.isEmailNotification = true;
                    adjuster                     = AdjusterManager.Save(adjuster);
                }

                claim.AdjusterID = adjuster.AdjusterId;
            }
            #endregion

            #region supervisor
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Supervisor Name");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                supervisorName = dataRow[userFieldName].ToString().Trim();
                if (!string.IsNullOrEmpty(supervisorName))
                {
                    contactType = LeadContactTypeManager.Get(clientID, "Supervisor");
                    if (contactType == null)
                    {
                        contactType = addNewContactType(clientID, "Supervisor");
                    }

                    contact = ContactManager.Get(clientID, supervisorName);
                    if (contact == null)
                    {
                        contact = addNewContact(clientID, supervisorName, contactType.ID);
                    }

                    claim.SupervisorID = contact.ContactID;
                }
            }
            #endregion

            #region Team Lead
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Team Lead Name");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                teamLead = dataRow[userFieldName].ToString().Trim();
                if (!string.IsNullOrEmpty(teamLead))
                {
                    contactType = LeadContactTypeManager.Get(clientID, "Team Lead");
                    if (contactType == null)
                    {
                        contactType = addNewContactType(clientID, "Team Lead");
                    }

                    contact = ContactManager.Get(clientID, teamLead);
                    if (contact == null)
                    {
                        contact = addNewContact(clientID, teamLead, contactType.ID);
                    }

                    claim.TeamLeadID = contact.ContactID;
                }
            }
            #endregion

            #region Owner Manager Name
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Owner Manager Name");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                ownerManagerName = dataRow[userFieldName].ToString().Trim();
                if (!string.IsNullOrEmpty(ownerManagerName))
                {
                    contactType = LeadContactTypeManager.Get(clientID, "Owner Manager");
                    if (contactType == null)
                    {
                        contactType = addNewContactType(clientID, "Owner Manager");
                    }

                    contact = ContactManager.Get(clientID, ownerManagerName);
                    if (contact == null)
                    {
                        contact = addNewContact(clientID, ownerManagerName, contactType.ID);
                    }

                    claim.ManagerID = contact.ContactID;
                }
            }
            #endregion

            #region Owner Manager Entity Name
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Owner Manager Entity Name");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                ownerManagerEntityName = dataRow[userFieldName].ToString().Trim();
                if (!string.IsNullOrEmpty(ownerManagerEntityName))
                {
                    contactType = LeadContactTypeManager.Get(clientID, "Owner Manager Entity Name");
                    if (contactType == null)
                    {
                        contactType = addNewContactType(clientID, "Owner Manager Entity Name");
                    }

                    contact = ContactManager.Get(clientID, ownerManagerEntityName);
                    if (contact == null)
                    {
                        contact = addNewContact(clientID, ownerManagerEntityName, contactType.ID);
                    }
                    claim.ManagerEntityID = contact.ContactID;
                }
            }
            #endregion

            // severity
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Severity");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                if (int.TryParse(dataRow[userFieldName].ToString().Trim(), out severity))
                {
                    claim.SeverityNumber = severity;
                }
            }

            // event
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Event Type");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                claim.EventType = dataRow[userFieldName].ToString().Trim();
            }

            // event name
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Event Name");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                claim.EventName = dataRow[userFieldName].ToString().Trim();
            }

            // Cause of Loss Description
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Cause of Loss Description");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                causeofLoss = dataRow[userFieldName].ToString().Trim();

                damageType = TypeofDamageManager.GetTypeOfDamage(clientID, causeofLoss);
                if (damageType.TypeOfDamageId == 0)
                {
                    damageType.ClientId     = clientID;
                    damageType.Status       = true;
                    damageType.TypeOfDamage = causeofLoss;

                    damageType = TypeofDamageManager.Save(damageType);
                }

                claim.CauseOfLoss = damageType.TypeOfDamageId.ToString();
            }

            #region Amounts
            // Claim Workflow Type
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Claim Workflow Type");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                claim.ClaimWorkflowType = dataRow[userFieldName].ToString().Trim();
            }

            // Outstanding Indemnity Reserve
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Outstanding Indemnity Reserve");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                decimal.TryParse(dataRow[userFieldName].ToString().Trim(), out amount);
                claim.OutstandingIndemnityReserve = amount;
            }

            // Outstanding LAE Reserves
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Outstanding LAE Reserves");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                decimal.TryParse(dataRow[userFieldName].ToString().Trim(), out amount);
                claim.OutstandingLAEReserves = amount;
            }

            // Total Indemnity Paid
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Total Indemnity Paid");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                decimal.TryParse(dataRow[userFieldName].ToString().Trim(), out amount);
                claim.TotalIndemnityPaid = amount;
            }

            // Coverage A Paid
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Coverage A Paid");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                decimal.TryParse(dataRow[userFieldName].ToString().Trim(), out amount);
                claim.CoverageAPaid = amount;
            }

            // Coverage B Paid
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Coverage B Paid");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                decimal.TryParse(dataRow[userFieldName].ToString().Trim(), out amount);
                claim.CoverageBPaid = amount;
            }

            // Coverage C Paid
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Coverage C Paid");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                decimal.TryParse(dataRow[userFieldName].ToString().Trim(), out amount);
                claim.CoverageCPaid = amount;
            }

            // Coverage D Paid
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Coverage D Paid");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                decimal.TryParse(dataRow[userFieldName].ToString().Trim(), out amount);
                claim.CoverageDPaid = amount;
            }

            // Total Expenses Paid
            userFieldName = Core.CSVHelper.getUserFieldName(this.mappedFields, "Total Expenses Paid");
            if (!string.IsNullOrEmpty(userFieldName) && dataRow[userFieldName] != null)
            {
                decimal.TryParse(dataRow[userFieldName].ToString().Trim(), out amount);
                claim.TotalExpensesPaid = amount;
            }
            #endregion

            claim = ClaimsManager.Save(claim);

            return(claim);
        }