Base solution for your next web application

Activities of "Garysund"

Question

Hi There

I am building a mobile app that talks to my ASPNETZERO API.

I was just wondering about security and how to implement something.

Once the user logs in he gets his auth token. I need the user to also fetch his user profile ie GetUserProfileByEmail.

I would like to know how could I prevent a person from fetching another users profile if they know their email address.

Or should I return the users id when they log in and make all other calls using the userid.

The account(login) webapi returns an ajax response is it possible for it to return an object.

Any suggestions will be greatly appreciated.

Hi There

I have a view with many file upload controls on it with alot of other form fields aswell.

I am trying to post to a controller using ajax but I not sure how to post all the form fields without explicitly sending them. Any ideas?

controller

[HttpPost]
        [UnitOfWork]
        [DisableValidation]
        public virtual async Task<JsonResult> UpdateProfile4(UpdateProfile4Model model)
        {

            var filestest = Request.Files["CompanyRegDoc"].FileName;
          
            var supplierDetail = await _supplierDetailRepository.GetAsync(model.SupplierDetailId.GetValueOrDefault());

            supplierDetail.CompanyRegDocId = await UpdateFile(Request.Files["CompanyRegDoc"], supplierDetail.CompanyRegDocId);

            await _supplierDetailRepository.UpdateAsync(supplierDetail);

            return Json(new AjaxResponse { TargetUrl = "Terms" });

        }

Ajax call

var $loginForm = $('.profile4-form');

        var formdata = new FormData($loginForm.get(0))
        $loginForm.submit(function (e) {
            e.preventDefault();

            abp.ui.setBusy(
                null,
                abp.ajax({
                    contentType: false,
                    processData: false,
                    url: $loginForm.attr('action'),
                    data: formdata.serialize()
                })
            );
        });

view

@using Abp.Application.Services.Dto
@using Clarity.BabcockCRM.Web.Areas.Mpa.Models.Common.Modals
@using Abp.Web.Mvc.Extensions
@using Clarity.BabcockCRM.Authorization
@using Clarity.BabcockCRM.Web.Navigation
@using Clarity.BabcockCRM.Web.Areas.Mpa.Models.Company
@model Clarity.BabcockCRM.Web.Areas.Mpa.Models.Company.Page4ViewModel
@{
    ViewBag.CurrentPageName = PageNames.App.Common.Profile;
}

