پروژه های پارسکدرز
5.75K subscribers
2 photos
1 file
511K links
آخرین پروژه های پارسکدرز را در این کانال ببینید

پارسکدرز اولین بازار کار آنلاین ایران

https://parscoders.com
Download Telegram
افزودن مواردخواسته شده به برنامه نوشته شده در بلیزر

#dotnet, #javascript, #blazor

با سلام
یک برنامه در بلیزرنوشته شده نیازمند اصلاحت مد نظر هستم.

به فرم اضافه/ویرایش کاربر یک رادیو باتن که از جدول خوانده میشود اضافه گردد( جدول نوع کاربر شامل کلید کاربر، نوع کاربر، ضریب کاربری ) باشد.( دارای سه نوع کاربر مدیر ضریب30 کارمند ضریب 20 و کارگر با ضریب 10)
فرم اضافه/ویرایش کاربر درابتدای باز شدن کامللا غیر فعال است. به فرم یک دکمه ویرایش اضافه گردد (دکمه های ثبت و کنسل مخفی یا غیر فعال )و بعد از کلیک بر روی دکمه ویرایش امکان اصلاح کردن فیلدها امکان پذیر باشد.
در فرم اضافه کردن کاربر در صورت که نام کاربری از قبل موجود بود اطلاعات کاربری مدنظر، نمایش داده شود. در غیر اینصورت فرم ورود اطلاعات فعال گردد و دکمه های ثبت و کنسل کار خود را انجام دهند.
در فرم ویرایش اگر فیلد نام خانوادگی دارای اطلاعات بود (مخالف نال یا '') بود کل فرم غیر قابل ویرایش باشد. همچنین دکمه ویرایش هم غیر فعال باشد.
به فرم اضافه/ویرایش کاربر دو فیلد حقوق قبلی و جدید هم اضافه گردد که در زمانی کاربر بعد از ورود عدد و خروج از تکست باکس حقوق، به حقوق * ضریب خوانده شده از جدول نوع کاربر اضافه گردد و در فیلد حقوق جدید نوشته و در دیتابیس ذخیره گردد.

با تشکر


توسط خریدار: ssassa

اطلاعات بیشتر:
https://parscoders.com/project/448725/افزودن-مواردخواسته-شده-به-برنامه-نوشته-شده-در-بلیزر

t.me/ParscodersCom
👍1
سفارشی سازی کامپوننتهای mudblazor
🔸 چسبنده

#dotnet, #c_sharp_programming, #blazor

سلام وقت بخیر
من میخوام کامپوننت های Mud رو سفارشی سازی کنم
مثلا چند نوع کامپوننت سفارشی از مودسلکت بسازم که بشه راحت در برنامه استفادشون کرد
مثلا قابلیت گروه بندی رو وقتی پر میکنم ستونی که باهاش میخوام گروه بندی کنم رو ازم بگیره و کامپوننت رو بهم بده
ظاهرش برام مهمه
در صورت رضایت اولین خروجی هر کامپوننت سوا حساب میشه
کامپوننت 
@inject HttpClient Http
 @typeparam T
<div>
    <MudAutocomplete T="@T" @bind-Value="theValue" SearchFunc="FilteredSearchFunc"
                     ShowProgressIndicator="true" DebounceInterval="600"
                     Label="@Label" Clearable="true" Immediate="false"
                     Variant="MudThemeManager.MudVariant" CoerceValue="true"
                     ToStringFunc="GetNameFunc" />
    <MudChipSet AllClosable=true OnClose="RemoveValue">
        @foreach (var val in selectedValues)
        {
            <MudChip Size=Size.Small @key="@GetIDFunc(val)" Text="@GetNameFunc(val)" />
        }
    </MudChipSet>
</div>
@code {
    [Parameter\]
    public IEnumerable<T>? Values { get; set; }
    [Parameter\]
    public EventCallback<IEnumerable<T>> ValuesChanged { get; set; }
    [Parameter\]
    public string Label { get; set; }
    [Parameter, EditorRequired\]
    public Func<string, Task<IEnumerable<T>>> SearchFunc { get; set; }
    [Parameter, EditorRequired\]
    public Func<T, string> GetNameFunc { get; set; }
    [Parameter, EditorRequired\]
    public Func<T, int> GetIDFunc { get; set; }
    private HashSet<T> selectedValues = new HashSet<T>();
    private async Task<IEnumerable<T>> FilteredSearchFunc(string searchText)
    {
        if (!string.IsNullOrEmpty(searchText))
        {
            var results = await SearchFunc(searchText);
            return results.Except(selectedValues);
        }
        return Enumerable.Empty<T>();
    }
    protected override void OnParametersSet()
    {
        base.OnParametersSet();
        if (Values == null )
        {
            selectedValues.Clear();
        }
        else if( ! Values.SequenceEqual( selectedValues ))
        {
            selectedValues = Values.ToHashSet();
            ValuesChanged.InvokeAsync(Values);
        }
    }
    private void RefreshBinding()
    {
        Values = selectedValues.ToList();
        ValuesChanged.InvokeAsync(Values);
        StateHasChanged();
    }
    private void RemoveValue(MudChip chip)
    {
        if (selectedValues.RemoveWhere(x => GetNameFunc(x) == chip.Text) > 0)
            RefreshBinding();
    }
    private void AddValue(T newValue)
    {
        if (newValue != null)
        {
            if (selectedValues.Add(newValue))
                RefreshBinding();
        }
    }
    /// <summary>
    /// Note that this is required to a) clear the control after you add
    /// an item to the list, and b) to trigger the addvalue method.
    /// If MudAutoComplete's bind-Value:after wo...


توسط خریدار: کاربر.7718

اطلاعات بیشتر:
https://parscoders.com/project/460351/سفارشی-سازی-کامپوننتهای-mudblazor

t.me/ParscodersCom