Beispiel #1
0
 public List <Enquiry> GetAllEnquiry(EnquiryAdvanceSearch enquiryAdvanceSearch)
 {
     return(_enquiryRepository.GetAllEnquiry(enquiryAdvanceSearch));
 }
        public List <Enquiry> GetAllEnquiry(EnquiryAdvanceSearch enquiryAdvanceSearch)
        {
            List <Enquiry> enquiryList = null;

            try
            {
                using (SqlConnection con = _databaseFactory.GetDBConnection())
                {
                    using (SqlCommand cmd = new SqlCommand())
                    {
                        if (con.State == ConnectionState.Closed)
                        {
                            con.Open();
                        }
                        cmd.Connection  = con;
                        cmd.CommandText = "[PSA].[GetAllEnquiry]";
                        if (string.IsNullOrEmpty(enquiryAdvanceSearch.SearchTerm))
                        {
                            cmd.Parameters.AddWithValue("@SearchTerm", DBNull.Value);
                        }
                        else
                        {
                            cmd.Parameters.Add("@SearchTerm", SqlDbType.NVarChar, -1).Value = enquiryAdvanceSearch.SearchTerm;
                        }
                        cmd.Parameters.Add("@RowStart", SqlDbType.Int).Value = enquiryAdvanceSearch.DataTablePaging.Start;
                        if (enquiryAdvanceSearch.DataTablePaging.Length == -1)
                        {
                            cmd.Parameters.AddWithValue("@Length", DBNull.Value);
                        }
                        else
                        {
                            cmd.Parameters.Add("@Length", SqlDbType.Int).Value = enquiryAdvanceSearch.DataTablePaging.Length;
                        }
                        cmd.Parameters.Add("@FromDate", SqlDbType.DateTime).Value = enquiryAdvanceSearch.AdvFromDate;
                        cmd.Parameters.Add("@Todate", SqlDbType.DateTime).Value   = enquiryAdvanceSearch.AdvToDate;
                        if (enquiryAdvanceSearch.AdvCustomerID == Guid.Empty)
                        {
                            cmd.Parameters.AddWithValue("@CustomerID", DBNull.Value);
                        }
                        else
                        {
                            cmd.Parameters.Add("@CustomerID", SqlDbType.UniqueIdentifier).Value = enquiryAdvanceSearch.AdvCustomerID;
                        }
                        cmd.Parameters.Add("@AreaCode", SqlDbType.Int).Value            = enquiryAdvanceSearch.AdvAreaCode;
                        cmd.Parameters.Add("@ReferencePersonCode", SqlDbType.Int).Value = enquiryAdvanceSearch.AdvReferencePersonCode;
                        cmd.Parameters.Add("@BranchCode", SqlDbType.Int).Value          = enquiryAdvanceSearch.AdvBranchCode;
                        cmd.Parameters.Add("@DocumentStatusCode", SqlDbType.Int).Value  = enquiryAdvanceSearch.AdvDocumentStatusCode;
                        if (enquiryAdvanceSearch.AdvDocumentOwnerID == Guid.Empty)
                        {
                            cmd.Parameters.AddWithValue("@DocumentOwnerID", DBNull.Value);
                        }
                        else
                        {
                            cmd.Parameters.Add("@DocumentOwnerID", SqlDbType.UniqueIdentifier).Value = enquiryAdvanceSearch.AdvDocumentOwnerID;
                        }
                        cmd.CommandType = CommandType.StoredProcedure;
                        using (SqlDataReader sdr = cmd.ExecuteReader())
                        {
                            if ((sdr != null) && (sdr.HasRows))
                            {
                                enquiryList = new List <Enquiry>();
                                while (sdr.Read())
                                {
                                    Enquiry enquiry = new Enquiry();
                                    {
                                        enquiry.ID                         = (sdr["ID"].ToString() != "" ? Guid.Parse(sdr["ID"].ToString()) : enquiry.ID);
                                        enquiry.EnquiryNo                  = (sdr["EnquiryNo"].ToString() != "" ? sdr["EnquiryNo"].ToString() : enquiry.EnquiryNo);
                                        enquiry.EnquiryDate                = (sdr["EnquiryDate"].ToString() != "" ? DateTime.Parse(sdr["EnquiryDate"].ToString()) : enquiry.EnquiryDate);
                                        enquiry.EnquiryDateFormatted       = (sdr["EnquiryDate"].ToString() != "" ? DateTime.Parse(sdr["EnquiryDate"].ToString()).ToString(_settings.DateFormat) : enquiry.EnquiryDateFormatted);
                                        enquiry.RequirementSpec            = (sdr["RequirementSpec"].ToString() != "" ? sdr["RequirementSpec"].ToString() : enquiry.RequirementSpec);
                                        enquiry.CustomerID                 = (sdr["CustomerID"].ToString() != "" ? Guid.Parse(sdr["CustomerID"].ToString()) : enquiry.CustomerID);
                                        enquiry.Customer                   = new Customer();
                                        enquiry.CustomerID                 = (sdr["CustomerID"].ToString() != "" ? Guid.Parse(sdr["CustomerID"].ToString()) : enquiry.Customer.ID);
                                        enquiry.Customer.CompanyName       = (sdr["CompanyName"].ToString() != "" ? sdr["CompanyName"].ToString() : enquiry.Customer.CompanyName);
                                        enquiry.Customer.ContactPerson     = (sdr["ContactPerson"].ToString() != "" ? sdr["ContactPerson"].ToString() : enquiry.Customer.ContactPerson);
                                        enquiry.Customer.Mobile            = (sdr["Mobile"].ToString() != "" ? sdr["Mobile"].ToString() : enquiry.Customer.Mobile);
                                        enquiry.EnquiryGradeCode           = (sdr["GradeCode"].ToString() != "" ? int.Parse(sdr["GradeCode"].ToString()) : enquiry.EnquiryGradeCode);
                                        enquiry.EnquiryGrade               = new EnquiryGrade();
                                        enquiry.EnquiryGrade.Code          = (sdr["GradeCode"].ToString() != "" ? int.Parse(sdr["GradeCode"].ToString()) : enquiry.EnquiryGrade.Code);
                                        enquiry.EnquiryGrade.Description   = (sdr["EnquiryGradeDescription"].ToString() != "" ? sdr["EnquiryGradeDescription"].ToString() : enquiry.EnquiryGrade.Description);
                                        enquiry.DocumentStatusCode         = (sdr["DocumentStatusCode"].ToString() != "" ? int.Parse(sdr["DocumentStatusCode"].ToString()) : enquiry.DocumentStatusCode);
                                        enquiry.DocumentStatus             = new DocumentStatus();
                                        enquiry.DocumentStatus.Code        = (sdr["DocumentStatusCode"].ToString() != "" ? int.Parse(sdr["DocumentStatusCode"].ToString()) : enquiry.DocumentStatus.Code);
                                        enquiry.DocumentStatus.Description = (sdr["DocumentStatusDescription"].ToString() != "" ? (sdr["DocumentStatusDescription"].ToString()) : enquiry.DocumentStatus.Description);
                                        enquiry.ReferredByCode             = (sdr["ReferredByCode"].ToString() != "" ? int.Parse(sdr["ReferredByCode"].ToString()) : enquiry.ReferredByCode);
                                        enquiry.ReferencePerson            = new ReferencePerson();
                                        enquiry.ReferencePerson.Code       = (sdr["ReferredByCode"].ToString() != "" ? int.Parse(sdr["ReferredByCode"].ToString()) : enquiry.ReferencePerson.Code);
                                        enquiry.ReferencePerson.Name       = (sdr["ReferencePersonName"].ToString() != "" ? (sdr["ReferencePersonName"].ToString()) : enquiry.ReferencePerson.Name);
                                        enquiry.ResponsiblePersonID        = (sdr["ResponsiblePersonID"].ToString() != "" ? Guid.Parse(sdr["ResponsiblePersonID"].ToString()) : enquiry.ResponsiblePersonID);
                                        enquiry.AttendedByID               = (sdr["AttendedByID"].ToString() != "" ? Guid.Parse(sdr["AttendedByID"].ToString()) : enquiry.AttendedByID);
                                        enquiry.GeneralNotes               = (sdr["GeneralNotes"].ToString() != "" ? sdr["GeneralNotes"].ToString() : enquiry.GeneralNotes);
                                        enquiry.DocumentOwnerID            = (sdr["DocumentOwnerID"].ToString() != "" ? Guid.Parse(sdr["DocumentOwnerID"].ToString()) : enquiry.DocumentOwnerID);
                                        enquiry.PSAUser                    = new PSAUser();
                                        enquiry.PSAUser.LoginName          = (sdr["DocumentOwner"].ToString() != "" ? (sdr["DocumentOwner"].ToString()) : enquiry.PSAUser.LoginName);
                                        enquiry.BranchCode                 = (sdr["BranchCode"].ToString() != "" ? int.Parse(sdr["BranchCode"].ToString()) : enquiry.BranchCode);
                                        enquiry.Branch                     = new Branch();
                                        enquiry.Branch.Description         = (sdr["Branch"].ToString() != "" ? (sdr["Branch"].ToString()) : enquiry.Branch.Description);
                                        enquiry.Area                       = new Area();
                                        enquiry.Area.Description           = (sdr["Area"].ToString() != "" ? (sdr["Area"].ToString()) : enquiry.Area.Description);
                                        enquiry.FilteredCount              = (sdr["FilteredCount"].ToString() != "" ? int.Parse(sdr["FilteredCount"].ToString()) : enquiry.FilteredCount);
                                        enquiry.TotalCount                 = (sdr["TotalCount"].ToString() != "" ? int.Parse(sdr["TotalCount"].ToString()) : enquiry.FilteredCount);
                                    }
                                    enquiryList.Add(enquiry);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(enquiryList);
        }