* PaypalApiController.cs: starting a paypal account access

* Catalog.xml: tests input with multiple values 

* FileSystemController.cs: Xml catalog path is now specified ala ~/

* WorkFlowController.cs: Gives the response a message

* SimpleFormatter.cs:
* FrontOfficeApiController.cs: document formatting

* Global.asax.cs: due to refactoring

* SimpleJsonPostMethod.cs: (code formatting)

* Web.config: due to refactoring

* Web.config: 
- document formatting
- PayPal configuration

* Web.csproj: references the PayPalCoreSdk.1.6.0

* packages.config: using the .Net 4.5.1 plateform
vnext
Paul Schneider 10 years ago
parent 3c6c3f19aa
commit da87d0ea97
12 changed files with 264 additions and 177 deletions

@ -1,65 +1,72 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<XmlCatalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <XmlCatalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Brands> <Brands>
<Brand> <Brand>
<Name>shdsi</Name> <Name>shdsi</Name>
<Slogan>Votre logiciel, efficace, sûr, et sur mesure</Slogan> <Slogan>Votre logiciel, efficace, sûr, et sur mesure</Slogan>
<Logo> <Logo>
<Src>/images/logoDev.png</Src> <Src>/images/logoDev.png</Src>
<Alt></Alt> <Alt>
</Logo> </Alt>
<Categories> </Logo>
<ProductCategory> <Categories>
<Name>Systèmes d'information et sites Web</Name> <ProductCategory>
<Reference>ntic</Reference> <Name>Systèmes d'information et sites Web</Name>
<Products> <Reference>ntic</Reference>
<Product xsi:type="Service"> <Products>
<Name>Développement</Name> <Product xsi:type="Service">
<Description>Votre Extranet, Intranet, <Name>Développement</Name>
<Description>Votre Extranet, Intranet,
site Web, sur mesure, élégant et efficace, au look racé, accessible, site Web, sur mesure, élégant et efficace, au look racé, accessible,
et développé en cycles courts</Description> et développé en cycles courts</Description>
<Reference>nticdev</Reference> <Reference>nticdev</Reference>
</Product> </Product>
<Product xsi:type="Service"> <Product xsi:type="Service">
<Name>Maintenance</Name> <Name>Maintenance</Name>
<Description>Correction des anomalies, réalisation des évolutions, prévision des besoins</Description> <Description>Correction des anomalies, réalisation des évolutions, prévision des besoins</Description>
<Reference>nticmaint</Reference> <Reference>nticmaint</Reference>
</Product> </Product>
</Products> </Products>
</ProductCategory> </ProductCategory>
</Categories> </Categories>
<DefaultForm> <DefaultForm>
<Action>/Commande</Action> <Action>/Commande</Action>
<Items> <Items>
<FormElement xsi:type="Text"> <FormElement xsi:type="Text">
<Val>Entrez un commentaire :</Val> <Val>Entrez un commentaire :</Val>
</FormElement> </FormElement>
<FormElement xsi:type="TextInput"> <FormElement xsi:type="TextInput">
<Id>comment</Id> <Id>comment</Id>
<Value xsi:type="xsd:string">Commentaire</Value> <Value xsi:type="xsd:string">Commentaire</Value>
</FormElement> </FormElement>
<FormElement xsi:type="Text"> <FormElement xsi:type="Text">
<Val>Choisissez le type d'intervention souhaité: </Val> <Val>Choisissez le type d'intervention souhaité: </Val>
</FormElement> </FormElement>
<FormElement xsi:type="SelectInput">
<FormElement xsi:type="TextInput"> <Id>ad</Id>
<Id>testarray[]</Id> <Items>
<Value xsi:type="xsd:string">xxxxxxxxxx</Value> <Option>
</FormElement> <value>d</value>
<FormElement xsi:type="TextInput"> <Text>à distance</Text>
<Id>testarray[]</Id> </Option>
<Value xsi:type="xsd:string"></Value> <Option>
</FormElement> <value>s</value>
<FormElement xsi:type="SelectInput"> <Text>sur site</Text>
<Id>ad</Id> </Option>
<Items> </Items>
<string>à distance</string> <SelectedIndex>0</SelectedIndex>
<string>sur site</string> </FormElement>
</Items> <FormElement xsi:type="TextInput">
<SelectedIndex>0</SelectedIndex> <Id>testarray[]</Id>
</FormElement> <Value xsi:type="xsd:string">xxxxxxxxxx</Value>
</Items> </FormElement>
</DefaultForm> <FormElement xsi:type="TextInput">
</Brand> <Id>testarray[]</Id>
</Brands> <Value xsi:type="xsd:string">
</Value>
</FormElement>
</Items>
</DefaultForm>
</Brand>
</Brands>
</XmlCatalog> </XmlCatalog>

