Code Monkey home page Code Monkey logo

dntpersianutils.core's People

Contributors

agaheman avatar ahmadrajabi avatar bardiayaghmaie avatar dependabot[bot] avatar farshaddavoudi avatar mehranzand avatar mo-esmp avatar mohammadroshani avatar omidrafiee avatar raminmjj avatar shahabganji avatar somayeebrahimi avatar vahidn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dntpersianutils.core's Issues

How to ignore validation data annotations if empty

I have an issue when i define validation like this

[Display(Name = "شماره همراه سرپرست")]
 [ValidIranianMobileNumber(ErrorMessage = "{0} وارد شده صحیح نمی باشد!")]
public string SupervisorPhoneNumber { get; set; }

this property is not required and I want when user entered anything, this validator start to work and otherwise ignore to check.

تعطیلات ناگهانی

Summary of the issue

آیا این کتابخانه قابلیت تشخیص تعطیلات ناگهانی هم داره ؟ مثلا امروز آیت الله صافی گلپایگانی به رحمت خدا بره و دولت 2 روز تعطیلی اعلام کنه ؟
یا مثلا امروز کرونا شیوع پیدا کنه ، ناگهانی اعلام کنن فردا همه ی ادارات دنیا تعطیه ؟

Environment

DNTPersianUtils.Core version: 
.NET Core SDK version: 
IDE: 

Example code/Steps to reproduce:

paste your core code

Output:

Exception message:
Full Stack trace:

خروجی تاریخ میلادی پس از تبدیل

یک پروژه با Net 8 به همراه فریم ورک DNTPersianUtils انجام شده است و برای یک مشتری پس از تبدیل تاریخ به شمسی تاریخ همچنان میلادی خروجی داده می شود و من نتوانستم مشکل را پیدا و حل کنم. ممنون می شوم راهنمایی نمایید.
نوع داده datetime می باشد.
ویندوز 2019 و 2022 برای همان مجموعه مشتری تست شد. و مشکل یکسان بود.
زمانی که fromDocDate.ToUniversalTime() و پس از ان تبدیل صورت میگیرد . خروجی شمسی می شود اما تاریخ ها اشتباه است.

  • تاریخ و ساعت سرور کاملا درست می باشد.

Not Work

Hi Sir VahidN
We installed DNTPersianUtils.Core by nuget in VS2015.
But your persian extension methods not shows in vs intellicense.

Friendly Persian Date can't remove 'dddd yyyy MMM'

درصورتیکه بخواهیم در متد

.ToFriendlyPersianDateTextify()

تاریخ دقیق درج نشود بطور مثال در خروجی
‫۱۰ روز قبل، سه شنبه ۲۱ دی ۱۳۹۵، ساعت ۱۰:۲۰
مقدار
سه شنبه ۲۱ دی ۱۳۹۵
نشان داده نشود و خروجی به شکل
‫۱۰ روز قبل، ساعت ۱۰:۲۰

در اکستنشن متد مورد نظر هیچ آرگومانی برای اینکار وجود ندارد

سال خاتمه ی مناسبت ها، سال 1400 است

Summary of the issue

من با استفاده از متد زیر، میخوام سال خاتمه تعریف مناسبت ها در این کتابخانه رو بدونم، با وجود اینکه مناسبت های سال 1401 تعریف شده ولی این متد همچنان سال 1400 رو برمیگردونه.

Example code:

IranHolidays.EndYear

Output:

1400

عدم رعایت فاصله در نام روزهای فارسی

Summary of the issue

فاصله ی بین کلمات در روزهای یکشنبه، دوشنبه، سه‌شنبه، چهارشنبه و پنجشنبه بیشتر از حد معمول است، در متدهای PersianDayWeekNames و PersianDayNamesOfWeek این موضوع رعایت نشده اما در متد getPersianCulture به درستی رعایت شده است.

Environment

DNTPersianUtils.Core version: 5.4.3

Screenshot 2022-05-15 223858