@section Styles
{

    @Html.IncludeStyle("~/Areas/Mpa/Views/CompanyAdmin/Index.min.css")
    @Html.IncludeStyle("~/libs/jasny-bootstrap/css/jasny-bootstrap.min.css")
    @Html.IncludeStyle("~/libs/bootstrap-datepicker/css/bootstrap-datetimepicker.min.css")
    @Html.IncludeStyle("~/libs/pace/pace-theme-center-radar.css")
}
@section Scripts
{
<script src="~/libs/bootstrap-datepicker/js/bootstrap-datetimepicker.min.js"></script>
    @Html.IncludeScript("~/libs/jasny-bootstrap/js/jasny-bootstrap.min.js")
    @Html.IncludeScript("~/libs/bootstrap-datepicker/js/bootstrap-datetimepicker.min.js")
    @Html.IncludeScript("~/Areas/Mpa/Views/CompanyAdmin/_CompanyDetails.js")
    @Html.IncludeScript("~/libs/pace/pace.min.js")

}
<form class="profile4-form" enctype="multipart/form-data" action="@Url.Action("UpdateProfile4")" method="post">
    @Html.AntiForgeryToken()
    <div id="CompanyDetails">
        <div class="row row-eq-height">
            <div class="portlet light col-lg-9 col-md-12">
                <div class="portlet-body">

                    <div>
                        <p class="list-group-item-text">
                            <h4>My Profile | @Model.UserDetails.CompanyName - @Model.UserDetails.EmailAddress</h4>
                        </p>

                        <div class="form-group">
                            <label>@L("UploadCompanyRegDoc")</label>

                            <div class="fileinput fileinput-new input-group" data-provides="fileinput">
                                <div class="form-control" data-trigger="fileinput"><i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename"></span></div>
                                <span class="input-group-addon btn btn-default btn-file">
                                    <span class="fileinput-new"><i class="glyphicon glyphicon-open"></i></span><span class="fileinput-exists">Change</span>
                                    <input type="file" name="CompanyRegDoc">
                                </span>
                                <a href="#" class="input-group-addon btn btn-default fileinput-exists" data-dismiss="fileinput">Remove</a>
                            </div>
                            @if (Model.SupplierDetails.SupplierDetail.CompanyRegDocId != null)
                            {
                                @Html.ActionLink("Downlaod", "DownLoadFile", new { id = Model.SupplierDetails.SupplierDetail.CompanyRegDocId,filename = Model.SupplierDetails.SupplierDetail.CompanyRegDocId + ".pdf" })
                            }
                        </div>
                        <div class="form-group">
                            <label>@L("UploadExperianReport")</label>

                            <div class="fileinput fileinput-new input-group" data-provides="fileinput">
                                <div class="form-control" data-trigger="fileinput"><i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename"></span></div>
                                <span class="input-group-addon btn btn-default btn-file">
                                    <span class="fileinput-new"><i class="glyphicon glyphicon-open"></i></span><span class="fileinput-exists">Change</span>
                                    <input type="file" name="ExperianReport">
                                </span>
                                <a href="#" class="input-group-addon btn btn-default fileinput-exists" data-dismiss="fileinput">Remove</a>
                            </div>
                        </div>
                        <div class="form-group">
                            <label>@L("UploadSLA")</label>

                            <div class="fileinput fileinput-new input-group" data-provides="fileinput">
                                <div class="form-control" data-trigger="fileinput"><i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename"></span></div>
                                <span class="input-group-addon btn btn-default btn-file">
                                    <span class="fileinput-new"><i class="glyphicon glyphicon-open"></i></span><span class="fileinput-exists">Change</span>
                                    <input type="file" name="SLA">
                                </span>
                                <a href="#" class="input-group-addon btn btn-default fileinput-exists" data-dismiss="fileinput">Remove</a>
                            </div>
                        </div>
                        <div class="form-group">
                            <label>@L("UploadConfidentialityAgreement")</label>

                            <div class="fileinput fileinput-new input-group" data-provides="fileinput">
                                <div class="form-control" data-trigger="fileinput"><i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename"></span></div>
                                <span class="input-group-addon btn btn-default btn-file">
                                    <span class="fileinput-new"><i class="glyphicon glyphicon-open"></i></span><span class="fileinput-exists">Change</span>
                                    <input type="file" name="ConfidentialityAgreement">
                                </span>
                                <a href="#" class="input-group-addon btn btn-default fileinput-exists" data-dismiss="fileinput">Remove</a>
                            </div>
                        </div>
                        <div class="form-group">
                            <label>@L("UploadConfidentialityAgreement")</label>

                            <div class="fileinput fileinput-new input-group" data-provides="fileinput">
                                <div class="form-control" data-trigger="fileinput"><i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename"></span></div>
                                <span class="input-group-addon btn btn-default btn-file">
                                    <span class="fileinput-new"><i class="glyphicon glyphicon-open"></i></span><span class="fileinput-exists">Change</span>
                                    <input type="file" name="ConfidentialityAgreement">
                                </span>
                                <a href="#" class="input-group-addon btn btn-default fileinput-exists" data-dismiss="fileinput">Remove</a>
                            </div>
                        </div>
                        <div class="form-group">
                            <label>@L("UploadCQIDA")</label>

                            <div class="fileinput fileinput-new input-group" data-provides="fileinput">
                                <div class="form-control" data-trigger="fileinput"><i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename"></span></div>
                                <span class="input-group-addon btn btn-default btn-file">
                                    <span class="fileinput-new"><i class="glyphicon glyphicon-open"></i></span><span class="fileinput-exists">Change</span>
                                    <input type="file" name="CQIDA">
                                </span>
                                <a href="#" class="input-group-addon btn btn-default fileinput-exists" data-dismiss="fileinput">Remove</a>
                            </div>
                        </div>
                        <div class="form-group">
                            <label>@L("UploadPublicLiability")</label>

                            <div class="fileinput fileinput-new input-group" data-provides="fileinput">
                                <div class="form-control" data-trigger="fileinput"><i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename"></span></div>
                                <span class="input-group-addon btn btn-default btn-file">
                                    <span class="fileinput-new"><i class="glyphicon glyphicon-open"></i></span><span class="fileinput-exists">Change</span>
                                    <input type="file" name="CQIDA">
                                </span>
                                <a href="#" class="input-group-addon btn btn-default fileinput-exists" data-dismiss="fileinput">Remove</a>
                            </div>
                        </div>
                        <div class="form-group">

                            <label for="PaymentTermId">@L("BeeLevel")</label>
                            @Html.DropDownList("BeeLevelId", Model.BeeLevel.Select(i => i.ToSelectListItem()), new { @class = "form-control edited" })

                        </div>
                        <div class="form-group form-md-line-input form-md-floating-label">
                            <input class="form-control placeholder-no-fix" type="text" name="BlackOwnedPercentage" value="@Model.SupplierDetails.SupplierDetail.BlackOwnedPercentage" />
                            <label>@L("BlackOwnedPercentage")</label>
                        </div>
                        <div class="form-group form-md-line-input form-md-floating-label">
                            <input class="form-control placeholder-no-fix" type="text" name="WomanBlackOwnedPercentage" value="@Model.SupplierDetails.SupplierDetail.WomanBlackOwnedPercentage" />
                            <label>@L("WomanBlackOwnedPercentage")</label>
                        </div>
                        <div class="form-group">
                            <label>@L("BeeCertificateExpiryDate")</label>
                            <div class='input-group date' id='BeeCertificateExpiryDate'>
                                <input type='text' class="form-control"name="BeeCertificateExpiryDate" value="@Model.SupplierDetails.SupplierDetail.BeeCertificateExpiryDate" />
                                <span class="input-group-addon">
                                    <span class="glyphicon glyphicon-calendar"></span>
                                </span>
                            </div>
                        </div>
                        <div class="form-group">
                            <label>@L("UploadBeeCertificate")</label>

                            <div class="fileinput fileinput-new input-group" data-provides="fileinput">
                                <div class="form-control" data-trigger="fileinput"><i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename"></span></div>
                                <span class="input-group-addon btn btn-default btn-file">
                                    <span class="fileinput-new"><i class="glyphicon glyphicon-open"></i></span><span class="fileinput-exists">Change</span>
                                    <input type="file" name="BeeCertificate">
                                </span>
                                <a href="#" class="input-group-addon btn btn-default fileinput-exists" data-dismiss="fileinput">Remove</a>
                            </div>
                        </div>
                        <div class="md-checkbox-list">

                            <div class="md-checkbox">

                                <input id="VatRegistered" class="md-check" type="checkbox" name="IsVatRegistered" value="true" @(Model.SupplierDetails.SupplierDetail.IsVatRegistered ? "checked=\"checked\"" : "")>
                                <label for="VatRegistered">
                                    <span class=""></span>
                                    <span class="check"></span>
                                    <span class="box"></span>
                                    @L("VatRegistered")
                                </label>
                            </div>
                        </div>
                        <div class="form-group form-md-line-input form-md-floating-label">
                            <input class="form-control placeholder-no-fix" type="text" name="VatRegistrationNumber" value="@Model.SupplierDetails.SupplierDetail.VatRegistrationNumber" />
                            <label>@L("VatRegistrationNumber")</label>
                        </div>
                        <div class="md-checkbox-list">

                            <div class="md-checkbox">

                                <input id="TaxClearance" class="md-check" type="checkbox" name="HasTaxClearanceCertificate" value="true" @(Model.SupplierDetails.SupplierDetail.HasTaxClearanceCertificate ? "checked=\"checked\"" : "")>
                                <label for="TaxClearance">
                                    <span class=""></span>
                                    <span class="check"></span>
                                    <span class="box"></span>
                                    @L("TaxClearanceCertificate")
                                </label>
                            </div>
                        </div>
                        <div class="form-group">
                            <label>@L("TaxClearanceExpiryDate")</label>
                            <div class='input-group date' id='BeeCertificateExpiryDate'>
                                <input type='text' class="form-control" name="TaxClearanceCertificateExpiryDate" value="@Model.SupplierDetails.SupplierDetail.TaxClearanceCertificateExpiryDate" />
                                <span class="input-group-addon">
                                    <span class="glyphicon glyphicon-calendar"></span>
                                </span>
                            </div>
                        </div>
                        <div class="form-group">
                            <label>@L("UploadTaxClearanceCertificate")</label>

                            <div class="fileinput fileinput-new input-group" data-provides="fileinput">
                                <div class="form-control" data-trigger="fileinput"><i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename"></span></div>
                                <span class="input-group-addon btn btn-default btn-file">
                                    <span class="fileinput-new"><i class="glyphicon glyphicon-open"></i></span><span class="fileinput-exists">Change</span>
                                    <input type="file" name="TaxClearanceCertificate">
                                </span>
                                <a href="#" class="input-group-addon btn btn-default fileinput-exists" data-dismiss="fileinput">Remove</a>
                            </div>
                        </div>
                        <div class="md-checkbox-list">

                            <div class="md-checkbox">

                                <input id="QualityAudit" class="md-check" type="checkbox" name="HasQualityAudit" value="true" @(Model.SupplierDetails.SupplierDetail.HasQualityAudit ? "checked=\"checked\"" : "")>
                                <label for="QualityAudit">
                                    <span class=""></span>
                                    <span class="check"></span>
                                    <span class="box"></span>
                                    @L("QualityAudit")
                                </label>
                            </div>
                        </div>
                        <div class="form-group">
                            <label>@L("QualityAuditDate")</label>
                            <div class='input-group date' id='BeeCertificateExpiryDate'>
                                <input type='text' class="form-control" name="QualityAuditExpiryDate" value="@Model.SupplierDetails.SupplierDetail.QualityAuditExpiryDate" />
                                <span class="input-group-addon">
                                    <span class="glyphicon glyphicon-calendar"></span>
                                </span>
                            </div>
                        </div>
                        <div class="form-group">
                            <label>@L("UploadQualityAuditReport")</label>

                            <div class="fileinput fileinput-new input-group" data-provides="fileinput">
                                <div class="form-control" data-trigger="fileinput"><i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename"></span></div>
                                <span class="input-group-addon btn btn-default btn-file">
                                    <span class="fileinput-new"><i class="glyphicon glyphicon-open"></i></span><span class="fileinput-exists">Change</span>
                                    <input type="file" name="QualityAuditReport">
                                </span>
                                <a href="#" class="input-group-addon btn btn-default fileinput-exists" data-dismiss="fileinput">Remove</a>
                            </div>
                        </div>
                        <div class="md-checkbox-list">

                            <div class="md-checkbox">

                                <input id="VendorAudit" class="md-check" type="checkbox" name="HasVendorAudit" value="true" @(Model.SupplierDetails.SupplierDetail.HasVendorAudit ? "checked=\"checked\"" : "")>
                                <label for="VendorAudit">
                                    <span class=""></span>
                                    <span class="check"></span>
                                    <span class="box"></span>
                                    @L("VendorAudit")
                                </label>
                            </div>
                        </div>
                        <div class="form-group">
                            <label>@L("HasVendorAuditDate")</label>
                            <div class='input-group date' id='BeeCertificateExpiryDate'>
                                <input type='text' class="form-control" name="VendorAuditExpiryDate" value="@Model.SupplierDetails.SupplierDetail.VendorAuditExpiryDate" />
                                <span class="input-group-addon">
                                    <span class="glyphicon glyphicon-calendar"></span>
                                </span>
                            </div>
                        </div>
                        <div class="form-group">
                            <label>@L("UploadVendorAuditReport")</label>

                            <div class="fileinput fileinput-new input-group" data-provides="fileinput">
                                <div class="form-control" data-trigger="fileinput"><i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename"></span></div>
                                <span class="input-group-addon btn btn-default btn-file">
                                    <span class="fileinput-new"><i class="glyphicon glyphicon-open"></i></span><span class="fileinput-exists">Change</span>
                                    <input type="file" name="VendorAuditReport">
                                </span>
                                <a href="#" class="input-group-addon btn btn-default fileinput-exists" data-dismiss="fileinput">Remove</a>
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="PaymentTermId">@L("ContractedSupplier")</label>
                            @Html.DropDownList("ContractedSupplierId", Model.ContractedSupplier.Select(i => i.ToSelectListItem()), new { @class = "form-control edited" })
                        </div>
                        <div class="form-group">
                            <label>@L("UploadTransportSolutions")</label>

                            <div class="fileinput fileinput-new input-group" data-provides="fileinput">
                                <div class="form-control" data-trigger="fileinput"><i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename"></span></div>
                                <span class="input-group-addon btn btn-default btn-file">
                                    <span class="fileinput-new"><i class="glyphicon glyphicon-open"></i></span><span class="fileinput-exists">Change</span>
                                    <input type="file" name="TransportSolutions">
                                </span>
                                <a href="#" class="input-group-addon btn btn-default fileinput-exists" data-dismiss="fileinput">Remove</a>
                            </div>
                        </div>
                        <div class="form-group">
                            <label>@L("UploadPowerGeneration")</label>

                            <div class="fileinput fileinput-new input-group" data-provides="fileinput">
                                <div class="form-control" data-trigger="fileinput"><i class="glyphicon glyphicon-file fileinput-exists"></i> <span class="fileinput-filename"></span></div>
                                <span class="input-group-addon btn btn-default btn-file">
                                    <span class="fileinput-new"><i class="glyphicon glyphicon-open"></i></span><span class="fileinput-exists">Change</span>
                                    <input type="file" name="PowerGeneration">
                                </span>
                                <a href="#" class="input-group-addon btn btn-default fileinput-exists" data-dismiss="fileinput">Remove</a>
                            </div>
                        </div>
                        <input type="hidden" name="SupplierDetailId" value="@Model.SupplierDetails.SupplierDetail.Id" />
                        <div class="form-actions">
                            <button type="submit" id="register-submit-btn" class="btn btn-success uppercase pull-right">@L("Next")</button>
                        </div>
                    </div>

                </div>
            </div>
            <div class="col-lg-3 col-md-12 info-sidebar">
                <div><img src="~/Content/images/Steps-01.png" width="100" /></div>
                <div class="info-block">
                    <i class="fa fa-folder-open fa-4x"></i>
                    <h4>Documents</h4>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p>
                </div>
            </div>
        </div>
    </div>