@ -12,9 +12,10 @@ namespace Yavsc.Controllers
/// <summary> /// <summary>
/// File system controller. /// File system controller.
/// </summary> /// </summary>
public class FileSystemController : Controller public class FileSystemController : Controller
{ {
private static string usersDir ="~/users"; private static string usersDir = "~/users";
/// <summary> /// <summary>
/// Gets the users dir. /// Gets the users dir.
/// </summary> /// </summary>
@ -24,51 +25,54 @@ namespace Yavsc.Controllers
return usersDir; return usersDir;
} }
} }
/// <summary> /// <summary>
/// Index this instance. /// Index this instance.
/// </summary> /// </summary>
[Authorize] [Authorize]
public ActionResult Index() public ActionResult Index ()
{ {
string user = Membership.GetUser ().UserName; string user = Membership.GetUser ().UserName;
ViewData ["UserName"] = user; ViewData ["UserName"] = user;
DirectoryInfo di = new DirectoryInfo ( DirectoryInfo di = new DirectoryInfo (
Path.Combine( Path.Combine (
Server.MapPath(UsersDir), Server.MapPath (UsersDir),
user)); user));
if (!di.Exists) if (!di.Exists)
di.Create (); di.Create ();
return View (new FileInfoCollection( di.GetFiles())); return View (new FileInfoCollection (di.GetFiles ()));
} }
/// <summary> /// <summary>
/// Details the specified id. /// Details the specified id.
/// </summary> /// </summary>
/// <param name="id">Identifier.</param> /// <param name="id">Identifier.</param>
public ActionResult Details(string id) public ActionResult Details (string id)
{ {
foreach (char x in Path.GetInvalidPathChars()) { foreach (char x in Path.GetInvalidPathChars()) {
if (id.Contains (x)) { if (id.Contains (x)) {
ViewData ["Message"] = ViewData ["Message"] =
string.Format ( string.Format (
"Something went wrong following the following path : {0} (\"{1}\")", "Something went wrong following the following path : {0} (\"{1}\")",
id,x); id, x);
return RedirectToAction ("Index"); return RedirectToAction ("Index");
} }
} }
string fpath = Path.Combine (BaseDir, id); string fpath = Path.Combine (BaseDir, id);
ViewData["Content"] = Url.Content (fpath); ViewData ["Content"] = Url.Content (fpath);
FileInfo fi = new FileInfo (fpath); FileInfo fi = new FileInfo (fpath);
return View (fi); return View (fi);
} }
/// <summary> /// <summary>
/// Create this instance. /// Create this instance.
/// </summary> /// </summary>
public ActionResult Create() public ActionResult Create ()
{ {
return View (); return View ();
} }
/// <summary> /// <summary>
/// Create the specified collection. /// Create the specified collection.
@ -76,36 +80,32 @@ namespace Yavsc.Controllers
/// <param name="collection">Collection.</param> /// <param name="collection">Collection.</param>
[HttpPost] [HttpPost]
[Authorize] [Authorize]
public ActionResult Create(FormCollection collection) public ActionResult Create (FormCollection collection)
{ {
try { try {
string fnre = "[A-Za-z0-9~\\-.]+"; string fnre = "[A-Za-z0-9~\\-.]+";
HttpFileCollectionBase hfc = Request.Files; HttpFileCollectionBase hfc = Request.Files;
for (int i=0; i<hfc.Count; i++) for (int i = 0; i < hfc.Count; i++) {
{ if (!Regex.Match (hfc [i].FileName, fnre).Success) {
if (!Regex.Match(hfc[i].FileName,fnre).Success) ViewData ["Message"] += string.Format ("<p>File name '{0}' refused</p>", hfc [i].FileName);
{ ModelState.AddModelError (
ViewData ["Message"] += string.Format("<p>File name '{0}' refused</p>",hfc[i].FileName);
ModelState.AddModelError(
"AFile", "AFile",
string.Format( string.Format (
"The file name {0} dosn't match an acceptable file name {1}", "The file name {0} dosn't match an acceptable file name {1}",
hfc[i].FileName,fnre)) hfc [i].FileName, fnre));
; return View ();
return View();
} }
} }
for (int i=0; i<hfc.Count; i++) for (int i = 0; i < hfc.Count; i++) {
{
// TODO Limit with hfc[h].ContentLength // TODO Limit with hfc[h].ContentLength
string filename = Path.Combine(Server.MapPath(BaseDir),hfc[i].FileName); string filename = Path.Combine (Server.MapPath (BaseDir), hfc [i].FileName);
hfc[i].SaveAs(filename); hfc [i].SaveAs (filename);
ViewData ["Message"] += string.Format("<p>File name '{0}' saved</p>",hfc[i].FileName); ViewData ["Message"] += string.Format ("<p>File name '{0}' saved</p>", hfc [i].FileName);
} }
return RedirectToAction ("Index","FileSystem"); return RedirectToAction ("Index", "FileSystem");
} catch (Exception e) { } catch (Exception e) {
ViewData ["Message"] = "Exception:"+e.Message; ViewData ["Message"] = "Exception:" + e.Message;
return View (); return View ();
} }
} }
@ -115,49 +115,53 @@ namespace Yavsc.Controllers
/// </summary> /// </summary>
/// <value>The base dir.</value> /// <value>The base dir.</value>
public static string BaseDir { get { return Path.Combine (UsersDir, Membership.GetUser ().UserName); } } public static string BaseDir { get { return Path.Combine (UsersDir, Membership.GetUser ().UserName); } }
/// <summary> /// <summary>
/// Edit the specified id. /// Edit the specified id.
/// </summary> /// </summary>
/// <param name="id">Identifier.</param> /// <param name="id">Identifier.</param>
public ActionResult Edit(int id) public ActionResult Edit (int id)
{ {
return View (); return View ();
} }
/// <summary> /// <summary>
/// Edit the specified id and collection. /// Edit the specified id and collection.
/// </summary> /// </summary>
/// <param name="id">Identifier.</param> /// <param name="id">Identifier.</param>
/// <param name="collection">Collection.</param> /// <param name="collection">Collection.</param>
[HttpPost] [HttpPost]
public ActionResult Edit(int id, FormCollection collection) public ActionResult Edit (int id, FormCollection collection)
{ {
try { try {
return RedirectToAction ("Index"); return RedirectToAction ("Index");
} catch { } catch {
return View (); return View ();
} }
} }
/// <summary> /// <summary>
/// Delete the specified id. /// Delete the specified id.
/// </summary> /// </summary>
/// <param name="id">Identifier.</param> /// <param name="id">Identifier.</param>
public ActionResult Delete(int id) public ActionResult Delete (int id)
{ {
return View (); return View ();
} }
/// <summary> /// <summary>
/// Delete the specified id and collection. /// Delete the specified id and collection.
/// </summary> /// </summary>
/// <param name="id">Identifier.</param> /// <param name="id">Identifier.</param>
/// <param name="collection">Collection.</param> /// <param name="collection">Collection.</param>
[HttpPost] [HttpPost]
public ActionResult Delete(int id, FormCollection collection) public ActionResult Delete (int id, FormCollection collection)
{ {
try { try {
return RedirectToAction ("Index"); return RedirectToAction ("Index");
} catch { } catch {
return View (); return View ();
} }
} }
} }
} }

