منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : إنشاء موقع لبيع برامج المنتدى
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3 4 5 6
كنت اود إنشاء حساب تجريبي على موقع باي بال، ولكني وجدت تغييرات في الموقع ولم استطع التعامل معه، للأسف!
عموما، الكود التالي في زر شراء، يقوم بالبيع الفعلي للبرامج:
:#C
كود :
[align=left]if (Session.Count == 0) return;

try
{
    List<int> prog = new List<int>();
    foreach (var p in Session) prog.Add(Convert.ToInt32(p));

    DB.ProgramsDB db = new DB.ProgramsDB();

    var amount = from d in db.Programs
                 where prog.Contains(d.ID)
                 select d.Price;

    decimal am = 0;
    foreach (var d in amount) am += d;

    string ppurl = "https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=";
    ppurl += "dreamsdotnet@hotmail.com"; // ضع الايميل المسجل لدى الموقع، سوف يتم تحول الاموال اليه بعد الشراء
    ppurl += "&first_name=Rabee";
    ppurl += "&city=Jarash";
    ppurl += "&state=Jordan";
    ppurl += "&item_name=VB4Arb Programs";
    ppurl += "&amount=" + am.ToString("00.00");
    ppurl += "&shipping=0";
    ppurl += "&handling=0";
    ppurl += "&tax=0";
    ppurl += "&quantity=1";
    ppurl += "&currency=USD";
    ppurl += "&return=http://localhost:55611/payment.aspx";
    ppurl += "&cancel_return=http://localhost:55611/";
    Response.Redirect(ppurl);
}
catch { }
[/align]

:VB
كود :
[align=left]If Session.Count = 0 Then Exit Sub

Try
    Dim prog As New List(Of Integer)()
    For Each p In Session
        prog.Add(Convert.ToInt32(p))
    Next p

    Dim db As New DB.ProgramsDB()

    Dim amount = From d In db.Programs
                 Where prog.Contains(d.ID)
                 Select d.Price

    Dim am As Decimal = 0
    For Each d In amount
        am += d
    Next d

    Dim ppurl As String = "https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business="
    ppurl &= "dreamsdotnet@hotmail.com" ' ضع الايميل المسجل لدى الموقع، سوف يتم تحول الاموال اليه بعد الشراء
    ppurl &= "&first_name=Rabee"
    ppurl &= "&city=Jarash"
    ppurl &= "&state=Jordan"
    ppurl &= "&item_name=VB4Arb Programs"
    ppurl &= "&amount=" & am.ToString("00.00")
    ppurl &= "&shipping=0"
    ppurl &= "&handling=0"
    ppurl &= "&tax=0"
    ppurl &= "&quantity=1"
    ppurl &= "&currency=USD"
    ppurl &= "&return=http://localhost:55611/payment.aspx"
    ppurl &= "&cancel_return=http://localhost:55611/"
    Response.Redirect(ppurl)
Catch
End Try[/align]

نضيف صفحة جديدة للمشروع اسمها Payment، نضع عليها الأدوات التالية:



في حدث التحميل للصفحة نكتب:
:#C
كود :
[align=left]if (Request.UrlReferrer == null) { Response.Redirect("~/default.aspx"); return; }
if (!Request.UrlReferrer.ToString().Contains("paypal") || Session.Count == 0) Response.Redirect("~/default.aspx");[/align]

:VB
كود :
[align=left]If Request.UrlReferrer Is Nothing Then
    Response.Redirect("~/default.aspx")
    Exit Sub
End If

If (Not Request.UrlReferrer.ToString().Contains("paypal")) OrElse Session.Count = 0 Then
    Response.Redirect("~/default.aspx")
End If[/align]

في حدث ضغط زر حفظ:
:#C
كود :
[align=left]try
{
    List<int> prog = new List<int>();
    foreach (var p in Session) prog.Add(Convert.ToInt32(p));

    DB.ProgramsDB db = new DB.ProgramsDB();

    var data = from d in db.Programs
                where prog.Contains(d.ID)
                select d;

    decimal am = 0;
    foreach (var p in data) am += p.Price;

    DB.Order order = new DB.Order();
    order.Name = nbox.Text.Trim();
    order.EMail = mbox.Text.Trim();
    order.Payment = am;
    order.Accept = false;

    db.Orders.InsertOnSubmit(order);
    db.SubmitChanges();

    foreach (var p in data)
    {
        DB.Detail details = new DB.Detail();
        details.OID = order.ID;
        details.PID = p.ID;
        details.PPrice = p.Price;

        db.Details.InsertOnSubmit(details);
    }

    db.SubmitChanges();
    MultiView1.ActiveViewIndex = 1;
}
catch { err.Text = "حصل خطأ!<br />يرجى إعادة المحاولة، إذا تكرر الخطأ قم بمراسلتنا...."; }[/align]