</form>

The problem is that those 2 packages are built into azure now.

So it tries to get them locally but they are set up to come from the packages folders in the dev environment.

I see this is a common problem not sure how to get around it

File with content removed

<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" /> <Import Project="$(MSBuildExtensionsPath)$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <ProductVersion> </ProductVersion> <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{897F6FD8-6F90-48E4-95A5-B4429B896205}</ProjectGuid> <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids> <OutputType>Library</OutputType> <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>Clarity.BabcockCRM.Web</RootNamespace> <AssemblyName>Clarity.BabcockCRM.Web</AssemblyName> <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> <UseIISExpress>true</UseIISExpress> <IISExpressSSLPort /> <IISExpressAnonymousAuthentication /> <IISExpressWindowsAuthentication /> <IISExpressUseClassicPipelineMode /> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == 'Undefined'">..&lt;/SolutionDir> <RestorePackages>true</RestorePackages> <UseGlobalApplicationHostFile /> <TargetFrameworkProfile /> <TypeScriptToolsVersion>2.2</TypeScriptToolsVersion> <NuGetPackageImportStamp> </NuGetPackageImportStamp> <Use64BitIISExpress /> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> <OutputPath>bin&lt;/OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> <OutputPath>bin&lt;/OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> <Reference Include="Abp, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.2.3.0\lib\net46\Abp.dll</HintPath> </Reference> <Reference Include="Abp.AutoMapper, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.AutoMapper.2.3.0\lib\net46\Abp.AutoMapper.dll</HintPath> </Reference> <Reference Include="Abp.Castle.Log4Net, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.Castle.Log4Net.2.3.0\lib\net46\Abp.Castle.Log4Net.dll</HintPath> </Reference> <Reference Include="Abp.EntityFramework, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.EntityFramework.2.3.0\lib\net46\Abp.EntityFramework.dll</HintPath> </Reference> <Reference Include="Abp.EntityFramework.Common, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.EntityFramework.Common.2.3.0\lib\net46\Abp.EntityFramework.Common.dll</HintPath> </Reference> <Reference Include="Abp.HangFire, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.HangFire.2.3.0\lib\net46\Abp.HangFire.dll</HintPath> </Reference> <Reference Include="Abp.Owin, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.Owin.2.3.0\lib\net46\Abp.Owin.dll</HintPath> </Reference> <Reference Include="Abp.RedisCache, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.RedisCache.2.3.0\lib\net46\Abp.RedisCache.dll</HintPath> </Reference> <Reference Include="Abp.Web, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.Web.2.3.0\lib\net46\Abp.Web.dll</HintPath> </Reference> <Reference Include="Abp.Web.Api, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.Web.Api.2.3.0\lib\net46\Abp.Web.Api.dll</HintPath> </Reference> <Reference Include="Abp.Web.Common, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.Web.Common.2.3.0\lib\net46\Abp.Web.Common.dll</HintPath> </Reference> <Reference Include="Abp.Web.Mvc, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.Web.Mvc.2.3.0\lib\net46\Abp.Web.Mvc.dll</HintPath> </Reference> <Reference Include="Abp.Web.SignalR, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.Web.SignalR.2.3.0\lib\net46\Abp.Web.SignalR.dll</HintPath> </Reference> <Reference Include="Abp.Zero, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.Zero.2.3.0\lib\net46\Abp.Zero.dll</HintPath> </Reference> <Reference Include="Abp.Zero.Common, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.Zero.Common.2.3.0\lib\net46\Abp.Zero.Common.dll</HintPath> </Reference> <Reference Include="Abp.Zero.EntityFramework, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.Zero.EntityFramework.2.3.0\lib\net46\Abp.Zero.EntityFramework.dll</HintPath> </Reference> <Reference Include="Abp.Zero.Ldap, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.Zero.Ldap.2.3.0\lib\net46\Abp.Zero.Ldap.dll</HintPath> </Reference> <Reference Include="Abp.Zero.Owin, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Abp.Zero.Owin.2.3.0\lib\net46\Abp.Zero.Owin.dll</HintPath> </Reference> <Reference Include="Antlr3.Runtime"> <HintPath>..\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll</HintPath> </Reference> <Reference Include="AutoMapper, Version=6.1.1.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL"> <HintPath>..\packages\AutoMapper.6.1.1\lib\net45\AutoMapper.dll</HintPath> </Reference> <Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL"> <HintPath>..\packages\Castle.Core.4.0.0\lib\net45\Castle.Core.dll</HintPath> </Reference> <Reference Include="Castle.Facilities.Logging, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL"> <HintPath>..\packages\Castle.LoggingFacility.4.0.0\lib\net45\Castle.Facilities.Logging.dll</HintPath> </Reference> <Reference Include="Castle.Windsor, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL"> <HintPath>..\packages\Castle.Windsor.4.0.0\lib\net45\Castle.Windsor.dll</HintPath> </Reference> <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath> </Reference> <Reference Include="EntityFramework.DynamicFilters, Version=2.10.0.0, Culture=neutral, PublicKeyToken=146423a1b8d60775, processorArchitecture=MSIL"> <HintPath>..\packages\EntityFramework.DynamicFilters.2.10.0\lib\net40\EntityFramework.DynamicFilters.dll</HintPath> </Reference> <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll</HintPath> </Reference> <Reference Include="Hangfire.Core, Version=1.6.14.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Hangfire.Core.1.6.14\lib\net45\Hangfire.Core.dll</HintPath> </Reference> <Reference Include="Hangfire.SqlServer, Version=1.6.14.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Hangfire.SqlServer.1.6.14\lib\net45\Hangfire.SqlServer.dll</HintPath> </Reference> <Reference Include="JetBrains.Annotations, Version=11.0.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL"> <HintPath>..\packages\JetBrains.Annotations.11.0.0\lib\net20\JetBrains.Annotations.dll</HintPath> </Reference> <Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL"> <HintPath>..\packages\log4net.2.0.8\lib\net45-full\log4net.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Microsoft.AspNet.Identity.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\Microsoft.AspNet.Identity.Core.2.2.1\lib\net45\Microsoft.AspNet.Identity.Core.dll</HintPath> </Reference> <Reference Include="Microsoft.AspNet.Identity.Owin, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\Microsoft.AspNet.Identity.Owin.2.2.1\lib\net45\Microsoft.AspNet.Identity.Owin.dll</HintPath> </Reference> <Reference Include="Microsoft.AspNet.SignalR.Core, Version=2.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.AspNet.SignalR.Core.2.2.2\lib\net45\Microsoft.AspNet.SignalR.Core.dll</HintPath> </Reference> <Reference Include="Microsoft.AspNet.SignalR.SystemWeb, Version=2.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.AspNet.SignalR.SystemWeb.2.2.1\lib\net45\Microsoft.AspNet.SignalR.SystemWeb.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.IdentityModel.Protocol.Extensions, Version=1.0.40306.1554, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.IdentityModel.Protocol.Extensions.1.0.4.403061554\lib\net45\Microsoft.IdentityModel.Protocol.Extensions.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Microsoft.Owin, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Owin.3.1.0\lib\net45\Microsoft.Owin.dll</HintPath> </Reference> <Reference Include="Microsoft.Owin.FileSystems, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Owin.FileSystems.3.1.0\lib\net45\Microsoft.Owin.FileSystems.dll</HintPath> </Reference> <Reference Include="Microsoft.Owin.Host.SystemWeb, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Owin.Host.SystemWeb.3.1.0-rc1\lib\net45\Microsoft.Owin.Host.SystemWeb.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Microsoft.Owin.Security, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Owin.Security.3.1.0-rc1\lib\net45\Microsoft.Owin.Security.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Microsoft.Owin.Security.Cookies, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Owin.Security.Cookies.3.1.0-rc1\lib\net45\Microsoft.Owin.Security.Cookies.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Microsoft.Owin.Security.Facebook, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Owin.Security.Facebook.3.1.0-rc1\lib\net45\Microsoft.Owin.Security.Facebook.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Microsoft.Owin.Security.Google, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Owin.Security.Google.3.1.0-rc1\lib\net45\Microsoft.Owin.Security.Google.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Microsoft.Owin.Security.OAuth, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Owin.Security.OAuth.3.1.0-rc1\lib\net45\Microsoft.Owin.Security.OAuth.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Microsoft.Owin.Security.OpenIdConnect, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Owin.Security.OpenIdConnect.3.1.0-rc1\lib\net45\Microsoft.Owin.Security.OpenIdConnect.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Microsoft.Owin.Security.Twitter, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Owin.Security.Twitter.3.1.0-rc1\lib\net45\Microsoft.Owin.Security.Twitter.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Microsoft.Owin.Security.WsFederation, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Owin.Security.WsFederation.3.1.0-rc1\lib\net45\Microsoft.Owin.Security.WsFederation.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Microsoft.Owin.StaticFiles, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Owin.StaticFiles.3.1.0\lib\net45\Microsoft.Owin.StaticFiles.dll</HintPath> </Reference> <Reference Include="Microsoft.SharePoint.Client, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.SharePoint.Client.14.0.4762.1000\lib\Microsoft.SharePoint.Client.dll</HintPath> </Reference> <Reference Include="Microsoft.SharePoint.Client.Runtime, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.SharePoint.Client.14.0.4762.1000\lib\Microsoft.SharePoint.Client.Runtime.dll</HintPath> </Reference> <Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.168.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> </Reference> <Reference Include="Nito.AsyncEx, Version=4.0.1.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Nito.AsyncEx.4.0.1\lib\net45\Nito.AsyncEx.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Nito.AsyncEx.Concurrent, Version=4.0.1.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Nito.AsyncEx.4.0.1\lib\net45\Nito.AsyncEx.Concurrent.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Nito.AsyncEx.Enlightenment, Version=4.0.1.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Nito.AsyncEx.4.0.1\lib\net45\Nito.AsyncEx.Enlightenment.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Owin"> <HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath> </Reference> <Reference Include="Recaptcha.Web, Version=2.1.0.0, Culture=neutral, PublicKeyToken=171a6ec5fa4b1644, processorArchitecture=MSIL"> <HintPath>..\packages\RecaptchaNet.2.1.0\lib\net451\Recaptcha.Web.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="StackExchange.Redis, Version=1.2.3.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\StackExchange.Redis.1.2.3\lib\net46\StackExchange.Redis.dll</HintPath> </Reference> <Reference Include="StackExchange.Redis.StrongName, Version=1.2.6.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL"> <HintPath>..\packages\StackExchange.Redis.StrongName.1.2.6\lib\net46\StackExchange.Redis.StrongName.dll</HintPath> </Reference> <Reference Include="System.AppContext, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.AppContext.4.3.0\lib\net46\System.AppContext.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Collections.Immutable, Version=1.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Collections.Immutable.1.3.1\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Collections.NonGeneric, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Collections.NonGeneric.4.3.0\lib\net46\System.Collections.NonGeneric.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Console, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Console.4.3.0\lib\net46\System.Console.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System.Diagnostics.Process, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Diagnostics.Process.4.3.0\lib\net461\System.Diagnostics.Process.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Diagnostics.StackTrace, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Diagnostics.StackTrace.4.3.0\lib\net46\System.Diagnostics.StackTrace.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Diagnostics.TraceSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Diagnostics.TraceSource.4.3.0\lib\net46\System.Diagnostics.TraceSource.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.DirectoryServices.AccountManagement" /> <Reference Include="System.DirectoryServices.Protocols" /> <Reference Include="System.IdentityModel" /> <Reference Include="System.IdentityModel.Tokens.Jwt, Version=4.0.40306.1554, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\System.IdentityModel.Tokens.Jwt.4.0.4.403061554\lib\net45\System.IdentityModel.Tokens.Jwt.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.IO.Compression" /> <Reference Include="System.IO.FileSystem, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.IO.FileSystem.Watcher, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.IO.FileSystem.Watcher.4.3.0\lib\net46\System.IO.FileSystem.Watcher.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Linq.Dynamic, Version=1.0.6132.35681, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\System.Linq.Dynamic.1.0.7\lib\net40\System.Linq.Dynamic.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Linq.Dynamic.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0f07ec44de6ac832, processorArchitecture=MSIL"> <HintPath>..\packages\System.Linq.Dynamic.Core.1.0.7.6\lib\net46\System.Linq.Dynamic.Core.dll</HintPath> </Reference> <Reference Include="System.Net" /> <Reference Include="System.Net.Http" /> <Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath> </Reference> <Reference Include="System.Net.Http.WebRequest" /> <Reference Include="System.Net.NameResolution, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Net.NameResolution.4.3.0\lib\net46\System.Net.NameResolution.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Reflection.TypeExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Reflection.TypeExtensions.4.3.0\lib\net46\System.Reflection.TypeExtensions.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Runtime.Caching" /> <Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Runtime.Serialization" /> <Reference Include="System.Runtime.Serialization.Formatters, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Runtime.Serialization.Formatters.4.3.0\lib\net46\System.Runtime.Serialization.Formatters.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Runtime.Serialization.Primitives, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Runtime.Serialization.Primitives.4.3.0\lib\net46\System.Runtime.Serialization.Primitives.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Threading.Thread, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Threading.Thread.4.3.0\lib\net46\System.Threading.Thread.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Transactions" /> <Reference Include="System.Web.DynamicData" /> <Reference Include="System.Web.Entity" /> <Reference Include="System.Web.ApplicationServices" /> <Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System" /> <Reference Include="System.Data" /> <Reference Include="System.Web.Extensions" /> <Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll</HintPath> </Reference> <Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath> </Reference> <Reference Include="System.Web.Http.WebHost, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll</HintPath> </Reference> <Reference Include="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll</HintPath> </Reference> <Reference Include="System.Web.Optimization"> <HintPath>..\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll</HintPath> </Reference> <Reference Include="System.Web.Razor"> <HintPath>..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll</HintPath> </Reference> <Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll</HintPath> </Reference> <Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll</HintPath> </Reference> <Reference Include="System.Drawing" /> <Reference Include="System.Web" /> <Reference Include="System.Xml" /> <Reference Include="System.Configuration" /> <Reference Include="System.Web.Services" /> <Reference Include="System.EnterpriseServices" /> <Reference Include="System.Xml.Linq" /> <Reference Include="System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System.Xml.XmlDocument, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Xml.XmlDocument.4.3.0\lib\net46\System.Xml.XmlDocument.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="WebGrease"> <HintPath>..\packages\WebGrease.1.6.0\lib\WebGrease.dll</HintPath> </Reference> </ItemGroup> <ItemGroup> <Reference Include="Microsoft.Web.Infrastructure"> <HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath> </Reference> </ItemGroup>