@ -49,23 +49,23 @@ namespace Yavsc.ApiControllers
/// <summary> /// <summary>
/// Catalog this instance. /// Catalog this instance.
/// </summary> /// </summary>
[AcceptVerbs("GET")] [AcceptVerbs ("GET")]
public Catalog Catalog () public Catalog Catalog ()
{ {
Catalog c = CatalogManager.GetCatalog (Request.RequestUri.AbsolutePath); Catalog c = CatalogManager.GetCatalog (Request.RequestUri.AbsolutePath);
return c; return c;
} }
/// <summary> /// <summary>
/// Gets the product categorie. /// Gets the product categorie.
/// </summary> /// </summary>
/// <returns>The product categorie.</returns> /// <returns>The product categorie.</returns>
/// <param name="brandName">Brand name.</param> /// <param name="brandName">Brand name.</param>
/// <param name="prodCategorie">Prod categorie.</param> /// <param name="prodCategorie">Prod categorie.</param>
[AcceptVerbs("GET")] [AcceptVerbs ("GET")]
public ProductCategory GetProductCategorie (string brandName, string prodCategorie) public ProductCategory GetProductCategorie (string brandName, string prodCategorie)
{ {
return CatalogManager.GetCatalog (Request.RequestUri.AbsolutePath).GetBrand (brandName).GetProductCategory (prodCategorie) return CatalogManager.GetCatalog (Request.RequestUri.AbsolutePath).GetBrand (brandName).GetProductCategory (prodCategorie);
;
} }
/// <summary> /// <summary>
@ -81,30 +81,32 @@ namespace Yavsc.ApiControllers
return est; return est;
} }
/// <summary> /// <summary>
/// Gets the estim tex. /// Gets the estim tex.
/// </summary> /// </summary>
/// <returns>The estim tex.</returns> /// <returns>The estim tex.</returns>
/// <param name="estimid">Estimid.</param> /// <param name="estimid">Estimid.</param>
[AcceptVerbs("GET")] [AcceptVerbs ("GET")]
public HttpResponseMessage GetEstimTex(long estimid) public HttpResponseMessage GetEstimTex (long estimid)
{ {
string texest = null; string texest = null;
try { try {
texest = getEstimTex (estimid); texest = getEstimTex (estimid);
} } catch (TemplateException ex) {
catch (TemplateException ex) { return new HttpResponseMessage (HttpStatusCode.OK) { Content =
return new HttpResponseMessage (HttpStatusCode.OK){ Content =
new ObjectContent (typeof(string), new ObjectContent (typeof(string),
ex.Message, new ErrorHtmlFormatter(HttpStatusCode.NotAcceptable, ex.Message, new ErrorHtmlFormatter (HttpStatusCode.NotAcceptable,
LocalizedText.DocTemplateException LocalizedText.DocTemplateException
))}; ))
} };
catch (Exception ex) { } catch (Exception ex) {
return new HttpResponseMessage (HttpStatusCode.OK){ Content = return new HttpResponseMessage (HttpStatusCode.OK) { Content =
new ObjectContent (typeof(string), new ObjectContent (typeof(string),
ex.Message, new SimpleFormatter("text/text")) }; ex.Message, new SimpleFormatter ("text/text"))
};
} }
if (texest == null) if (texest == null)
return new HttpResponseMessage (HttpStatusCode.OK) { Content = return new HttpResponseMessage (HttpStatusCode.OK) { Content =
@ -119,20 +121,20 @@ namespace Yavsc.ApiControllers
}; };
} }
private string getEstimTex(long estimid) private string getEstimTex (long estimid)
{ {
Yavsc.templates.Estim tmpe = new Yavsc.templates.Estim(); Yavsc.templates.Estim tmpe = new Yavsc.templates.Estim ();
Estimate e = wfmgr.GetEstimate (estimid); Estimate e = wfmgr.GetEstimate (estimid);
tmpe.Session = new Dictionary<string,object>(); tmpe.Session = new Dictionary<string,object> ();
tmpe.Session.Add ("estim", e); tmpe.Session.Add ("estim", e);
Profile prpro = new Profile(ProfileBase.Create(e.Responsible)); Profile prpro = new Profile (ProfileBase.Create (e.Responsible));
if (!prpro.HasBankAccount) if (!prpro.HasBankAccount)
throw new TemplateException ("NotBankable:"+e.Responsible); throw new TemplateException ("NotBankable:" + e.Responsible);
Profile prcli = new Profile(ProfileBase.Create(e.Client)); Profile prcli = new Profile (ProfileBase.Create (e.Client));
if (!prcli.IsBillable) if (!prcli.IsBillable)
throw new TemplateException ("NotBillable:"+e.Client); throw new TemplateException ("NotBillable:" + e.Client);
tmpe.Session.Add ("from", prpro); tmpe.Session.Add ("from", prpro);
tmpe.Session.Add ("to", prcli); tmpe.Session.Add ("to", prcli);
tmpe.Init (); tmpe.Init ();
@ -145,7 +147,7 @@ namespace Yavsc.ApiControllers
/// </summary> /// </summary>
/// <returns>The estim pdf.</returns> /// <returns>The estim pdf.</returns>
/// <param name="estimid">Estimid.</param> /// <param name="estimid">Estimid.</param>
public HttpResponseMessage GetEstimPdf(long estimid) public HttpResponseMessage GetEstimPdf (long estimid)
{ {
Estimate estim = wfmgr.GetEstimate (estimid); Estimate estim = wfmgr.GetEstimate (estimid);
//TODO better with pro.IsBankable && cli.IsBillable //TODO better with pro.IsBankable && cli.IsBillable

@ -0,0 +1,48 @@
//
// PaypalApiController.cs
//
// Author:
// Paul Schneider <paulschneider@free.fr>
//
// Copyright (c) 2015 Paul Schneider
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using System;
using System.Web.Http;
#if HASPAYPALAPI
using PayPal.Api;
namespace Yavsc.ApiControllers
{
public class PaypalApiController: ApiController
{
public void GetPayments()
{
OAuthTokenCredential tokenCredential =
new OAuthTokenCredential("<CLIENT_ID>", "<CLIENT_SECRET>");
string accessToken = tokenCredential.GetAccessToken();
var parameters = new PayPal.Util.QueryParameters();
parameters.Add ("Count", "10");
PaymentHistory paymentHistory = Payment.Get(apiContext, accessToken, parameters);
}
}
}
#endif

@ -108,7 +108,7 @@ namespace Yavsc.ApiControllers
public HttpResponseMessage UpdateWritting([FromBody] Writting wr) public HttpResponseMessage UpdateWritting([FromBody] Writting wr)
{ {
wfmgr.UpdateWritting (wr); wfmgr.UpdateWritting (wr);
return Request.CreateResponse (System.Net.HttpStatusCode.OK); return Request.CreateResponse<string> (System.Net.HttpStatusCode.OK,"WrittingUpdated:"+wr.Id);
} }
/// <summary> /// <summary>

@ -84,8 +84,6 @@ namespace Yavsc.Formatters
writer.Write (doc); writer.Write (doc);
} }
} }
} }
} }

