|
Hi, I'm new to VB.Net.
I want help to develop a Time sheet project.
Abstract:
employees log-in and log-out time has to be entered,hours worked on a particular project has to be entered,status of the projects should be managed,personnel information of the employee has to be maintained,payroll report has to be prepared with the information.
Can anyone guide me on this.
Thanks in Advance
|
|
|
|
|
Take a look at the "Employee Starter Kit" and the "Time Tracker Starter Kit"
Your question is rather broad. You'll need to create a database and a GUI - but most off all, you'll need to define some specifications. Where are the employees names' stored? Are you going to retrieve them from an Active Directory? Or do they sign-in in your application? What information is expected in the payroll report? Do they have to include special rates for working in the weekends?
Lots of questions, hope they help to get you started.
I are troll
|
|
|
|
|
thanks for ur reply.
it would definitely help me to prepare a detailed specification.
will soon get to u with the spec
thanks a lot
|
|
|
|
|
Aim:
A web based system which manages the Project related activities as well as Team related activities at a central location.
Abstract:
This system captures all the daily activities of the project and team and provides the appropriate interface to manage both the type of data in a centralized location.
The system works on level wise. This means that: Department manager, Project Manger, Project Leader and Team member have different types of login accounts.
The system provides a graphical representation of individual utilizations.
It generates weekly or monthly timesheet reports.
Relevant information regarding projects and teams are always available to the users which makes them well informed about the status.
Level wise system activity: Team Members
They input daily timesheet and leave details into the system.
System provides them with the summary of their inputs.
System also provides them with the progress of the project.
It provides them with their utilizations.
Level wise system activity: Project Leaders/Project managers
Adding new packages to the projects.
Allocating team members to the packages.
The system provides the Team Performance, Package progress, generates individual time sheets for team members.
Kindly help me out with this abstract/specification
Thanks
|
|
|
|
|
That's a good start actually
You've now got a short list of what the customer expects of the application. Lets call this the "Customer Spec". The track described here is loosely based on a formal approach. That means that it's more time-consuming than just firing up Visual Studio and starting to pound code - whether that's worth your time, is up to you.
The extra documentation gives a better view on the size of the project, and thus gives you a better indication of the time required to build it. It's a lot of work, and some steps may seem trivial enough to skip. To sum it, there are three important documents that are generally 'done';
- A definition study
Being a short list of wishes on which you base the Functional Specs. We named this the "Customer Spec", and you've already completed it.
- A functional specification
Detailing how each screen will look, what the different buttons do and so forth. This is based on the previous document, and will give your customer an idea what to expect.
- A technical specification
Detailing how you're going to build the screens that you mentioned in the funtional specification.
Following this route, you'd need to build a Functional Spec next. Joel Spolsky has done some great articles on the writing of functional specifications that you can find here;
Painless Functional Specifications
* Part 1: Why Bother?
* Part 2: What's a spec?
* Part 3: But.. How?
* Part 4: Tips
There are two examples on his site that you can view;
* WhatTimeIsIt (An example specs based on a fictional product)
* The Aardvark Spec (Real spec from a real product)
Once that is done, you could opt to translate this functional design (how does it look & work) to a technical design (how is it going to work?)
vijay2482 wrote: Aim:
A web based system which manages the Project related activities as well as Team related activities at a central location.
Here you have identified two important entities. You'll have to flesh them out into detail in the TechSpecs; what facts are you going to store about a project? What facts are you going to store of a Team? How do the entities relate to each other?
This is the start of your database-design, and might look something like this for Project:
Table: Project
----------------------------------------------
ProjectNumber (number)
ProjectName (text)
ProjectInitiationDate (datetime)
ProjectDescription (text)
ProjectLeader (reference to Employee-table, or just text?)
Defining these things helps in creating the structure. As it shows in the example above, it's not sure from the "Customer Spec" whether it's enough to store the name of the project-leader. These kind of "holes" in the design become apparent once you start working out the structure.
vijay2482 wrote: The system works on level wise. This means that: Department manager, Project Manger, Project Leader and Team member have different types of login accounts.
The system provides a graphical representation of individual utilizations.
Let's call the different types of login accounts "Roles". A "Employee" has a "Role", and depending on his/her Role, they can or cannot view/do things. ASP.NET has some standard-controls that could help you provide this functionality. More information on Users and Roles can be found here[^].
vijay2482 wrote: It generates weekly or monthly timesheet reports.
Relevant information regarding projects and teams are always available to the users which makes them well informed about the status.
Do you have examples of how these should look like? What information does the weekly report contain? What SQL-queries would you need to retrieve that information from your previously defined model?
That's a lot of questions to answer, and like I said before, it's a lot of work. Then again, it's easier to change the specs then it is to change sourcecode
Hope this helps,
I are troll
|
|
|
|
|
oh, their is a lot to do in documentation before starting the coding
will start to do each spec and understand the essentials before getting into the scripting work
thanks
|
|
|
|
|
vijay2482 wrote: oh, their is a lot to do in documentation before starting the coding
Documentation is the first thing that's skipped.. Still, I wouldn't want to build a house without a plan and some drawings.
Documentation is also a way to protect yourself. Your customer/boss/employer might think that it's easy to write a 'small' TimeSheet-project, and he might start making a list of features/reports/wishes that's long enough to keep 10 programmers occupied for a year. The document breaks your assignment into pieces, and lot's of pieces are lots of work.
I just hope that I didn't discourage you with the amount of documentation
I are troll
|
|
|
|
|
Abstract Classes
An abstract class is the one that is not used to create objects. An abstract class is designed to act as a base class (to be inherited by other classes). Abstract class is a design concept in program development and provides a base upon which other classes are built. Abstract classes are similar to interfaces. After declaring an abstract class, it cannot be instantiated on it's own, it must be inherited. Like interfaces, abstract classes can specify members that must be implemented in inheriting classes. Unlike interfaces, a class can inherit only one abstract class. Abstract classes can only specify members that should be implemented by all inheriting classes.
More Details : Abstract
|
|
|
|
|
|
|
I have been asked to include a line to send an email within an XL macro.
ActiveWorkbook.SendMail _
Recipients:="someone@somewhere.com", _
Subject:="Bank Balances " & Format(Date, "dd/mmm/yy")
This line works fine, but I get a warning...
"A Program is trying to send an email on your behalf. If this is unexpected, click deny and verify your antivirus software is up to date.
Allow Deny Help"
Is there any way to circumvent this?
I am dealing with a man who is totally techless, I need him to click one button and job done, so warnings like this are beyond him.
(My Managing Director (!))
------------------------------------
"The greatest tragedy in mankind's entire history may be the hijacking of morality by religion"
Arthur C Clarke
|
|
|
|
|
There is a way around this by using a third party DLL. It's called Outlook Redemption which gets works around the secuirty issues of Outlook, like the one that you mentioned. Take a look at http://www.dimastr.com/redemption/[^]
|
|
|
|
|
You still get a warning then.
Something along the lines off:
An external program is trying to get access.
Do you want to allow this?
and you can then give a period of time (max 10min I think) for which the warning will be suppressed.
The only way I know off is to use SMTP mailing.
|
|
|
|
|
I use Redemption.SafeMailItem to successfully send messages from Outlook with no warning messages. Although, this is from an XP OS not Vista. Maybe Tom was talking about from a Vista machine?
|
|
|
|
|
No from a windows 2003 terminal server
I do think I had the same issue on an XP but I'm not sure.
And we do have an exchange maybe that play's a role but I doubt it.
|
|
|
|
|
Hi, I have downloaded Redemption and installed.
How do I call its functionality in VBA?
I need the "SendSafeItem".
------------------------------------
"The greatest tragedy in mankind's entire history may be the hijacking of morality by religion"
Arthur C Clarke
|
|
|
|
|
In very much the same way as if you were calling the Outlook functionality as the Redemption objects provide the same methods as the Outlook objects.
This is taken from the Redemption website where you will find all the inoformation you need:
dim SafeItem, oItem
set SafeItem = CreateObject("Redemption.SafeMailItem") 'Create an instance of Redemption.SafeMailItem
set oItem = Application.CreateItem(0) 'Create a new message
SafeItem.Item = oItem 'set Item property
SafeItem.Recipients.Add "somebody@somewhere.com"
SafeItem.Recipients.ResolveAll
SafeItem.Subject = "Testing Redemption"
SafeItem.Send
|
|
|
|
|
I see thank you.
Having read through it makes perfect sense now.
I just didn't want to appear foolish, so thought better to ask first than ask after!
------------------------------------
"The greatest tragedy in mankind's entire history may be the hijacking of morality by religion"
Arthur C Clarke
|
|
|
|
|
No problem
|
|
|
|
|
Hi Arthur,
I think what Tom suggested is right , you may use a smpt Client to send a mail you can attach you excel file to the mail , just create a small exe file , which send the mail , your manager can click on the exe and the mail is sent , following is the code from one of my application , this code was used to send the mail , i hope this may help you .
it use an smtp server,please enter proper email id as marked in the comments , i have tested it from a gmail account
Dim smtpClient As New Net.Mail.SmtpClient()
Dim mail As New Net.Mail.MailMessage()
'create the message to be sent
mail.To.Add("test@test.com") ' Enter the Email of the person you want to send the mail to
mail.From = New Net.Mail.MailAddress("username@gmail.com", "Your Display Name") ' Enter Your email address
mail.Subject = "Test Message"
mail.Body = "This is a test message"
' Prepare the client to send the above message
'Attach the file as attachment
mail.Attachments.Add(new System.Net.Mail.Attachment("yourFileName.xls"))
smtpClient.Host = "smtp.gmail.com"
smtpClient.EnableSsl = True
smtpClient.Port = 587
smtpClient.Credentials = New Net.NetworkCredential("username@gmail.com", "password") 'Enter username and password of the account , you want to use to send mail
smtpClient.DeliveryMethod = Net.Mail.SmtpDeliveryMethod.Network
smtpClient.Send(mail)
Hope this help
|
|
|
|
|
Hi I am currently working on a app that prints a html invoice using Internet Explorer. as follows
Dim internetExplorer As New SHDocVw.InternetExplorerClass()
Dim webBrowser As SHDocVw.IWebBrowser2 = CType(internetExplorer, SHDocVw.IWebBrowser2)
'// Make the web browser visible. //
webBrowser.Visible = False
'
Dim noValue As Object = System.Reflection.Missing.Value
webBrowser.Navigate("file://" + fileName, noValue, noValue, noValue, noValue)
Threading.Thread.Sleep(1000)
'// Get access to the webbrowser's document.
Dim htmlDoc As mshtml.IHTMLDocument2 = internetExplorer.Document
Dim o As Object = ""
htmlDoc.execCommand("Print", False, o)
htmlDoc.close()
I read in the documentation that one can set a value for nCmdExecOpt to OLECMDEXECOPT_DONTPROMPTUSER for the dialog. I just can't seem to figure out where to set it. All help greatly appreaciated. Tx
Stephen Lintott Bsc IT (RAU)
|
|
|
|
|
Stephen Lintott wrote: webBrowser.Navigate("file://" + fileName, noValue, noValue, noValue, noValue) Threading.Thread.Sleep(1000)
The Thread.Sleep line is of no use. It's making the improper assumption that the page takes, at MOST, 1 second to load. It's better to check the Busy property every so often to know when the browser is ready.
You can't use that trick with the .NET version of the WebBrowser control. You have to use the COM server that IE exposes directly to do that. A sample of which can be found here[^]. The code is in C#, but is easily converted to VB.NET using any online code conversion utility or, even better, done by hand.
|
|
|
|
|
Thats all fine and good but it doesn't answer the original question. Any help with that?
Stephen Lintott Bsc IT (RAU)
|
|
|
|
|
Thanks for down-voting me, and YES, it DOES answer the original question. You cannot use the .NET WebBrowser control to do what you want. You have to use the unwrapped COM server IE exposes, THEN you can use the technique you described. I even posted a link to a code example showing you exactly how to do it.
So, how did that not answer the original post?
|
|
|
|
|
Thanks.
Stephen Lintott Bsc IT (RAU)
|
|
|
|