</ItemGroup> <ItemGroup> <ProjectReference Include="..\Clarity.BabcockCRM.Application\Clarity.BabcockCRM.Application.csproj"> <Project>{edf5d964-4c0f-4f19-b674-58a38a5e5401}</Project> <Name>Clarity.BabcockCRM.Application</Name> </ProjectReference> <ProjectReference Include="..\Clarity.BabcockCRM.Core\Clarity.BabcockCRM.Core.csproj"> <Project>{17298ea0-af73-4f30-b6f1-2066100d7d74}</Project> <Name>Clarity.BabcockCRM.Core</Name> </ProjectReference> <ProjectReference Include="..\Clarity.BabcockCRM.EntityFramework\Clarity.BabcockCRM.EntityFramework.csproj"> <Project>{3979f157-deb0-4878-ab1d-4cef6b5a1300}</Project> <Name>Clarity.BabcockCRM.EntityFramework</Name> </ProjectReference> <ProjectReference Include="..\Clarity.BabcockCRM.WebApi\Clarity.BabcockCRM.WebApi.csproj"> <Project>{5EB52D3D-09FD-463A-B02A-8D9856BD3724}</Project> <Name>Clarity.BabcockCRM.WebApi</Name> </ProjectReference> </ItemGroup> <ItemGroup> <Service Include="{4A0DDDB5-7A95-4FBF-97CC-616D07737A77}" /> </ItemGroup> <ItemGroup> <Folder Include="libs\jquery-jtable\dev&quot; /> <Folder Include="libs\jquery-jtable\lib&quot; /> </ItemGroup> <ItemGroup> <TypeScriptCompile Include="Abp\Framework\scripts\abp.d.ts" /> <TypeScriptCompile Include="Abp\Framework\scripts\libs\abp.jquery.d.ts" /> <TypeScriptCompile Include="Abp\Framework\scripts\libs\abp.signalr.d.ts" /> </ItemGroup> <PropertyGroup> <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> </PropertyGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" /> <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" /> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" /> <ProjectExtensions> <VisualStudio> <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}"> <WebProjectProperties> <UseIIS>True</UseIIS> <AutoAssignPort>True</AutoAssignPort> <DevelopmentServerPort>6234</DevelopmentServerPort> <DevelopmentServerVPath>/</DevelopmentServerVPath> <IISUrl>http://localhost:6240/</IISUrl> <NTLMAuthentication>False</NTLMAuthentication> <UseCustomServer>False</UseCustomServer> <CustomServerUrl> </CustomServerUrl> <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile> </WebProjectProperties> </FlavorProperties> </VisualStudio> </ProjectExtensions> <Import Project="$(SolutionDir).nuget\NuGet.targets" Condition="Exists('$(SolutionDir).nuget\NuGet.targets')" /> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see <a class="postlink" href="http://go.microsoft.com/fwlink/?LinkID=322105">http://go.microsoft.com/fwlink/?LinkID=322105</a>. The missing file is {0}.</ErrorText> </PropertyGroup> <Error Condition="!Exists('$(SolutionDir).nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir).nuget\NuGet.targets'))" /> <Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets'))" /> </Target> <Import Project="..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" />