تغییر مناسبت های قمری سال 1401

Summary of the issue

با توجه به جابه جایی تعطیلی عید فطر از 12 اردیبهشت به 13 اردیبهشت نیاز است، سایر مناسبت های قمری سال 1401 نیز تغییر کند.

نسخه .net framework

سلام
من این نسخه رو پورت کردم برای دات نت 4.7.2
مشکلی نداره در github خودم پابلیشش کنم؟

'DNTPersianUtils.Core.DateTimeUtils' exception on macOs and Docker

Hi

When I use this repo on my project or use your IdentityCore project on macOs or Docker I have this error :
fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[0] An unhandled exception has occurred: The type initializer for 'DNTPersianUtils.Core.DateTimeUtils' threw an exception. System.TypeInitializationException: The type initializer for 'DNTPersianUtils.Core.DateTimeUtils' threw an exception. ---> System.InvalidOperationException: Sequence contains no matching element at System.Linq.Enumerable.First[TSource](IEnumerable1 source, Func2 predicate) at DNTPersianUtils.Core.DateTimeUtils..cctor() --- End of inner exception stack trace --- at DNTPersianUtils.Core.DateTimeUtils.GetDateTimeOffsetPart(DateTimeOffset dateTimeOffset, DateTimeOffsetPart dataDateTimeOffsetPart) at AspNetCore._Views_SystemLog_Index_cshtml.<ExecuteAsync>d__53.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.AspNetCore.Mvc.Razor.RazorView.<RenderPageAsync>d__14.MoveNext()

بروز رسانی تعطیلات رسمی

با سلام و خسته نباشی
تشکر از این ابزار مفیدت واقعا کا راه اندازه
جسارتن میخواستم بدونم لیست تعطیلات رسمی آپدیت شده برا سال 99 یا خیر.
سپاسگزارم

اضافه کردن روز هفته

خسته نباشی وحید جان
لطفا قابلیت گرفتن روز هفته به صورت جدا را اضافه کن

از وقتی که برای نوشتن این پکیج گزاشتی ممنونم
روز خوبی داشته باشی

GetPersianWeekStartAndEndDates returns wrong result for "Saturday"

Summary of the issue

GetPersianWeekStartAndEndDates return previous week's start date instead of current week for Saturday. Offset calculation in GetPersianWeekStartAndEndDates should be changed like below:

var offset = -1 * (7 + ((dateTime.DayOfWeek - firstDayOfWeek) % 7));

To

var offset = -1 * ((7 + (dateTime.DayOfWeek - firstDayOfWeek)) % 7);

Example code/Steps to reproduce:

[TestMethod]
public void Test_GetPersianWeekStartAndEndDates_For_Dates_Works_Saturday()
{
    var persianCalendar = new PersianCalendar();
    var date = new DateTime(1398, 5, 12, persianCalendar);
    var persianWeek = date.GetPersianWeekStartAndEndDates();

    Assert.AreEqual(expected: new DateTime(1398, 5, 12, persianCalendar), actual: persianWeek.StartDate);
    Assert.AreEqual(expected: new DateTime(1398, 5, 18, 23, 59, 59, persianCalendar), actual: persianWeek.EndDate);
}

مناسبت ها

سلام لطفا مناسبت ها رو هم اضافه کنید

مشکل اعداد به حروف

Summary of the issue

مشکل اعداد به حروف

Environment

DNTPersianUtils.Core version: 3.6.8
.NET Core SDK version: 5.0
IDE: vs

Example code/Steps to reproduce:

image

Output:

Exception message: عدد بیشتر از میلیارد مدیریت نشده
نمونه تصویر ارسال شد
Full Stack trace:

بررسی کد پستی

Summary of the issue

باسلام
تابع بررسی کد پستی عملکرد درستی نداره
IsValidIranianPostalCode

Environment

DNTPersianUtils.Core version: 
.NET Core SDK version: 3.1
IDE: Visual Studio