:VB
كود :
[align=left]Try
    Dim prog As New List(Of Integer)()
    For Each p In Session
        prog.Add(Convert.ToInt32(p))
    Next p

    Dim db As New DB.ProgramsDB()

    Dim data = From d In db.Programs
               Where prog.Contains(d.ID)
               Select d

    Dim am As Decimal = 0
    For Each p In data
        am += p.Price
    Next p

    Dim order As New DB.Order()
    order.Name = nbox.Text.Trim()
    order.EMail = mbox.Text.Trim()
    order.Payment = am
    order.Accept = False

    db.Orders.InsertOnSubmit(order)
    db.SubmitChanges()

    For Each p In data
        Dim details As New DB.Detail()
        details.OID = order.ID
        details.PID = p.ID
        details.PPrice = p.Price

        db.Details.InsertOnSubmit(details)
    Next p

    db.SubmitChanges()
    MultiView1.ActiveViewIndex = 1
Catch
    err.Text = "حصل خطأ!<br />يرجى إعادة المحاولة، إذا تكرر الخطأ قم بمراسلتنا...."
End Try[/align]

نضيف صفحة المواقع المفيدة Websites، ونجعلها كما يلي:



وفي حدث تحميل الصفحة نكتب:
:#C
كود :
[align=left]if (IsPostBack) return;

try
{
    DB.ProgramsDB db = new DB.ProgramsDB();
    var data = from d in db.Websites select d;

    foreach (var d in data) viewer.Text += string.Format("<a href=\"{0}\">{1}</a><br />", d.URL, d.Title);
}
catch { }[/align]

:VB
كود :
[align=left]If IsPostBack Then Exit Sub

Try
    Dim db As New DB.ProgramsDB()
    Dim data = From d In db.Websites
               Select d

    For Each d In data
        viewer.Text += String.Format("<a href=""{0}"">{1}</a><br />", d.URL, d.Title)
    Next d
Catch
End Try[/align]
السلام عليكم

بارك الله فيك اخ ربيع على المجهود جعله الله في ميزان حسناتكSmile
نحمده ونصلي على رسوله الكريم

قمت باجراء بعض التعديلات على المشروع كامل بما في ذلك قاعدة البيانات، ما ان انتهي منه باذن الله سوف اضعه هنا في كتاب الكتروني.
بارك الله بك اخي ربيع مجهود رائع ومفيد جدا ..
عندي تعقيب بسيط عن المشروع , اعتقد ان مشروعك سيحتوي على قاعدتي بيانات الاولى التي اسمها ProgramDB  والاخرى خاصة بالمستخدمين والرولز ولكيت تجمع كائناتهما معا (الجداول والبرسيجرات الخ ) عليك استخدام الاداة aspnet_regsql.exe الموجودة في المسار التالي
C:\Windows\Microsoft.net\FrameWork\v4.0.30319


بينما نغير  اعدادات الميمبيرشيب في الويب كونفيك
<add name=”MyConnection” connectionString=”Data Source=MyServer;Integrated
➥Security=True;Initial Catalog=MyDatabase”/>
</connectionStrings>
<system.web>
<authentication mode=”Forms” />
<membership defaultProvider=”MyMembershipProvider” >
<providers>
<add
name=”MyMembershipProvider”
type=”System.Web.Security.SqlMembershipProvider”
connectionStringName=”MyConnection” />
</providers>
</membership>
<roleManager enabled="true" defaultProvider ="MyRoleManager">
       <providers >
         <add name ="MyRolemanager" type ="System.Web.Security.SqlRoleProvider" connectionStringName ="MyConnectionString"/>
       </providers>
     </roleManager>


تحياتي لك واستمر في ابداعاتك جزاك الله خيرا ............
Good .........................................
نحمده ونصلي على رسوله الكريم
السلام عليكم ورحمة الله


اعتذر عن تأخري الطويل :o

هذا كتاب الكتروني به شرح للجزء الأول من إنشاء الموقع، ينقصه صفحات الأعضاء وصفحات الإدارة، لن أطيل الأمر وسأعمل على إنهائه بأسرع وقت إن شاء الله....
مشكور على هذا الجهد الموصول

يعطيك العافية
السلام عليكم

الله يجزيك كل خير اخي العزيز

موفق ان شاءالله

السلام عليكم ورحمة الله وبركاته






بارك الله فيك وزادك علماً




السلام عليكم ورحمة الله وبركاته
abulayth كتب :مشكور على هذا الجهد الموصول

يعطيك العافية
الله يعافيك
وبعتذر عن التاخير الطويل


sajad كتب :السلام عليكم

الله يجزيك كل خير اخي العزيز

موفق ان شاءالله
الله يبارك فيك ويوفقك

@@أبورائد@@ كتب :
السلام عليكم ورحمة الله وبركاته






بارك الله فيك وزادك علماً




السلام عليكم ورحمة الله وبركاته

وعليكم السلام ورحمة الله وبركاته
آمين
ويبارك فيك ويزيدك من العلم
الصفحات : 1 2 3 4 5 6