</Project>

Should I upload whole file or references part

Hi There

I am getting the following issue when deploying to Azure. I am using the MVC 5.x with Jquery version. I am deploying using CI with bitbucket.

Anybody know what the issue is.

D:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets(242,5): warning : No compiler log specified, 'Clean' won't work. [D:\home\site\repository\Clarity.BabcockCRM.Web\Clarity.BabcockCRM.Web.csproj] CSC : error CS1703: Multiple assemblies with equivalent identity have been imported: 'D:\home\site\repository\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll' and 'D:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.6.1\Facades\System.Xml.ReaderWriter.dll'. Remove one of the duplicate references. [D:\home\site\repository\Clarity.BabcockCRM.Web\Clarity.BabcockCRM.Web.csproj] CSC : error CS1703: Multiple assemblies with equivalent identity have been imported: 'D:\home\site\repository\packages\System.Runtime.Serialization.Primitives.4.3.0\lib\net46\System.Runtime.Serialization.Primitives.dll' and 'D:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.6.1\Facades\System.Runtime.Serialization.Primitives.dll'. Remove one of the duplicate references. [D:\home\site\repository\Clarity.BabcockCRM.Web\Clarity.BabcockCRM.Web.csproj] Failed exitCode=1, command="D:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" "D:\home\site\repository\Clarity.BabcockCRM.Web\Clarity.BabcockCRM.Web.csproj" /nologo /verbosity:m /t:Build /t:pipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="D:\local\Temp\8d5065ffbc80fc1";AutoParameterizationWebConfigConnectionStrings=false;Configuration=Release;UseSharedCompilation=false /p:SolutionDir="D:\home\site\repository.\" An error has occurred during web site deployment. \r\nD:\Program Files (x86)\SiteExtensions\Kudu\65.60901.2996\bin\Scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd"

