private IEnumerable <CustomerRequestVO> BuildCustomerRequests(DataTable dataTable) { var customerRequests = new List <CustomerRequestVO>(); foreach (DataRow currentRow in dataTable.Rows) { var customerRequest = new CustomerRequestVO { Identity = (int)currentRow["CUS_REQ_I"], Status = currentRow["PRS_STT"].ToString(), BusinessEntityKey = currentRow["BUS_UNT_ETY_NM"].ToString(), TypeCode = currentRow["REQ_TYP_C"].ToString(), ConsumerClassificationType = currentRow["CNSM_CLS"].ToString(), CreatedDate = (DateTime?)currentRow["CRT_S"], CreatedUserId = currentRow["CRT_UID"].ToString(), CreatedProgramCode = currentRow["CRT_PGM_C"].ToString(), LastUpdatedDate = (DateTime?)currentRow["LST_UPD_S"], LastUpdatedUserId = currentRow["LST_UPD_UID"].ToString(), LastUpdatedProgramCode = currentRow["LST_UPD_PGM_C"].ToString() }; customerRequest.Appointments = GetAppointmentsByCustomerRequest(customerRequest).ToList(); customerRequest.Comments = GetCommentsByCustomerRequest(customerRequest).ToList(); customerRequest.ReferenceNumbers = GetReferenceNumbersByCustomerRequest(customerRequest).ToList(); customerRequest.Stops = GetStopsByCustomerRequest(customerRequest).ToList(); customerRequests.Add(customerRequest); } return(customerRequests); }
public void Create_SetsProject() { var customerRequest = new CustomerRequestVO { BusinessEntityKey = ProjectCodes.Southeastern }; var actual = OrderFactory.GetInstance().Create(customerRequest); Assert.AreEqual(ProjectCodes.Southeastern, actual.Project); }
public Order Create(CustomerRequestVO customerRequest) => customerRequest == null ? null : new Order { OrderNumber = SetOrderNumberFromReferenceNumber(customerRequest.ReferenceNumbers), Origin = customerRequest.Stops.Any() ? SetOrderOriginFromStopVO(customerRequest.Stops.First()) : null, Destination = customerRequest.Stops.Any() ? SetOrderDestinationFromStopVO(customerRequest.Stops.Last()) : null, Scheduled = customerRequest.Appointments.Count < 2 ? Scheduled.Empty : SetSchedule(customerRequest.Appointments.Last()), Project = customerRequest.BusinessEntityKey ?? string.Empty, WorkType = string.IsNullOrEmpty(customerRequest.ConsumerClassificationType) ? null : SetWorkTypeFromConsumerClassificationType(customerRequest.ConsumerClassificationType), LegType = customerRequest.Stops.Any() ? SetLegtype(customerRequest.Stops.Last()) : LegType.Pickup, };
public void Create_SetsWorkType() { var customerRequest = new CustomerRequestVO { ConsumerClassificationType = ConsumerClassificationTypes.Residential }; var actual = OrderFactory.GetInstance().Create(customerRequest); Assert.AreEqual(WorkType.Home, actual.WorkType); }
public void GetCustomerRequestByIdentity_ReturnsHydratedEntity() { var hydratedEntity = new CustomerRequestVO(); MockHydrater.Setup(m => m.Hydrate(It.IsAny <DataTable>())).Returns(new List <CustomerRequestVO> { hydratedEntity }); var actual = Target.GetCustomerRequestByIdentity(new CustomerRequestVO()); Assert.AreEqual(hydratedEntity, actual); }
public void Create_SetsScheduledEmptyWhenNotExists() { var customerRequest = new CustomerRequestVO(); customerRequest.Appointments.Add(new AppointmentVO { FunctionType = AppointmentFunctionTypes.Target, AppointmentBegin = DateTime.Today, AppointmentEnd = DateTime.Today.AddDays(1) }); var actual = OrderFactory.GetInstance().Create(customerRequest); Assert.AreEqual(Scheduled.Empty, actual.Scheduled); }
public IEnumerable <ReferenceNumberVO> GetReferenceNumbersByCustomerRequest(CustomerRequestVO customerRequest) { const string selectQueryStatement = "SELECT * FROM REQ_ETY_REF_NBR WHERE ETY_NM = 'CUS_REQ' AND ETY_KEY_I = @CUS_REQ_I"; var query = Database.CreateQuery(selectQueryStatement); query.AddParameter(customerRequest.Identity, CustomerRequestQueryParameters.Identity); var result = Database.RunSelect(query); var referenceNumberByCustomerRequest = Hydrater.Hydrate(result); return(referenceNumberByCustomerRequest); }
public CustomerRequestVO GetCustomerRequestByIdentity(CustomerRequestVO customerRequest) { const string selectQueryStatement = "SELECT * FROM CUS_REQ WHERE CUS_REQ_I = @CUS_REQ_I"; var query = Database.CreateQuery(selectQueryStatement); query.AddParameter(customerRequest.Identity, CustomerRequestQueryParameters.Identity); var result = Database.RunSelect(query); var customerRequestByIdentity = Hydrater.Hydrate(result).FirstOrDefault(); return(customerRequestByIdentity); }
public IEnumerable <CommentVO> GetCommentsByCustomerRequest(CustomerRequestVO customerRequest) { var cus_Request = customerRequest.Identity; const string selectQueryStatement = "SELECT * FROM REQ_ETY_CMM WHERE ETY_NM = 'CUS_REQ' AND ETY_KEY_I= @CUS_REQ_I"; var query = Database.CreateQuery(selectQueryStatement); query.AddParameter(cus_Request, CustomerRequestQueryParameters.Identity); var result = Database.RunSelect(query); var CommentsByCustomerRequest = Hydrater.Hydrate(result); return(CommentsByCustomerRequest); }
public void Create_SetsLegType() { var customerRequest = new CustomerRequestVO(); customerRequest.Stops.Add(new StopVO { StopNumber = 1 }); customerRequest.Stops.Add(new StopVO { StopNumber = 2, RoleType = StopRoleTypes.InstallerPickup }); var actual = OrderFactory.GetInstance().Create(customerRequest); Assert.AreEqual(LegType.Pickup, actual.LegType); }
public void Create_SetsOrderNumber() { var customerRequest = new CustomerRequestVO(); customerRequest.ReferenceNumbers.Add(new ReferenceNumberVO { ReferenceNumber = "1", ReferenceNumberType = ReferenceNumberTypes.PurchaseOrderNumber }); customerRequest.ReferenceNumbers.Add(new ReferenceNumberVO { ReferenceNumber = "2", ReferenceNumberType = ReferenceNumberTypes.BillOfLading }); var actual = OrderFactory.GetInstance().Create(customerRequest); Assert.AreEqual("2", actual.OrderNumber.ToString()); }
public IEnumerable <CustomerRequestVO> GetCustomerRequestsByReferenceNumber(CustomerRequestVO customerRequest) { var referenceNumber = customerRequest.ReferenceNumbers.First().ReferenceNumber; const string selectQueryStatement = "SELECT A.* FROM CUS_REQ A, REQ_ETY_REF_NBR B WHERE " + "B.ETY_NM = 'CUS_REQ' AND B.ETY_KEY_I = A.CUS_REQ_I AND " + "B.REF_NBR = @REF_NBR"; var query = Database.CreateQuery(selectQueryStatement); query.AddParameter(referenceNumber, CustomerRequestQueryParameters.ReferenceNumber); var result = Database.RunSelect(query); var customerRequestsByReferenceNumber = Hydrater.Hydrate(result); return(customerRequestsByReferenceNumber); }
public void GetCustomerRequestsByReferenceNumber_ReturnsHydratedEntities() { var hydratedEntities = new CustomerRequestVO(); MockHydrater.Setup(m => m.Hydrate(It.IsAny <DataTable>())).Returns(new List <CustomerRequestVO> { hydratedEntities }); var actual = Target.GetCustomerRequestsByReferenceNumber(new CustomerRequestVO { ReferenceNumbers = new List <ReferenceNumberVO> { new ReferenceNumberVO { ReferenceNumber = "1" } } }); Assert.AreEqual(hydratedEntities, actual.ElementAt(0)); }
private IEnumerable <StopVO> GetStopsByCustomerRequest(CustomerRequestVO customerRequest) { const string selectQueryStatement = "SELECT * FROM REQ_ETY_OGN WHERE ETY_NM = 'CUS_REQ' AND ETY_KEY_I = @CUS_REQ_I"; using (SqlConnection defaultSqlConnection = new SqlConnection(DatabaseConnectionString)) { defaultSqlConnection.Open(); DataTable queryResult = new DataTable(); using (SqlCommand queryCommand = new SqlCommand(selectQueryStatement, defaultSqlConnection)) { queryCommand.Parameters.AddWithValue("@CUS_REQ_I", customerRequest.Identity); var sqlReader = queryCommand.ExecuteReader(); queryResult.Load(sqlReader); } var StopsByCustomerRequest = BuildStops(queryResult); return(StopsByCustomerRequest); } }
public void Create_SetsDestination() { var customerRequest = new CustomerRequestVO(); customerRequest.Stops.Add(new StopVO { StopNumber = 1, OrganizationName = "Southeastern", AddressLine1 = "1205 N Oak Street", AddressCityName = "Hammond", AddressStateCode = "LA", AddressPostalCode = "70402" }); customerRequest.Stops.Add(new StopVO { StopNumber = 2, OrganizationName = "Bob Smith", AddressLine1 = "555 Somewhere Ave", AddressCityName = "Nowhere", AddressStateCode = "LA", AddressPostalCode = "76543" }); var actual = OrderFactory.GetInstance().Create(customerRequest); Assert.IsInstanceOfType(actual.Destination, typeof(Customer)); Assert.AreEqual("Bob Smith", actual.Destination.Name); Assert.AreEqual("555 Somewhere Ave", actual.Destination.Address.AddressLines[0]); Assert.AreEqual(String.Empty, actual.Destination.Address.AddressLines[1]); Assert.AreEqual("Nowhere", actual.Destination.Address.City); Assert.AreEqual("LA", actual.Destination.Address.StateCode); Assert.AreEqual("76543", actual.Destination.Address.PostalCode); }
public IEnumerable <CustomerRequestVO> GetCustomerRequestsByReferenceNumberAndBusinessName(CustomerRequestVO customerRequest) { var referenceNumber = customerRequest.ReferenceNumbers.First().ReferenceNumber; var businessName = customerRequest.BusinessEntityKey; const string selectQueryStatement = "SELECT A.* FROM CUS_REQ A, REQ_ETY_REF_NBR B WHERE " + "A.BUS_UNT_KEY_CH = @BUS_UNT_KEY_CH AND B.ETY_NM = 'CUS_REQ' " + "AND B.ETY_KEY_I = A.CUS_REQ_I AND B.REF_NBR = @REF_NBR"; var query = Database.CreateQuery(selectQueryStatement); query.AddParameter(referenceNumber, CustomerRequestQueryParameters.ReferenceNumber); query.AddParameter(businessName, CustomerRequestQueryParameters.BusinessName); var result = Database.RunSelect(query); var customerRequestsByReferenceNumberAndBusinessName = Hydrater.Hydrate(result); return(customerRequestsByReferenceNumberAndBusinessName); }
public IEnumerable <CustomerRequestVO> GetCustomerRequestsByReferenceNumberAndBusinessName(CustomerRequestVO customerRequest) { throw new NotImplementedException(); }
public CustomerRequestVO GetCustomerRequestByIdentity(CustomerRequestVO customerRequest) { throw new NotImplementedException(); }