Knowledge Walls
Gopal Rao
Mumbai, Maharashtra, India
Passcode:
Video Store management program in c#(C Sharp)
4298 Views
Introduction 
Console application for ----BGK Video storewith this application can do following activities
1. Add video
2. Add customer
3. Rent video
4. View due amount
5. Pay due amount
6. View videos
7. Set rent per day amount
0 to Exit
Enter the choice as number(1 to 7)
C# code
	using System;
	using System.Collections.Generic;
	using System.Linq;
	using System.Text;
	using System.Threading.Tasks;
	namespace ConsoleApplication2
	{
	    class Program
	    {
	        static void Main(string[] args)
	        {
	            VideoStore videoStore = new VideoStore();
	            LoanPolicy loanPolicy = new LoanPolicy();
	            loanPolicy.setPerday_rental_charge(20);
	            while (true)
	            {
	                Console.WriteLine("BGK Video store");
	                Console.WriteLine("1. Add video");
	                Console.WriteLine("2. Add customer");
	                Console.WriteLine("3. Rent video");
	                Console.WriteLine("4. View due amount");
	                Console.WriteLine("5. Pay due amount");
	                Console.WriteLine("6. View videos");
	                Console.WriteLine("7. Set rent per day amount");
	                Console.WriteLine("0 to Exit");
	                Console.WriteLine("Enter the choice as number(1 to 7)");
	                int choice = Convert.ToInt32(Console.ReadLine());
	                switch (choice)
	                {
	                    case 1:
	                        Console.WriteLine("Enter the title");
	                        string videoTitle = Console.ReadLine();
	                        Console.WriteLine("Enter the category");
	                        string videoCategory = Console.ReadLine();
	                        Console.WriteLine("Enter No of copies");
	                        int videoCopies = Convert.ToInt32(Console.ReadLine());
	                        videoStore.addVideo(videoTitle, videoCategory, videoCopies);
	                        Console.WriteLine("Video added successfully");
	                        break;
	                    case 2:
	                        Console.WriteLine("Enter the name");
	                        string name = Console.ReadLine();
	                        Console.WriteLine("Enter Phone number");
	                        string phonenumber = Console.ReadLine();
	                        videoStore.addMember(name, phonenumber);
	                        Console.WriteLine("Customer added successfully");
	                        break;
	                    case 3:
	                        Console.WriteLine("Enter the membership id");
	                        int membershipId = Convert.ToInt32(Console.ReadLine());
	                        if (!videoStore.isMemberAvailable(membershipId))
	                        {
	                            Console.WriteLine("Memership Id not available");
	                        }
	                        else
	                        {
	                            videoStore.displayVideos();
	                            while (true)
	                            {
	                                Console.WriteLine("Enter the video id(0 to exit)");
	                                int videoId = Convert.ToInt32(Console.ReadLine());
	                                if (videoId == 0)
	                                {
	                                    break;
	                                }
	                                Console.WriteLine("Enter the Rent days");                           
	    int rentDays = Convert.ToInt32(Console.ReadLine());
	                                if (videoStore.isVideoAvailable(videoId))
	                                {
	                                    videoStore.addRentVideoList(membershipId, videoId, rentDays);
	                                    videoStore.decreaseAvailableCount(videoId);
	                                }
	                                else
	                                {
	                                    Console.WriteLine("Video is not available");
	                                }
	                            }
	                        }
	                        break;
	                    case 4:
	                        Console.WriteLine("Enter the membership id");
	                        int membershipsId = Convert.ToInt32(Console.ReadLine());
	                        if (!videoStore.isMemberAvailable(membershipsId))
	                        {
	                            Console.WriteLine("Memership Id not available");
	                        }
	                        else
	                        {
	                            videoStore.viewRentDue(membershipsId, loanPolicy);
	                            Console.WriteLine("--End--");
	                        }
	                        break;
	                    case 5:
	                        Console.WriteLine("Enter the membership id");
	                        membershipId = Convert.ToInt32(Console.ReadLine());
	                        if (!videoStore.isMemberAvailable(membershipId))
	                        {
	                            Console.WriteLine("Memership Id not available");
	                        }
	                        else
	                        {
	                            videoStore.payRentDue(membershipId);
	                            Console.WriteLine("--End--");
	                        }
	                        break;
	                    case 6:
	                        videoStore.displayVideos();
	                        break;
	                    case 7:
	                        Console.WriteLine("Enter the rental charge");
	                        double perday_rental_charge = Convert.ToDouble(Console.ReadLine());
	                        loanPolicy.setPerday_rental_charge(perday_rental_charge);
	                        break;
	                }
	                if (choice == 0)
	                    break;
	            }
	        }
	    }
	    class Customer
	    {
	        private int membershipId;
	        private string name;
	        private string phoneNumber;
	        public Customer(int membershipId, string name, string phoneNumber)
	        {
	            this.membershipId = membershipId;
	            this.name = name;
	            this.phoneNumber = phoneNumber;
	        }
	        public int getMembershipId()
	        {
	            return membershipId;
	        }
	        public void setMembershipId(int membershipId)
	        {
	            this.membershipId = membershipId;
	        }
	        public string getName()
	        {
	            return name;
	        }
	        public void setName(string name)
	        {
	            this.name = name;
	        }
	        public string getPhoneNumber()
	        {
	            return phoneNumber;
	        }
	        public void setPhoneNumber(string phoneNumber)
	        {
	            this.phoneNumber = phoneNumber;
	        }
	        public string tostring()
	        {
	           return this.getMembershipId() + " - " + this.getName() + " - " + this.getPhoneNumber();
	        }
	    }
	    class LoanPolicy
	    {
	        private double perday_rental_charge;
	        public double getPerday_rental_charge()
	        {
	            return perday_rental_charge;
	        }
	        public void setPerday_rental_charge(double perday_rental_charge)
	        {
	            this.perday_rental_charge = perday_rental_charge;
	        }
	    }
	    class Video
	    {
	        public int id;
	        public string title;
	        public string category;
	        public Video() { }
	        public Video(int id, string title, string category)
	        {
	            this.id = id;
	            this.title = title;
	            this.category = category;
	        }
	        public int getId()
	        {
	            return id;
	        }
	        public void setId(int id)
	        {
	            this.id = id;
	        }
	        public string getTitle()
	        {
	            return title;
	        }
	        public void setTitle(string title)
	        {
	            this.title = title;
	        }
	        public string getCategory()
	        {
	            return category;
	        }
	        public void setCategory(string category)
	        {
	            this.category = category;
	        }
	    }
	    class VideoPlus : Video
	    {
	        private int no_of_copies;
	        private bool available;
	        public VideoPlus(int id, string title, string category, int no_of_copies,
	                bool available)
	        {
	            this.id = id;
	            this.title = title;
	            this.category = category;
	            this.no_of_copies = no_of_copies;
	            this.available = available;
	        }
	        public int getNo_of_copies()
	        {
	            return no_of_copies;
	        }
	        public void setNo_of_copies(int no_of_copies)
	        {
	            this.no_of_copies = no_of_copies;
	        }
	        public bool isAvailable()
	        {
	            return available;
	        }
	        public void setAvailable(bool available)
	        {
	            this.available = available;
	        }
	    }
	    class VideoRental : Video
	    {
	        private int rent_days;
	        private bool rent_status;
	        public VideoRental(int id, string title, string category, int rent_days,
	                bool rent_status)
	        {
	            this.id = id;
	            this.title = title;
	            this.category = category;
	            this.rent_days = rent_days;
	            this.rent_status = rent_status;
	        }
	        public int getRent_days()
	        {
	            return rent_days;
	        }
	        public void setRent_days(int rent_days)
	        {
	            this.rent_days = rent_days;
	        }
	        public bool isRent_status()
	        {
	            return rent_status;
	        }
	        public void setRent_status(bool rent_status)
	        {
	            this.rent_status = rent_status;
	        }
	    }
	    class VideoStore
	    {
	        private Dictionary<int, Customer> customerList = new Dictionary<int, Customer>();
	        private Dictionary<int, VideoPlus> videoList = new Dictionary<int, VideoPlus>();
	        private Dictionary<int, List<VideoRental>> rentVideoList = new Dictionary<int, List<VideoRen
	tal>>();
	        public void addVideo(string title, string category, int no_of_copies)
	        {
	            VideoPlus video = new VideoPlus(videoList.Count() + 1, title, category, no_of_copies, true);
	            videoList.Add(videoList.Count() + 1, video);
	        }
	        public void addMember(string name, string phone_number)
	        {
	            Customer customer = new Customer(customerList.Count() + 1, name, phone_number);
	            customerList.Add(customerList.Count() + 1, customer);
	            Console.WriteLine("Member id is : " + customerList.Count());
	        }
	        public void addRentVideoList(int membershipId, int videoId, int rentdays)
	        {
	            VideoRental videoRental = new VideoRental(videoId, videoList[videoId].getTitle(), videoList[videoId].getCategory(), rentdays, true);
	            if (rentVideoList.ContainsKey(membershipId) == false)
	                rentVideoList.Add(membershipId,new List<VideoRental>());
	            rentVideoList[membershipId].Add(videoRental);
	        }
	        public void viewRentDue(int membershipId, LoanPolicy loanPolicy)
	        {
	            if (rentVideoList.ContainsKey(membershipId)==false)
	            {
	                Console.WriteLine("No due!");
	            }
	            else
	            {
	                double duePayment = 0.0;
	                Console.WriteLine("Id\t|\tTitle\t|\tCategory\t|\tRent Days");
	                    foreach (VideoRental videoRental in rentVideoList[membershipId])
	                    {
	                        if (videoRental.isRent_status())
	                        {
	                            duePayment += videoRental.getRent_days() * loanPolicy.getPerday_rental_charge();
	                            Console.WriteLine(videoRental.getId() + "\t|\t" + videoRental.getTitle() + "\t|\t" + videoRental.getCategory() + "\t|\t" + videoRental.getRent_days());                      
	}
	                    }
	                Console.WriteLine("Total Rent Due: " + duePayment);
	            }
	        }
	        public void payRentDue(int membershipId)
	        {
	            bool hasDueAmount = false;
	            if (rentVideoList.ContainsKey(membershipId) == true)
	            {
	                foreach (VideoRental videoRental in rentVideoList[membershipId])
	                {
	                    if (videoRental.isRent_status())
	                    {
	                       hasDueAmount = true;
	                       break;
	                    }
	                }
	            }
	            if (rentVideoList.ContainsKey(membershipId) == false || hasDueAmount == false)
	            {
	                Console.WriteLine("No due!");
	            }
	            else
	            {
	                foreach (VideoRental videoRental in rentVideoList[membershipId])
	                {
	                    videoRental.setRent_status(false);
	                    videoList[videoRental.getId()].setNo_of_copies(videoList[videoRental.getId()].getNo_of_copies() + 1);
	                }
	                Console.WriteLine(customerList[membershipId].tostring());
	                Console.WriteLine("Paid rent due payment successfully!");
	            }
	        }
	        public void displayVideos()
	        {
	            if (videoList.Count() == 0)
	            {
	                Console.WriteLine("No videos!");
	            }
	            else
	            {
	                Console.WriteLine("Id\t|\tTitle\t|\tCategory\t|\tAvailable");
	                foreach (KeyValuePair<int, VideoPlus> videoKeyindex in videoList)
	                {
	                    VideoPlus video = videoKeyindex.Value;
	                    if (video.getNo_of_copies() != 0)
	                    {
	                        Console.WriteLine(video.getId() + "|" + video.getTitle() + "|" + video.getCategory() + "|" + video.getNo_of_copies());
	                    }
	                }
	              Console.WriteLine("--End--");
	            }
	        }
	        public bool isMemberAvailable(int membershipId)
	        {
	            if (customerList.ContainsKey(membershipId))
	            {
	                return true;
	            }
	            else
	            {
	                return false;
	            }
	        }
	        public void decreaseAvailableCount(int video_id)
	        {
	            videoList[video_id].setNo_of_copies(videoList[video_id].getNo_of_copies() - 1);
	        }
	        public bool isVideoAvailable(int video_id)
	        {
	            if (videoList[video_id].getNo_of_copies() == 0)
	                return false;
	            else
	                return true;
	        }
	    }
	}
Next
  Copyright © 2014 Knowledge walls, All rights reserved
KnowledgeWalls
keep your tutorials and learnings with KnowledgeWalls. Don't lose your learnings hereafter. Save and revise it whenever required.
Click here for more details