Example code/Steps to reproduce:

paste your core code

Output:

Exception message:
Full Stack trace:

Customize ToFriendlyPersianDateTextify

I Have DateTime type and It type has English DateTime. I would like to use ToFriendlyPersianDateTextify but I don't want to return time. just return like ‫۱۰ روز قبل، سه شنبه ۲۱ دی ۱۳۹۵
How can I use it?

پیشنهاد توسعه

سلام پیشنهادی دارم برای افزودن قابلیت نمایش مناسبت به برنامه ای که توسعه دادید

الان که همه ی سیستم ها به اینترنت متصل هستند پیشنهاد میکنم ارتباط با ای پی آي های تقویم رو هم در این سورس خوب پیاده سازی کنید
خودم از این سرویس زیاد استفاده میکنم


وب سرویس تقویم فارسی

اطلاعات خوبی ارائه میده مثل وقایع و مناسبت های هر روز و دریافت رویداد در حالت شمسی و قمری و میلادی

کار نکردن ToPersianNumbers() در دات نت کر ۳

Summary of the issue

سلام

ظاهرا
ToPersianNumbers()
توی دات نت کر نسخه‌ی ۳ کار نمیکنه و احتمالا تغییراتی توی
CultureInfo.InvariantCulture
اعمال شده که باعث میشه درست کار نکنه

Example code/Steps to reproduce:

MyNumber.ToPersianNumbers();

خطا هنگام پابلیش و انتشار

Summary of the issue

هنگام انتشار اپلیکیشن از طریق iis publish profile در ویژوال استودیو ددقیقا زمانی ارور تایم اوت کانکشن ممیده که نوبت به انتشار فایل dll پکیج DNTPersianUtilsCore.ddl میشه

Environment

Release

DNTPersianUtils.Core version: 
5.7.1
.NET Core SDK version: 
6.0
IDE: 

VisualStudio 2022

Example code/Steps to reproduce:

paste your core code

Output:

C:\Program Files\dotnet\sdk\7.0.203\Sdks\Microsoft.NET.Sdk.Publish\targets\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(140,5): Warning : Retrying the sync because a socket error (10054) occurred.

Exception message:
Full Stack trace:

تاریخ قمری

سلام لطفا تاریخ دقیق قمری رو هم اضافه کنید

دریافت تاریخ و محاسبه اولین و آخرین روز

در راستای تکمیل این کتابخانه درخواست مبنی بر اینکه بتوان متدی اضافه شود که تاریخی را دریافت کرده اولین روز هفته و اخرین روز هفته تاریخ مد نظر را در خروجی تحویل داده و همچنین متد دیگری برای اولین روز و اخرین روز ماه با تشکر

Add a method to convert a string to SEO friendly text.

Would you add a method to convert a string to SEO friendly text?

e.g :
"چگونه می‌توان ریسک‌های معامله را کاهش داد؟"
to
"چگونه-می‌توان-ریسک‌های-معامله-را-کاهش-داد"

مناسبت های سال 98

مناسبت های سال 98 درست نیستن.
مثلا تاریخ 1398/03/06 شهادت امام علی است. در صورتی که در پکیج یک روز قبل تر ثبت شده

خطا در اعتبار سنجی کد ملی و شماره موبایل و همچنین کد پستی

Summary of the issue

سلام مهندس، ممنونم از این کار خوبت که واقعا کار برنامه نویسارو تو ایران کم کردی، خدا خیرت بده و هر رو موفق تر از دیروز پیش بری.
اعتبار سنجی کدملی، موبایل و کد پستی درست کرا نمیکنه و به موارد درست رو اشتباه در نظر میگیره عزیزم، این مورد مهمی هست مخصوصا هنگام دریافت این 3 مورد برای اعتبار سنجی ثانویه

Environment

DNTPersianUtils.Core version: 5.4.4
.NET Core SDK version: .net core 6
IDE: vs 2022

Example code/Steps to reproduce:

paste your core code

Output:

Exception message:
Full Stack trace:

اضافه کردن تعطیلات رسمی سال 1402

Summary of the issue

با توجه به اینکه در دایکیومنت ذکر شده تعطیلات رسمی تا پایان سال 1401 ساپورت میشود لطفا آن را مطابق با سال جاری آپدیت بفرمایید.

Environment

DNTPersianUtils.Core version: 
.NET Core SDK version: 
IDE: 

Example code/Steps to reproduce:

paste your core code

Output:

Exception message:
Full Stack trace:

Ignore whiteSpaces in ContainsOnlyFarsiLetters

I tried to use the ContainsOnlyFarsiLetters method to check if the user's name is completely Farsi but I find out that when the string contains whitespaces, this method just returns false (actually it does its job correctly).
I thought about expanding this method by adding an optional parameter to ignore whitespaces or not.

Thank you.

ToPersianYearMonthDay خطا در

Summary of the issue

پس از ارتقا به نگارش 4.9
ToPersianYearMonthDay
دچار خطا شده است.

The call is ambiguous between the following methods or properties: 'GenericsPersianDateTimeUtils.ToPersianYearMonthDay<TValue>(TValue?, bool, DateTimeOffsetPart)' and 'PersianDateTimeUtils.ToPersianYearMonthDay(DateTime, bool)'
و حتما باید پارامتر
convertToIranTimeZone
پاس داده شود تا خطا رفع شود.

DNTPersianUtils.Core version: 4.9.0
.NET Core SDK version: 5.0.8
IDE: 16.10.3

مشکل تبدیل تاریخ از نوع DateTimeOffset با استفاده از متد ToShortPersianDateTimeString

Summary of the issue

نمونه کد زیر رو که ران میکنم بنظرم درست عمل نمیکنه. انتظارم اینه که تبدیل انجام بشه و با فرمت مناسب نمایش داده بشه. یعنی در هر دو حالت مقداری که برمیگرده بشه 1402/05/31 11:51 ولی اینظوری نیست. ممنون میشم بررسی بفرمایید.

Environment

DNTPersianUtils.Core version:  5.7.1
.NET Core SDK version: 6.0.413

Example code/Steps to reproduce:

using DNTPersianUtils.Core;

var dt = DateTimeOffset.Now;
Console.WriteLine(dt);
Console.WriteLine(dt.ToShortPersianDateTimeString());

var dtu = DateTimeOffset.UtcNow;
Console.WriteLine(dtu);
Console.WriteLine(dtu.ToShortPersianDateTimeString());

Output:

8/22/2023 11:51:53AM +03:30
1402/05/31 10:21
8/22/2023 8:21:53AM +00:00
1402/05/31 10:21

Problem with padding left in IsValidIranianNationalCode method

Validating 123456789 string with IsValidIranianNationalCode returns true!