Thanks solved it so simple

Hi There

I Extended the Jtable user list to include a new action ICompany Profile.

{
                            text: app.localize('CompanyProfile'),
                            visible: function (data) {
                                return data.record.id !== abp.session.userId;
                            },
                            action: function (data) {
                                abp.ajax({
                                    url: abp.appPath + 'Mpa/CompanyAdmin/Index',
                                    data: JSON.stringify({
                                        userId: data.record.id
                                    })
                                });
                            }
                        },

When I click on the action it steps into the controller and passes through the data correctly but when it tries to return the view it does nothing then gives an error. It does not log anything in the logs.

Controller

public async Task<ActionResult> Index(CompanyAdminModel input)
        {
            var businessUnits = await _documentFilterAppService.GetBusinessUnitsForCombobox();
            var userid = input.UserId;
            var UserCustomerNumbers =  _customerNumberAppService.GetCustomerNumbersByUser(userid);
            var userProfile = await _profileAppService.GetCompanyProfileForAdminEdit(userid);
            var model = new IndexViewModel(businessUnits, UserCustomerNumbers, userProfile);
            return View(model);
        }

How to I go to a new view from a jTable action? Technically it would be leaving the user list page and going to the company profile page.

Thanks

Question

Hi There

I am inquiring if anybody has done anything with cascading dropdowns within the ASPNETZERO framework. Especially using the WebUI from javascript.

Any help will be appreciated.

Thanks

Solved!

Just use DTOS as per @ismcagdas

[AutoMapFrom(typeof(Product))]
    public class ProductListDto : FullAuditedEntityDto
    {
        public string Name { get; set; }
        public string SharepointMapping { get; set; }
        public string BrandName { get; set; }
        public string BusinessUnitName { get; set; }
       

    }
Showing 11 to 20 of 29 entries