@ -8,6 +8,7 @@ using System.Web.Mvc;
using System.Web.Routing; using System.Web.Routing;
using System.Web.Http; using System.Web.Http;
using Yavsc.Formatters; using Yavsc.Formatters;
using Yavsc.Model.FrontOffice;
namespace Yavsc namespace Yavsc
{ {

@ -74,7 +74,8 @@ namespace Yavsc.Helpers
/// <param name="query">Query.</param> /// <param name="query">Query.</param>
public TAnswer Invoke(TQuery query) public TAnswer Invoke(TQuery query)
{ {
Byte[] bytes = System.Text.Encoding.UTF8.GetBytes (JsonConvert.SerializeObject(query)); Byte[] bytes = System.Text.Encoding.UTF8.GetBytes (
JsonConvert.SerializeObject(query));
Request.ContentLength = bytes.Length; Request.ContentLength = bytes.Length;
using (Stream dataStream = Request.GetRequestStream ()) { using (Stream dataStream = Request.GetRequestStream ()) {

@ -20,7 +20,6 @@
<add tagPrefix="yavsc" namespace="Yavsc.WebControls" assembly="Yavsc.WebControls" /> <add tagPrefix="yavsc" namespace="Yavsc.WebControls" assembly="Yavsc.WebControls" />
</controls> </controls>
<namespaces> <namespaces>
<add namespace="SalesCatalog.Model" />
<add namespace="Yavsc.Helpers" /> <add namespace="Yavsc.Helpers" />
<add namespace="Yavsc.Admin" /> <add namespace="Yavsc.Admin" />
<add namespace="Yavsc.CatExts" /> <add namespace="Yavsc.CatExts" />
@ -29,6 +28,8 @@
<add namespace="Yavsc.Model.Blogs" /> <add namespace="Yavsc.Model.Blogs" />
<add namespace="Yavsc.Model.WorkFlow" /> <add namespace="Yavsc.Model.WorkFlow" />
<add namespace="Yavsc.Model.Google" /> <add namespace="Yavsc.Model.Google" />
<add namespace="Yavsc.Model.FrontOffice" />
</namespaces> </namespaces>
</pages> </pages>
</system.web> </system.web>

@ -8,12 +8,8 @@ http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx
--> -->
<configuration> <configuration>
<configSections> <configSections>
<sectionGroup <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
name="system.web.extensions" <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<sectionGroup
name="scripting"
type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" /> <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" />
@ -23,23 +19,14 @@ http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx
</sectionGroup> </sectionGroup>
</sectionGroup> </sectionGroup>
</sectionGroup> </sectionGroup>
<section name="paypal" type="PayPal.SDKConfigHandler, PayPal" />
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
<sectionGroup name="system.web"> <sectionGroup name="system.web">
<section name="blog" type="Yavsc.Model.Blogs.Configuration.BlogProvidersConfigurationSection, YavscModel" allowLocation="true" requirePermission="false" allowDefinition="Everywhere" /> <section name="blog" type="Yavsc.Model.Blogs.Configuration.BlogProvidersConfigurationSection, YavscModel" allowLocation="true" requirePermission="false" allowDefinition="Everywhere" />
<section name="thanks" type="Yavsc.ThanksConfigurationSection, Yavsc" allowLocation="true" requirePermission="false" allowDefinition="Everywhere" /> <section name="thanks" type="Yavsc.ThanksConfigurationSection, Yavsc" allowLocation="true" requirePermission="false" allowDefinition="Everywhere" />
<section name="catalog" type="SalesCatalog.Configuration.CatalogProvidersConfigurationSection, SalesCatalog" allowLocation="true" requirePermission="false" allowDefinition="Everywhere" /> <section name="catalog" type="Yavsc.Model.FrontOffice.Configuration.CatalogProvidersConfigurationSection, YavscModel" allowLocation="true" requirePermission="false" allowDefinition="Everywhere" />
<section name="workflow" type="Yavsc.Model.WorkFlow.Configuration.WorkflowConfiguration, YavscModel" allowLocation="true" requirePermission="false" allowDefinition="Everywhere" /> <section name="workflow" type="Yavsc.Model.WorkFlow.Configuration.WorkflowConfiguration, YavscModel" allowLocation="true" requirePermission="false" allowDefinition="Everywhere" />
</sectionGroup> </sectionGroup>
<sectionGroup name="dotNetOpenAuth" type="DotNetOpenAuth.Configuration.DotNetOpenAuthSection, DotNetOpenAuth.Core">
<section name="messaging" type="DotNetOpenAuth.Configuration.MessagingElement, DotNetOpenAuth.Core" requirePermission="false" allowLocation="true" />
<section name="reporting" type="DotNetOpenAuth.Configuration.ReportingElement, DotNetOpenAuth.Core" requirePermission="false" allowLocation="true" />
<section name="openid" type="DotNetOpenAuth.Configuration.OpenIdElement, DotNetOpenAuth.OpenId" requirePermission="false" allowLocation="true" />
</sectionGroup>
<sectionGroup name="dotNetOpenAuth" type="DotNetOpenAuth.Configuration.DotNetOpenAuthSection, DotNetOpenAuth.Core">
<section name="messaging" type="DotNetOpenAuth.Configuration.MessagingElement, DotNetOpenAuth.Core" requirePermission="false" allowLocation="true" />
<section name="reporting" type="DotNetOpenAuth.Configuration.ReportingElement, DotNetOpenAuth.Core" requirePermission="false" allowLocation="true" />
<section name="oauth" type="DotNetOpenAuth.Configuration.OAuthElement, DotNetOpenAuth.OAuth" requirePermission="false" allowLocation="true" />
<section name="openid" type="DotNetOpenAuth.Configuration.OpenIdElement, DotNetOpenAuth.OpenId" requirePermission="false" allowLocation="true" />
</sectionGroup>
</configSections> </configSections>
<runtime> <runtime>
<!-- <!--
@ -93,12 +80,12 @@ http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx
<add assembly="Microsoft.Build.Utilities.v12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add assembly="Microsoft.Build.Utilities.v12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="Microsoft.Build, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add assembly="Microsoft.Build, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add assembly="System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <add assembly="System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <add assembly="System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <add assembly="System.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <add assembly="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</assemblies> </assemblies>
</compilation> </compilation>
<customErrors mode="Off" /> <customErrors mode="Off" />
@ -204,6 +191,7 @@ http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx
</thanks> </thanks>
<!-- <machineKey validationKey="13CA2E37A5A99AD8CE4A6B895BAF0ED3A022AA584B8D922256BA072189CEB085EEB4E573CA833D9B34FBF68687F6A6B3E008FB4EB67585A4D90551B9D36D42A1" decryptionKey="DA89CC83F6FB2EB12D5929DABC89299AC3928E0751705D33D02DB4162ED56536" validation="SHA1" decryption="AES" /> --> <!-- <machineKey validationKey="13CA2E37A5A99AD8CE4A6B895BAF0ED3A022AA584B8D922256BA072189CEB085EEB4E573CA833D9B34FBF68687F6A6B3E008FB4EB67585A4D90551B9D36D42A1" decryptionKey="DA89CC83F6FB2EB12D5929DABC89299AC3928E0751705D33D02DB4162ED56536" validation="SHA1" decryption="AES" /> -->
<!--- <sessionState cookieless="true" regenerateExpiredSessionId="true" timeout="120"/> --> <!--- <sessionState cookieless="true" regenerateExpiredSessionId="true" timeout="120"/> -->
<trust level="High" />
</system.web> </system.web>
<system.codedom> <system.codedom>
<compilers> <compilers>
@ -296,6 +284,35 @@ http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx
<authentication mode="Forms"> <authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="30" name=".ASPXFORM$" path="/" requireSSL="false" slidingExpiration="true" defaultUrl="Index.aspx" enableCrossAppRedirects="false" /> <forms loginUrl="~/Account/Login" timeout="30" name=".ASPXFORM$" path="/" requireSSL="false" slidingExpiration="true" defaultUrl="Index.aspx" enableCrossAppRedirects="false" />
</authentication> </authentication>
<!-- PayPal SDK settings -->
<paypal>
<settings>
<add name="mode" value="sandbox" />
<!-- live or sandbox -->
<add name="connectionTimeout" value="30000" />
<!-- (miliseconds) = 30s -->
<add name="requestRetries" value="1" />
<!-- -->
<add name="clientId" value="A9S6jrem3H0gdj8tQ2q1ahSCU38tAJRyiro7eED13h3Syn6C9ZSKSRkl" />
<!-- -->
<add name="clientSecret" value="PLF77VGTZGGSSZAY" />
<!-- -->
</settings>
</paypal>
<!-- log4net settings -->
<log4net>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="yavsc.log" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="FileAppender" />
</root>
</log4net>
<connectionStrings> <connectionStrings>
<add name="yavsc" connectionString="Server=127.0.0.1;Port=5432;Database=yavsc;User Id=yavsc;Password=admin;Encoding=Unicode;" providerName="Npgsql" /> <add name="yavsc" connectionString="Server=127.0.0.1;Port=5432;Database=yavsc;User Id=yavsc;Password=admin;Encoding=Unicode;" providerName="Npgsql" />
</connectionStrings> </connectionStrings>
@ -312,5 +329,6 @@ http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx
<add key="RegistrationMessage" value="/RegistrationMail.txt" /> <add key="RegistrationMessage" value="/RegistrationMail.txt" />
<add key="ClientValidationEnabled" value="true" /> <add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" /> <add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="PayPalLogger" value="PayPal.Log.Log4netLogger" />
</appSettings> </appSettings>
</configuration> </configuration>

@ -9,7 +9,7 @@
<ProjectTypeGuids>{349C5851-65DF-11DA-9384-00065B846F21};{603C0E0B-DB56-11DC-BE95-000D561079B0};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> <ProjectTypeGuids>{349C5851-65DF-11DA-9384-00065B846F21};{603C0E0B-DB56-11DC-BE95-000D561079B0};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
<RootNamespace>Yavsc</RootNamespace> <RootNamespace>Yavsc</RootNamespace>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
@ -88,10 +88,13 @@
<Reference Include="System.Net.Http.WebRequest" /> <Reference Include="System.Net.Http.WebRequest" />
<Reference Include="System.Web.Mvc" /> <Reference Include="System.Web.Mvc" />
<Reference Include="System.Web.Http" /> <Reference Include="System.Web.Http" />
<Reference Include="System.Net.Http.Formatting" />
<Reference Include="System.Web.Http.WebHost" /> <Reference Include="System.Web.Http.WebHost" />
<Reference Include="System.Json" /> <Reference Include="System.Json" />
<Reference Include="System.Web.WebPages" /> <Reference Include="System.Web.WebPages" />
<Reference Include="PayPalCoreSDK">
<HintPath>..\packages\PayPalCoreSDK.1.6.0\lib\net451\PayPalCoreSDK.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.Formatting" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="Models\" /> <Folder Include="Models\" />
@ -124,6 +127,7 @@
<Folder Include="htmldoc\" /> <Folder Include="htmldoc\" />
<Folder Include="users\" /> <Folder Include="users\" />
<Folder Include="xmldoc\" /> <Folder Include="xmldoc\" />
<Folder Include="Views\PayPal\" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Controllers\HomeController.cs" /> <Compile Include="Controllers\HomeController.cs" />
@ -179,6 +183,7 @@
<Compile Include="Helpers\Google\CalendarApi.cs" /> <Compile Include="Helpers\Google\CalendarApi.cs" />
<Compile Include="Formatters\ErrorHtmlFormatter.cs" /> <Compile Include="Formatters\ErrorHtmlFormatter.cs" />
<Compile Include="Formatters\RssFeedsFormatter.cs" /> <Compile Include="Formatters\RssFeedsFormatter.cs" />
<Compile Include="Controllers\PaypalApiController.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="Views\Web.config" /> <Content Include="Views\Web.config" />

@ -3,4 +3,6 @@
<package id="jQuery" version="2.1.3" targetFramework="net45" /> <package id="jQuery" version="2.1.3" targetFramework="net45" />
<package id="jquery-globalize" version="0.1.3" targetFramework="net45" /> <package id="jquery-globalize" version="0.1.3" targetFramework="net45" />
<package id="log4net" version="2.0.3" targetFramework="net40" /> <package id="log4net" version="2.0.3" targetFramework="net40" />
<package id="Newtonsoft.Json" version="5.0.6" targetFramework="net45" />
<package id="PayPalCoreSDK" version="1.6.0" targetFramework="net451" />
</packages> </packages>
Loading…