If input string length is not equal with 10 then you pad string from left with 0 to make string length 10 and it cause unexpected behavior in my option. If user intentionally enters 123456789 to avoid enter actual national code (hence it's common input) then validation will passed.

error in convert datetime

Summary of the issue

Environment

DNTPersianUtils.Core version: 8
.NET Core SDK version: 8
IDE: visual studio 17.3

Example code/Steps to reproduce:

paste your core code

CurrentTimePersianString = DateTime.Now.ToPersianDateTextify(),
CurrentTimePersianFreindlyString = DateTime.Now.ToFriendlyPersianDateTextify(),

Output:

Exception message:
Full Stack trace:

image

استفاده از متدهای به صورت فیلتر

سلام
چطور میشه در دات نت کر متد های ApplyCorrectYeKe یا ToEnglishNumbers و به صورت فیلتر استفاده کرد که به طور خودکار روی تمام ورودی ها اعمال شود ؟

DNTPersianUtils.Core version: 5.9
.NET Core SDK version: .Net Core 8.0.2
IDE: 

Method `ToShortPersianDateTimeString()` not converting to local time

Summary of the issue

Method ToShortPersianDateTimeString() doesn't covert DateTime to local time although I pass true in method parameter.
I'm currently using it in mapping profiles.

Environment

DNTPersianUtils.Core version: 4.3.0
.NET Core SDK version: 5.0.300
IDE: Jetbrains Rider

Example code/Steps to reproduce:

Expected code to work:

CreateMap<ReportDescription, DescriptionSaveDto>()
            .ForMember(x => x.DescriptionDatetime, opt => opt.MapFrom(y => y.DescriptionDate.DateTime.ToShortPersianDateTimeString(true)));

Current workaround (manually convert the DateTime to LocalTime using ToLocalTime(), then call ToShortPersianDateTimeString() method:

CreateMap<ReportDescription, DescriptionSaveDto>()
            .ForMember(x => x.DescriptionDatetime, opt => opt.MapFrom(y => y.DescriptionDate.DateTime.ToLocalTime().ToShortPersianDateTimeString(true)));

Output:

Current behavior:
DescriptionDate in database: 2021-06-27 05:33:47.826278
DescriptionDatetime return value in Dto: 1400/04/06 05:33

Expected behavior:
DescriptionDatetime return value in Dto: 1400/04/06 10:03

تفاوت خروجی تبدیل ایران سیستم به یونی کد و یونی کد به ایران سیستم

هنگامی که نمونه فایل دیسک بیمه تامین اجتماعی را به فونت فارسی تبدیل میکنیم خروجی درستی داریم. اما زمانی که همان متن تبدیل شده را به یونی کد تبدیل میکنیم در بعضی کارکرتها دچار مشکل میشود و برگردان یونی کد ساخاه شده توسط همین به پکیج به فارسی درست نمیباشد
مشکل این است که در هنگام تبدیل یونی کد به ایران سیستم تابع FromUnicodeToIranSystem پارامتر دومی قبول میکند که در آن ArbicContext قرار میگیرد و ترجمه درست انجام میشود.
اما در تبدیل ایران سیستم به یونی کد FromIranSystemToUnicode این پارامتر دوم موجود نیست

I can't use it with anonymous objects!?

Summary of the issue

An expression tree may not contain a call or invocation that uses optional arguments

Environment

MVC
DNTPersianUtils.Core version:
.NET Core SDK version: 8
IDE: Visual Studio

Example code/Steps to reproduce:

paste your core code
Foo.Select(i => new{
                    i.Id,
                    i.Name, 
                    i.CreatedDate,
                    CreatedDateFa = i.CreatedDate.ToFriendlyPersianDateTextify()
                  });
 I have a solution that requires some coding like 
  private static string ToPersianFirendly(DateTime dt)
  {
      return dt.ToFriendlyPersianDateTextify(); 
  }
and then use it in anonymous object:
Foo.Select(i =>new {
CreatedDateFa = ToPersianFirendly(i.CreatedDate)
})
## Output:

Exception message:
Full Stack trace:
Severity Code Description Project File Line Suppression State
Error CS0854 An expression tree may not contain a call or invocation that uses optional arguments

تایم زون صحیح ایران در ToFriendlyPersianDateTextify

Summary of the issue

با سلام و احترام
بنظر میرسه در تابع ToFriendlyPersianDateTextify تایم زون ایران با مقدار +04:30 تبدیل میشه
مثلا ساعت ورودی 12:37:01 PM
13:37 ولی مقدار خروجی
نمایش داده میشه

Environment

DNTPersianUtils.Core version: 
.NET Core SDK version: 
IDE: 

Example code/Steps to reproduce:

var outP=DateTimeReceived.ToFriendlyPersianDateTextify();

Output:

DateTimeReceived= Sunday, April 9, 2023 12:37:01 PM

outP= ‫۱۵ روز قبل، یکشنبه ۲۰ فروردین ۱۴۰۲، ساعت ۱۳:۳۷

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.