/*

            Frontend page: Report viewr(Report Page)
            Title: Get advance unit details(this session)
            Designed: Kanishk SHM
            User story: 
            Developed: Kanishk SHM
            Date created: 

        */
        public List<RptAddUnit> AdvanceUnitsDuringSession(string unitIdList)
        {
            List<RptAddUnit> AdvanceUnits = new List<RptAddUnit>();

            DataHandler dataHandler = new DataHandler();

            List<object[]> paramertList = new List<object[]>();
            paramertList.Add(new object[] { "@Input", unitIdList });
            try
            {
                DataSet dataSet = dataHandler.GetDataSet("spGetAdvanceUnitsDuringSession", paramertList);

                if (dataSet != null && dataSet.Tables.Count != 0)
                {
                    foreach (DataRow dataRow in dataSet.Tables[0].Rows)
                    {
                        RptAddUnit unit = new RptAddUnit();
                        unit.LoanId = Convert.ToInt32(dataRow["loan_id"]);
                        unit.AdvanceDate = Convert.ToDateTime(dataRow["advance_date"]).ToString("MM/dd/yyy");
                        unit.IdentificationNumber = dataRow["identification_number"].ToString();
                        unit.Year = Convert.ToInt32(dataRow["year"]);
                        unit.Make = dataRow["make"].ToString();
                        unit.Model = dataRow["model"].ToString();
                        unit.AdvanceAmount = (dataRow["advance_amount"]) != DBNull.Value ? (Decimal)dataRow["advance_amount"] : (Decimal)0.00M;
                        int status = Convert.ToInt32(dataRow["title_status"]);

                        if (status == 0)
                        {
                            unit.TitleStatus = "Not Received";
                        }
                        else if (status == 1)
                        {
                            unit.TitleStatus = "Received";
                        }
                        else if (status == 2)
                        {
                            unit.TitleStatus = "Returned to Dealer";
                        }

                        AdvanceUnits.Add(unit);

                    }
                }

            }
            catch (Exception ex)
            {
                throw ex;
            }

            return AdvanceUnits;
        }
        /// <summary>
        /// CreatedBy:Irfan
        /// CreatedDate:2016/2/24
        /// Get just added units by loan id and user id
        /// </summary>
        /// <param name="loanId"></param>
        /// <returns>list of units</returns>
        public List<RptAddUnit> GetJustAddedUnitDetails(int userId, int loanId)
        {

            List<RptAddUnit> justAddedUnitList = new List<RptAddUnit>();

            DataHandler dataHandler = new DataHandler();
            List<object[]> paramertList = new List<object[]>();
            paramertList.Add(new object[] { "@loan_id", loanId });
            paramertList.Add(new object[] { "@user_id", userId });

            DataSet dataSet = dataHandler.GetDataSet("spGetJustAddedUnitsByLoanId", paramertList);

            if (dataSet != null && dataSet.Tables.Count != 0)
            {
                foreach (DataRow dataRow in dataSet.Tables[0].Rows)
                {
                    RptAddUnit justAddedUnit = new RptAddUnit();

                    justAddedUnit.AddDate = !dataRow.IsNull("created_date") ? Convert.ToDateTime(dataRow["created_date"]).ToString("MM/dd/yyy") : "";
                    justAddedUnit.AdvanceDate = !dataRow.IsNull("advance_date") ? Convert.ToDateTime(dataRow["advance_date"]).ToString("MM/dd/yyy") : "";

                    justAddedUnit.IdentificationNumber = dataRow["identification_number"].ToString();
                    justAddedUnit.Year = Convert.ToInt32(dataRow["year"]);
                    justAddedUnit.Make = dataRow["make"].ToString();
                    justAddedUnit.Model = dataRow["model"].ToString();
                    justAddedUnit.PurchasePrice = (dataRow["cost"]) != DBNull.Value ? (Decimal)dataRow["cost"] : (Decimal)0.00M;
                    justAddedUnit.AdvanceAmount = (dataRow["advance_amount"]) != DBNull.Value ? (Decimal)dataRow["advance_amount"] : (Decimal)0.00M;
                    justAddedUnit.UnitStaus = Convert.ToBoolean(dataRow["is_advanced"]) ? "Advanced" : "Not Advanced";
                    int status = Convert.ToInt32(dataRow["title_status"]);

                    if (status == 0)
                    {
                        justAddedUnit.TitleStatus = "Not Received";
                    }
                    else if (status == 1)
                    {
                        justAddedUnit.TitleStatus = "Received";
                    }
                    else if (status == 2)
                    {
                        justAddedUnit.TitleStatus = "Returned to Dealer";
                    }

                    justAddedUnitList.Add(justAddedUnit);

                }
            }

            return justAddedUnitList;

        }