Solved

VB.NET program help

Posted on 2011-03-22
2
286 Views
Last Modified: 2012-05-11
I have an ASP.NET app, I need some help in achieving this particular logic of code.

I have an arraylist which holds a custom object Sample ( SampleTest, Frequency)
Here is some data from the Arraylist

1) Sample A, MWF
2)SampleB, TTH
3)Sample C, Daily
4) SampleD, Weekly
5) Sample e , Monthly

I need to create one or more SampleOrders between two dates supplied. All days are valid working days

So my method has the following

Function CreateOrders (arrayList, StartDate and EndDate) As OrderList
END Function

In the above test data assumimg there are 61 days, with Start date 03/01/2011 and end date 04/30/2011, would result in 61 orders.

But on 03/01 being a Tuesday we would have the Order having the following SAmpleTests
Sample C, Sample B, Sample D, and Sample E (weekly and monthly test always begin on the StartDate entered)

on 3/2 being a Wed We would have an Order with
Sample C, Sample A

3/3 Order
Sample C, Sample B

3/4 Order
Sample C

3/5 Order
Sample C

3/6 Order
Sample C

3/7 Order
Sample C

3/8 Order
Sample C, Sample B, Sample D

4/1
Sample C, Sample E

In the above scenario we would have weekly sample test - Sample D done on 3/1, 3/8, 3/15. 3/22, 3/29 , 4/5, 4/12, 4/19, 4/26.
The monthly would occur on 3/1/ and 4/1

I need to be able to group these tests into Orders, with the Order date the tests need to be conducted based on the fequency.



0
Comment
Question by:countrymeister
2 Comments
 
LVL 7

Accepted Solution

by:
foobarr earned 500 total points
ID: 35189256
Well it sounds as though you will need to do a bit of date calculations

dim tempDate as DateTime
Dim tempList as ArrayList

tempDate = StartDate

While tempDate <= EndDate

tempList.add(tempDate.ToString("yyyy-MM-dd"))

'These will handle Sample A & B scenarios
tempList.add(ArrayListLookUp(tempDate.DayOfWeek.ToString())) 'You will send whatever day of the week it is to handle Sample A & B.  You will need to perhaps parse the string to wahtever you use for your frequency string.


'Handle the Daily one
'Do your ArraylistLookup and reutrn the value and add to your List
tempList.add(ArrayListLookUp("Daily"))

'Handle the Weekly one.  We are substracting the startdate - the current temporary running date and then mod it by 7.   So if remainder is 0 we know its been 7 days
If tempDate.Subtract(StartDate.Now).Days mod 7 = 0 Then
    tempList.add(ArrayListLookup("Weekly"))
End If

'Monthly you did not mention how you are calculating it, but you could use the same logic as below and go.
If tempDate.Substract(StartDate.Now).Days mod 30 = 0 then
   tempList.add(ArrayListLookup("Monthly"))
end if

tempDate.addDays(1)

Next


In your ArrayListLookup, pass in your searching filter, and then in your SampleData arraylist, lookup the filter and return the Sample name

Function ArrayListLookup(filter as string) as string
  dim i as integer
  dim sampleName as string

  for i = 0 to SampleData.count - 1
    if SampleData(i).GetFrequency() = filter then  'Get Frequency could be the name in your Sample Object that will return the frequency
       sampleNAme = SampleData(i).GetSampleValue() 'GetSampleValue could be the name in your Sample Object that will return the sample a -> e.  These are functions (getters) in your object class Sample
        exit for
    end if
  next

return sampleName
end function



sooo...

after all this the expected structured result in the tempList arraylist would be.  (Note I just am writing SAmple A -> E just wanted to show you what your arraylist would look like structurally...)

2011-03-22
Sample A
Sample B
Sampel C
2011-03-23
Sample D
Sample E
2011-03-24
Sample A
Sample B
Sample C
etc.
etc.

0
 
LVL 1

Author Closing Comment

by:countrymeister
ID: 35223214
just got some overview on the code
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
performance issue in asp web 5 30
imap read mail 1 28
Help with exporting to excel 4 27
DataTables + iCheck + pagination Issue 2 17
Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question