public string purchasecourse(PurchaseCourse purchasecourse)
        {
            string        connectionstring = configuration.GetConnectionString("DefaultConnectionString");
            SqlConnection connection       = new SqlConnection(connectionstring);


            connection.Open();
            string     query1 = @"select * from PurchaseCourse where CourseId=@CourseId and StudentId=@StudentId ";
            SqlCommand cmd1   = new SqlCommand(query1, connection);

            cmd1.Parameters.Add(new SqlParameter("@CourseId", purchasecourse.CourseId));
            cmd1.Parameters.Add(new SqlParameter("@StudentId", purchasecourse.StudentId));



            SqlDataReader reader = cmd1.ExecuteReader();


            int rr = 1;

            while (reader.Read())
            {
                rr = 0;
            }
            if (rr == 0)
            {
                return("");
            }
            else
            {
                connection.Close();
                connection.Open();
                string query = "insert into PurchaseCourse (UserName,Email,Phone,CourseId,CourseName,CourseFee,TeacherId,StudentId,PaymentMethod,TransactionID)" +
                               "values(@UserName,@Email,@phone,@CourseId,@CourseName,@CourseFee,@TeacherId,@StudentId,@PaymentMethod,@TransactionID)";
                SqlCommand cmd = new SqlCommand(query, connection);

                cmd.Parameters.Add(new SqlParameter("@UserName", purchasecourse.UserName));
                cmd.Parameters.Add(new SqlParameter("@Email", purchasecourse.Email));
                cmd.Parameters.Add(new SqlParameter("@Phone", purchasecourse.Phone));
                cmd.Parameters.Add(new SqlParameter("@CourseId", purchasecourse.CourseId));
                cmd.Parameters.Add(new SqlParameter("@CourseName", purchasecourse.CourseName));
                cmd.Parameters.Add(new SqlParameter("@CourseFee", purchasecourse.CourseFee));
                cmd.Parameters.Add(new SqlParameter("@TeacherId", purchasecourse.TeacherId));
                cmd.Parameters.Add(new SqlParameter("@StudentId", purchasecourse.StudentId));
                cmd.Parameters.Add(new SqlParameter("@PaymentMethod", purchasecourse.PaymentMethod));
                cmd.Parameters.Add(new SqlParameter("@TransactionID", purchasecourse.TransactionID));

                int noOfRowsAffected = cmd.ExecuteNonQuery();
                connection.Close();
                return(noOfRowsAffected > 0 ? RandomString(10) : "");
            }
        }
        public string Post(PurchaseCourse purchasecourse)
        {
            string        connectionstring = configuration.GetConnectionString("DefaultConnectionString");
            SqlConnection connection       = new SqlConnection(connectionstring);

            connection.Open();
            string     query = "insert into PurchaseCourse (UserName,Email,Phone,CourseName,PaymentMethod,TransactionID)values(@UserName,@Email,@phone,@CourseName,@PaymentMethod,@TransactionID)";
            SqlCommand cmd   = new SqlCommand(query, connection);

            cmd.Parameters.Add(new SqlParameter("@UserName", purchasecourse.UserName));
            cmd.Parameters.Add(new SqlParameter("@Email", purchasecourse.Email));
            cmd.Parameters.Add(new SqlParameter("@Phone", purchasecourse.Phone));
            cmd.Parameters.Add(new SqlParameter("@CourseName", purchasecourse.CourseName));
            cmd.Parameters.Add(new SqlParameter("@PaymentMethod", purchasecourse.PaymentMethod));
            cmd.Parameters.Add(new SqlParameter("@TransactionID", purchasecourse.TransactionID));

            int noOfRowsAffected = cmd.ExecuteNonQuery();

            connection.Close();
            return(noOfRowsAffected > 0 ? RandomString(10) : "");
        }
        public IHttpActionResult CreatePurchaseOrders(PatientCourse patientCourse)
        {
            if (patientCourse.DispenceryItemQuantity.Count() == 0)
            {
                return(BadRequest("No Dispencery Items were selected."));
            }

            var Patients = dbContext.Patient
                           .SingleOrDefault(c => c.Name == patientCourse.PatientName);

            if (Patients == null)
            {
                return(BadRequest("Invalid Patient."));
            }

            List <DispenceryItems> SaveDispenceryItems = new List <DispenceryItems>();
            var DispenceryItems = dbContext.DispenceryItem
                                  .Where(m => patientCourse.DispenceryItemName.Contains(m.DispenceryItemName))
                                  .ToList();

            for (int i = 0; i <= patientCourse.DispenceryItemName.Count - 1; i++)
            {
                if (DispenceryItems.ElementAt(i).DispenceryItemName != patientCourse.DispenceryItemName.ElementAt(i))
                {
                    for (int k = 0; k <= patientCourse.DispenceryItemName.Count - 1; k++)
                    {
                        if (DispenceryItems.ElementAt(i).DispenceryItemName == patientCourse.DispenceryItemName.ElementAt(k))
                        {
                            DispenceryItems.ElementAt(i).DispenceryItemQuantity = patientCourse.DispenceryItemQuantity.ElementAt(k);
                            SaveDispenceryItems.Add(DispenceryItems.ElementAt(k));
                        }
                    }
                }
                else
                {
                    DispenceryItems.ElementAt(i).DispenceryItemQuantity = patientCourse.DispenceryItemQuantity.ElementAt(i);
                    SaveDispenceryItems.Add(DispenceryItems.ElementAt(i));
                }
            }

            if (patientCourse.DispenceryItemQuantity.Count() != DispenceryItems.Count())
            {
                return(BadRequest("Dispencery Items selected more than one."));
            }

            if (dbContext.PurchaseDetails.Count() > 0)
            {
                BillNumber = dbContext.PurchaseDetails
                             .OrderByDescending(x => x.BillNo)
                             .FirstOrDefault().BillNo.ToString();

                var Number = BillNumber.Substring(8, 3);
                Number     = Number != "999" ? Number : "001";
                BillNumber = (Convert.ToInt32(Number) + 1).ToString("D3");
            }
            else
            {
                BillNumber = ID.ToString("D3");
            }

            foreach (var Items in SaveDispenceryItems)
            {
                var order = new PurchaseCourse
                {
                    BillNo   = DateTime.Now.ToString("yyyyMMdd") + BillNumber,
                    Patients = Patients,
                    DispenceryItemQuantityPurchase = Items.DispenceryItemQuantity,
                    DispenceryItems = Items,
                    PurchaseDate    = DateTime.Now
                };

                dbContext.PurchaseDetails.Add(order);
                dbContext.SaveChanges();
            }

            //dbContext.SaveChanges();

            return(Ok());
        }