Files
moadiran/TaxPayerFull/Pages/UserPanel/InvoiceItem.razor

1030 lines
206 KiB
Plaintext
Raw Normal View History

2024-05-14 15:57:34 +03:30
@using Front.Services
@using Shared.DTOs
2024-05-16 23:40:32 +03:30
@using Shared
2024-07-01 15:39:40 +03:30
@inject IJSRuntime JS
2024-05-30 15:08:36 +03:30
2024-05-14 15:57:34 +03:30
@inject HttpClientController hc;
2024-05-17 23:05:46 +03:30
@layout PanelLayout
@inject Fixedvalues fv;
@page "/InvoiceDetails/{InvoiceID:int}"
@page "/InvoiceDetails"
2024-05-23 19:59:19 +03:30
<Modal @ref="modal" />
2024-05-17 23:05:46 +03:30
<Preload LoadingText="در حال بارگذاری..." />
2024-05-26 18:16:36 +03:30
<ConfirmDialog @ref="dialog" />
2024-05-28 17:29:20 +03:30
<Toasts AutoHide="true" Delay="6000" class="p-3" Messages="messages" Placement="ToastsPlacement.TopRight" />
2024-05-31 00:24:45 +03:30
<PageTitle>جزئیات صورتحساب</PageTitle>
2024-05-30 15:08:36 +03:30
2024-08-15 19:15:51 +03:30
2024-05-30 15:08:36 +03:30
@if (invoice.IsDeleted)
{
<h1 style="color:red">این صورتحساب حذف شده و در دسترس نمی باشد</h1>
<br />
<hr class="hr" />
}
2024-05-14 15:57:34 +03:30
<form>
2024-07-01 15:39:40 +03:30
@if (InvoiceID.HasValue)
{
2024-05-31 00:24:45 +03:30
<h4 class="fw-bold py-3 mb-4">
<span class="text-muted fw-light">سرویس ها / صورتحساب /</span> @invoice?.Title
2024-07-01 15:39:40 +03:30
</h4>
}
else
{
2024-05-31 00:24:45 +03:30
<h4 class="fw-bold py-3 mb-4">
<span class="text-muted fw-light">سرویس ها / صورتحساب /</span> جدید
</h4>
2024-07-01 15:39:40 +03:30
}
2024-05-31 00:24:45 +03:30
2024-05-14 15:57:34 +03:30
@* alert *@
<div class="row">
<Alert hidden="@Hidealert" Color="@alertColor" Dismissable="false">
<Icon Name="@alertIconName" class="me-2"></Icon>
@alertMessage
</Alert>
</div>
2024-05-30 15:08:36 +03:30
@if (InvoiceID == 0 || InvoiceID == null ? false : true && !invoice.IsDeleted)
2024-05-28 17:29:20 +03:30
{
<div class="row g-3">
2024-07-23 22:30:52 +03:30
<div class="form-group col-md-9">
2024-07-24 22:56:46 +03:30
@if (invoice.invoiceType!=InvoiceType.Cancellation)
2024-05-29 11:17:30 +03:30
{
2024-07-24 22:56:46 +03:30
<div class="multi-button">
@switch (invoice.invoiceType)
{
case (InvoiceType.Bidding):
2024-10-15 14:19:54 +03:30
<Button Disabled="SpinnerVisible" class="button" style="color:white;" @onclick="() => ChangeStatus((int)InvoiceType.Sale)" id="cut"><span>فاکتور</span></Button>
2024-07-24 22:56:46 +03:30
<Button class="button" style="color:white;" @onclick="() => ChangeStatus((int)InvoiceType.Cancellation)" id="sred1"><span>ابطال</span></Button>
break;
case (InvoiceType.Sale):
2024-10-15 14:19:54 +03:30
<Button Disabled="SpinnerVisible" class="button" style="color:white;" @onclick="() => ChangeStatus((int)InvoiceType.BackFrmSale)" id="copy"><span>برگشت فروش</span></Button>
<Button Disabled="SpinnerVisible" class="button" style="color:white;" @onclick="() => ChangeStatus((int)InvoiceType.Repair)" id="paste"><span>اصلاح</span></Button>
<Button Disabled="SpinnerVisible" class="button" style="color:white;" @onclick="() => ChangeStatus((int)InvoiceType.Cancellation)" id="sred"><span>ابطال</span></Button>
2024-07-24 22:56:46 +03:30
@* <Button class="button" style="color:white;" id="sred1" @onclick="() => ChangeStatus((int)InvoiceType.CANCEL)"><span>لغو</span></Button> *@
break;
case (InvoiceType.BackFrmSale):
2024-10-15 14:19:54 +03:30
<Button Disabled="SpinnerVisible" class="button" style="color:white;" @onclick="() => ChangeStatus((int)InvoiceType.Cancellation)" id="sred"><span>ابطال</span></Button>
2024-07-24 22:56:46 +03:30
@* <Button class="button" style="color:white;" @onclick="() => ChangeStatus((int)InvoiceType.CANCEL)" id="sred1"><span>لغو</span></Button> *@
break;
case (InvoiceType.Repair):
2024-10-15 14:19:54 +03:30
<Button Disabled="SpinnerVisible" class="button" style="color:white;" @onclick="() => ChangeStatus((int)InvoiceType.Cancellation)" id="sred"><span>ابطال</span></Button>
2024-07-24 22:56:46 +03:30
@* <Button class="button" style="color:white;" @onclick="() => ChangeStatus((int)InvoiceType.CANCEL)" id="sred1"><span>لغو</span></Button> *@
2024-10-15 14:19:54 +03:30
<Button Disabled="SpinnerVisible" class="button" style="color:white;" id="copy" @onclick="() => ChangeStatus((int)InvoiceType.BackFrmSale)"><span>برگشت فروش</span></Button>
2024-07-24 22:56:46 +03:30
break;
@* case (InvoiceType.Cancellation):
<Button class="button" style="color:white;" id="sred1" @onclick="() => ChangeStatus((int)InvoiceType.CANCEL)"><span>لغو</span></Button>
break; *@
}
2024-07-01 15:39:40 +03:30
2024-07-24 22:56:46 +03:30
</div>
}
2024-07-01 15:39:40 +03:30
2024-07-23 22:30:52 +03:30
</div>
<div class="form-group col-md-3">
<div class="multi-button">
2024-07-24 22:56:46 +03:30
<Tooltip Title="کپی از صورتحساب">
<Button style="color:white;" @onclick="CopyInvoice">
<img height="20" width="20" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA5klEQVR4nO3YMQrCMBTG8dzuDeqqS72A4j0CdSx01QO49goloGQo3YSMrl27JNJdTZr3oqW+P2Sz8PNrBlGIuQaydtizPKprUqDpbPQZnt8U2q5ypSYLvLS9WxfaLnJ1mySwutt0SCpgFYKkuPD7UxMN9CKHD2MCWbttqd3h3EYDPyIpgM2jd1mp3S5wyVfAt0gKoOnsKGTItSEHmpFI3xdIAjREyKRAQ4BMDjRIJDkQPOenQF8MxAb8ipEBL4gMeEFkwAsiA14QGfCCyIAXRAa8IDKI/Dvlqz/5BSYGyn9YEBIfMdeel7WFVd/aZ3IAAAAASUVORK5CYII=">
</Button>
</Tooltip>
2025-01-09 16:01:37 +03:30
<Tooltip Title="خروجی از صورتحساب">
<Button style="color:white;" @onclick="OnClickReport">
<img height="20" width="20" src="data:image/jpeg;base64,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
</Button>
</Tooltip>
2025-01-24 19:18:17 +03:30
@if (invoice.invoiceType != InvoiceType.Bidding && invoice.invoiceType != InvoiceType.Cancellation)
{
@if (invoice.HasaRemittance)
{
<Tooltip Title="قطع ارتباط با انبار">
<Button style="color:white;" @onclick="OnClickCancelRemittance">
<img height="20" width="20"
src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/4Qm+aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPg0KCTxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+DQoJCTxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+DQoJCQk8ZGM6Y3JlYXRvcj4NCgkJCQk8cmRmOlNlcT4NCgkJCQkJPHJkZjpsaT5WZWN0b3JTdG9jay5jb20vMTExMjUwNDQ8L3JkZjpsaT4NCgkJCQk8L3JkZjpTZXE+DQoJCQk8L2RjOmNyZWF0b3I+DQoJCTwvcmRmOkRlc2NyaXB0aW9uPg0KCTwvcmRmOlJERj4NCjwveDp4bXBtZXRhPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9J3cnPz7/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAPlA+gDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8Rc
>
</Button>
</Tooltip>
}
else
{
<Tooltip Title="ارتباط با انبار">
<Button style="color:white;" @onclick="OnClickRemittance">
<img height="20" width="20"
src="data:image/png;base64,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
</Button>
</Tooltip>
}
}
2024-07-23 22:30:52 +03:30
</div>
2024-05-28 17:29:20 +03:30
</div>
</div>
2024-07-23 22:30:52 +03:30
2024-05-28 17:29:20 +03:30
<br />
2024-07-01 15:39:40 +03:30
@if (invoice.InvoiceSendTaxs.Count > 0)
2024-06-12 07:54:43 +03:30
{
2024-07-01 15:39:40 +03:30
if (invoice.InvoiceSendTaxs.Any(a => a.InvoiceType == invoice.invoiceType
&& a.SentStatus == SentStatus.Send))
2024-06-12 07:54:43 +03:30
{
2024-06-14 22:37:22 +03:30
SendInvoice = false;
2024-07-01 15:39:40 +03:30
<h6>این صورتحساب با این وضعیت به سامانه مودیان ارسال شده ،برای اطلاع از وضعیت لطفا تعیین وضعیت کنید</h6>
2024-06-12 07:54:43 +03:30
}
else if (invoice.InvoiceSendTaxs.Any(a => a.InvoiceType == invoice.invoiceType
&& a.SentStatus == SentStatus.Successful))
{
2024-06-14 22:37:22 +03:30
SendInvoice = false;
2024-10-16 23:36:52 +03:30
<h6 style="color:#49cc90;">
2024-06-12 07:54:43 +03:30
این صورتحساب با این وضعیت به سامانه مودیان ارسال و تائید شده
</h6>
}
else if (invoice.InvoiceSendTaxs.Any(a => a.InvoiceType == invoice.invoiceType
&& a.SentStatus == SentStatus.Unsuccessful))
{
SendInvoice = true;
<h6 style="color:red;">این صورتحساب با این وضعیت به سامانه مودیان ارسال ولی تائید نشده</h6>
}
else if (invoice.InvoiceSendTaxs.Any(a => a.InvoiceType == invoice.invoiceType
&& (a.SentStatus == SentStatus.pending || a.SentStatus == SentStatus.IN_PROGRESS)))
{
2024-06-14 22:37:22 +03:30
SendInvoice = false;
2024-07-01 15:39:40 +03:30
<h6>
2024-06-12 07:54:43 +03:30
این صورتحساب با این وضعیت به سامانه مودیان ارسال و در حال بررسی می باشد
</h6>
}
else if (invoice.InvoiceSendTaxs.Any(a => a.InvoiceType == invoice.invoiceType
&& (a.SentStatus == SentStatus.NOT_FOUND || a.SentStatus == SentStatus.Unknown)))
{
2024-06-14 22:37:22 +03:30
SendInvoice = false;
2024-07-01 15:39:40 +03:30
<h6>
2024-06-12 07:54:43 +03:30
این صورتحساب با این وضعیت به سامانه مودیان ارسال شده ولی وضعیت آن مشخص نیست
</h6>
}
else if (invoice.InvoiceSendTaxs.Any(a => a.InvoiceType != invoice.invoiceType))
{
SendInvoice = true;
<h6>این صورتحساب با این وضعیت به سامانه مودیان ارسال نشده</h6>
}
}
else SendInvoice = true;
2024-07-01 15:39:40 +03:30
2024-05-28 17:29:20 +03:30
<hr class="hr" />
}
2024-05-14 15:57:34 +03:30
<div class="row g-3">
2024-05-16 23:40:32 +03:30
<div class="form-group col-md-2">
<label class="col-sm-4 col-form-label" style="color:red" for="inputTitle">عنوان</label>
<InputText @bind-Value="invoice.Title" type="text" class="form-control" id="inputTitle" placeholder="عنوان" />
2024-05-14 15:57:34 +03:30
</div>
2024-05-16 23:40:32 +03:30
<div class="form-group col-md-2">
<label class="col-sm-4 col-form-label" for="inputinvoiceTypeTitle">نوع</label>
2024-05-28 17:29:20 +03:30
<select @bind="invoice.invoiceType" class="form-control" aria-label="Default select example" disabled id="inputinvoiceTypeTitle">
2024-05-16 23:40:32 +03:30
@if (!invoice.invoiceType.HasValue)
2024-05-14 15:57:34 +03:30
{
<option value="0" style="color: #b5b5b5" selected>انتخاب کنید...</option>
}
else
{
<option value="0" style="color: #b5b5b5">انتخاب کنید...</option>
}
2024-05-17 23:05:46 +03:30
@foreach (InvoiceType i in Enum.GetValues(typeof(InvoiceType)))
{
2024-05-16 23:40:32 +03:30
if (invoice.invoiceType == i)
{
<option value="@i" selected>@i.GetEnumDisplayName()</option>
}
else
{
<option value="@i">@i.GetEnumDisplayName()</option>
}
2024-05-17 23:05:46 +03:30
}
2024-05-27 22:01:14 +03:30
</select>
2024-05-16 23:40:32 +03:30
</div>
<div class="form-group col-md-2">
<label class="col-sm-8 col-form-label" for="inputPatternID">الگو صورتحساب</label>
<select @bind="invoice.PatternID" class="form-control" aria-label="Default select example" id="inputPatternID">
2024-05-17 23:05:46 +03:30
@if (invoice.PatternID == null || invoice.PatternID == 0)
2024-05-16 23:40:32 +03:30
{
<option value="0" style="color: #b5b5b5" selected>انتخاب کنید...</option>
}
else
2024-05-14 15:57:34 +03:30
{
2024-05-16 23:40:32 +03:30
<option value="0" style="color: #b5b5b5">انتخاب کنید...</option>
}
@if (Patterns != null)
{
foreach (var item in Patterns)
2024-05-14 15:57:34 +03:30
{
2024-05-16 23:40:32 +03:30
if (invoice.PatternID == item.ID)
2024-05-14 15:57:34 +03:30
{
<option value="@item.ID" selected>@item.Title</option>
}
else
{
<option value="@item.ID">@item.Title</option>
}
}
}
</select>
</div>
2024-05-16 23:40:32 +03:30
<div class="form-group col-md-2">
<label class="col-sm-5 col-form-label" style="color:red" for="inputCustomerID">مشتری</label>
<select @bind="invoice.CustomerID" class="form-control" aria-label="Default select example" id="inputCustomerID">
@if (invoice.CustomerID == null || invoice.CustomerID == 0)
{
<option value="0" style="color: #b5b5b5" selected>انتخاب کنید...</option>
}
else
{
<option value="0" style="color: #b5b5b5">انتخاب کنید...</option>
}
@if (Cus != null)
{
foreach (var item in Cus)
{
if (invoice.CustomerID == item.ID)
{
<option value="@item.ID" selected>@item.CustomerName</option>
}
else
{
<option value="@item.ID">@item.CustomerName</option>
}
}
}
</select>
</div>
<div class="form-group col-md-2">
<label class="col-sm-5 col-form-label" for="inputInvoicIssueDate">تاریخ صدور</label>
<InputText style=" text-align: center;" @bind-Value="invoice.InvoicIssueDate" type="text" class="form-control" id="inputInvoicIssueDate" placeholder="تاریخ صدور" />
</div>
<div class="form-group col-md-2">
<label class="col-sm-4 col-form-label" for="inputInvoiceDate">تاریخ</label>
<InputText style=" text-align: center;" @bind-Value="invoice.InvoiceDate" type="text" class="form-control" id="inputInvoiceDate" placeholder="تاریخ" />
</div>
</div>
2024-07-01 15:39:40 +03:30
@if (InvoiceID == 0 || InvoiceID == null ? false : true)
2024-05-28 17:29:20 +03:30
{
<br /> <hr class="hr" />
<div class="row g-3">
@* <Tabs NavStyle="NavStyle.VerticalUnderline">
<Tab Title="آیتم ها" IsActive="true">
<Content> *@
2024-05-26 17:25:34 +03:30
<div class="row g-3">
2024-05-28 17:29:20 +03:30
<div class="form-group col-md-11">
@if (InvoiceID.HasValue && invoice.items.Count > 0)
{
2024-05-30 15:08:36 +03:30
<LGridInvoiceItem IsDeleted="invoice.IsDeleted" InvoiceID="InvoiceID.Value" OnMultipleOfThree="EventCallback.Factory.Create<string>(this, CallBack)" InvoiceItems="invoice.items" />
2024-05-26 17:25:34 +03:30
2024-05-28 17:29:20 +03:30
}
</div>
<div class="form-group col-md-1">
2024-05-30 15:08:36 +03:30
@if (!invoice.IsDeleted)
{
2024-10-15 14:19:54 +03:30
<Tooltip Title="آیتم جدید">
<Button Disabled="SpinnerVisible" style="color:white;" @onclick="NewItemClick">
2024-09-10 15:04:46 +03:30
<img height="40" width="40" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACAAgMAAAC+UIlYAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAN2AAADdgF91YLMAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAAlQTFRF////mZmZ4hsb0VMDIQAAAAF0Uk5TAEDm2GYAAABcSURBVFjDYwgNZWBgxUfQQQEBMGIUjIYEtRSMhsJomhz2aVJrxQhVEIpfAcOoAkwFq+AAR/LCpiB0sCkYTZPDXwHVI2u07h6tmkfbk6NpcjRNoisIDQ3AR9BBAQDW4Zdp3VsKiwAAAABJRU5ErkJggg==">
</Button>
</Tooltip>
2024-05-30 15:08:36 +03:30
}
2024-07-01 15:39:40 +03:30
2024-05-28 17:29:20 +03:30
</div>
2024-05-26 17:25:34 +03:30
</div>
2024-05-28 17:29:20 +03:30
@* </Content>
</Tab> *@
@* <Tab Title="پرداختی ها">
<Content>
<div class="row g-3">
<div class="form-group col-md-11">
<LGridInvoicePayment InvoicePays="invoice.payments" />
</div>
<div class="form-group col-md-1">
2024-05-26 17:25:34 +03:30
2024-05-28 17:29:20 +03:30
<Button class="mt-3" Color="ButtonColor.Dark" @onclick="OnClickDelete" Outline="true" Type="ButtonType.Button">
+
</Button>
</div>
</div>
2024-05-17 23:05:46 +03:30
2024-05-28 17:29:20 +03:30
</Content>
</Tab> *@
@* </Tabs> *@
</div>
2024-05-27 18:01:50 +03:30
}
2024-07-01 15:39:40 +03:30
<br />
2024-05-16 23:40:32 +03:30
<hr class="hr" />
2024-05-28 17:29:20 +03:30
<div class="row g-3">
<div class="form-group col-md-4">
<label class="col-sm-6 col-form-label">مجموع تخفیف</label>
<CurrencyInput TValue="decimal?" @bind-Value="invoice.tdis" Locale="fa-Ir" Placeholder="مجموع تخفیف" readonly />
</div>
<div class="form-group col-md-4">
<label class="col-sm-6 col-form-label">مجموع مالیات</label>
<CurrencyInput TValue="decimal?" @bind-Value="invoice.tvam" Locale="fa-Ir" Placeholder="مجموع مالیات" readonly />
2024-10-15 14:19:54 +03:30
</div>
<div class="form-group col-md-4">
2024-05-28 17:29:20 +03:30
<label class="col-sm-6 col-form-label">مجموع صورتحساب</label>
<CurrencyInput TValue="decimal?" @bind-Value="invoice.tbill" Locale="fa-Ir" Placeholder="مجموع صورتحساب" readonly />
</div>
</div>
2024-05-16 23:40:32 +03:30
<br />
2024-05-14 15:57:34 +03:30
<div class="row g-3">
2024-05-31 00:24:45 +03:30
<div class="form-group col-md-4">
2024-05-27 18:01:50 +03:30
<label class="col-form-label" for="inputdes">توضیحات</label>
2024-05-16 23:40:32 +03:30
<InputText @bind-Value="invoice.Des" type="text" class="form-control" id="inputdes" placeholder="توضیحات" />
2024-05-14 15:57:34 +03:30
</div>
2024-05-23 01:16:59 +03:30
<div class="form-group col-md-2">
2024-05-27 18:01:50 +03:30
<label class="col-form-label" for="inputUdate">آخرین ویرایش</label>
2024-05-16 23:40:32 +03:30
<InputText style=" text-align: center;" @bind-Value="invoice.Udate" class="form-control" id="inputUdate" readonly />
2024-05-17 23:05:46 +03:30
2024-05-14 15:57:34 +03:30
</div>
2024-07-01 15:39:40 +03:30
2024-10-16 16:35:38 +03:30
<div class="form-group col-md-5">
2024-05-23 01:16:59 +03:30
<br />
2024-05-30 15:08:36 +03:30
@if (!invoice.IsDeleted)
2024-05-23 01:16:59 +03:30
{
2024-05-30 15:08:36 +03:30
@if (InvoiceID == 0 || InvoiceID == null)
{
2024-09-10 15:04:46 +03:30
<div class="multi-button">
<Tooltip Title="جدید">
2024-10-15 14:19:54 +03:30
<Button Disabled="SpinnerVisible" style="color:white;" @onclick="OnClickAdd">
2024-09-10 15:04:46 +03:30
<img height="30" width="30" src="data:image/png;base64,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
</Button>
</Tooltip>
</div>
2024-05-30 15:08:36 +03:30
}
else
{
2024-09-10 15:04:46 +03:30
<div class="multi-button">
<Tooltip Title="ثبت تغییرات">
2024-10-15 14:19:54 +03:30
<Button Disabled="SpinnerVisible" style="color:white;" @onclick="OnClickUpdate">
2024-09-10 15:04:46 +03:30
<img height="30" width="30" src="data:image/png;base64,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
</Button>
</Tooltip>
<Tooltip Title="حذف">
2024-10-15 14:19:54 +03:30
<Button Disabled="SpinnerVisible" style="color:white;" @onclick="ShowConfirmationDeleteAsync">
2024-09-10 15:04:46 +03:30
<img height="30" width="30" src="data:image/png;base64,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
</Button>
</Tooltip>
<Tooltip Title="اطلاعات تکمیلی">
2024-10-15 14:19:54 +03:30
<Button Disabled="SpinnerVisible" style="color:white;" @onclick="showFullInvoiceItem">
2024-09-10 15:04:46 +03:30
<img height="30" width="30" src="data:image/png;base64,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
</Button>
</Tooltip>
<Tooltip Title="اطلاعات پرداخت">
2024-10-15 14:19:54 +03:30
<Button Disabled="SpinnerVisible" style="color:white;" @onclick="OnClickPayment">
2024-09-10 15:04:46 +03:30
<img height="30" width="30" src="data:image/png;base64,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
</Button>
</Tooltip>
2025-01-09 16:01:37 +03:30
2024-09-10 15:04:46 +03:30
@if (!invoice.IsDeleted && invoice.invoiceType != InvoiceType.Bidding && SendInvoice)
{
<Tooltip Title="ارسال به سامانه مودیان">
2024-10-15 14:19:54 +03:30
<Button Disabled="SpinnerVisible" style="color:white;" @onclick="showTaxPayer">
2024-09-10 15:04:46 +03:30
<img height="30" width="30" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAADsOAAA7DgHMtqGDAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAEi1JREFUeJztnXl8VFWWx3/nVVXIigGCIIpCwtqgiCKKIqkE2QRJBTtNu0AWB3B6Grd2bFFBXLoFEVAUJYFOArRoDy0B1IamgYTg0jMyn0ZHIxGyKKAiIqhkq3r1zvyRlIZAvf29JOR9/8qn3sm991Pnd86799ZdAAcHBwcHBwcHBwcHBwcHBweHDgGZUciojIyoyIbocSwIY5jQnxjdGVwngI+BaB8zdpdsLtxvRl0O5mJIAF5fVjwxHmHCvwHoIm/N+0B4vru79vWNGzcGjdTrYB66BeBNz54C5jUAemj813KAnu7uOf2aI4TWR5cAkn1ZcwlYDsBloG5HCG0AzQLwpmVPB/Frev43DFUEXsSn+uaXlCwUTSrTQSWanDgmfcZggV3/AtDJgrY4GaEV0JTC+wy66i8E9LeoLQkAptVKEdP7DBp+6prL+39SVlbGFtXl0ITqDOCdlnUdJLxvZWNa4LwabEBQbcl8l7INvgZhHhPGM0vTiLiAAb/OtvVlUC7iqz/2+rLvzMjIMNLhdAiD6gyQ7MuqICBRpqhPI0j07iha/03zT8ekZfd2kTRPAt1FQIT+pjp9BCtQJYAJGXd1bQgET8jZMEnX7ylaF/YV4QihbaJKAE29/zKZUo6WFBVeoqosRwhtClV9ABc88o6S8KPaCku3FBwu3rz2N8zUj8CvGOgjDAR4/fFAzCdOH0E/6jJAWnZvgfiL8BYsuoh77ipaJ/uaCFe2kxFaD1VRM/KK/jW1UsS9ACLPbUECM31XXb7/Xa0N+Lx8/w/VBz58+7KBw9cC5CJgGAhureXg53mEGX0HDavr0zP9w+rqEklHOR0KLaOAvxMwPrwFfwtPTN+SjS+fNtIgJyPYi/qJIF9WFoAC+cL498Wb1z6rprzVldwDHLiNQTcA6AWgnkGfErA9PtG17SVfTi8CHiTwbFC4zKMKZ0JJBtUCGJWREdUpEHMYQDcZs+MRtcG+O3asrwlnkLuPPUK8+DgTHkSY3xSYqFJg6WnppOfPrz6V09PJCNahuud8pKxM7DN4mAegVBmzGDFCOPX5gf3vnevhssMcFRkhvs2ETCD8e56ALgClIZrvuHLClCNDRt767Ed7tuY7fQTz0fRroDfjN7EI1FQBlBDeKnxfIK/CvwGg27Q2smVGcF4N5qFp7Fxd9oG/z6CrOgGQyQIUjaB4srr8zCyQVxWYAKbFehrZMiMMHTntuY9KtxYYzAhdALoFkac6dEbQviBEZxbIOxTYDsIEfc1sUbqTEUxD8+yZ6iwg+b+rPvDh+wBQUMWREqRVkHnva8HJCOaha1nXpEl3dK7t5KkioGt4q5+zwOrqhsEcFML/lmAY/hzA8nrJs+qvD+Zc6GQE9ahfD9CMbdte/QHA8/JWlIBAzRwACEpkZPimAroMoOc7uYJlM5bl3nT7/PwHJdAAZloBRr3OQkPrET5L8WXO9noXmpK92hq6F3aqywI4FheMSLx5eW6si8RjeuvSChNVEkt/4JOe9U4fQR5DK3tT0jMXMNMTshUQfldcVLgsryJQDmCAkfq04ghBGUMCuClj9gViwF8F+V1Bx+KCEYlTX1h5HzP+YKQ+vThCCI/htf1eX9bjABbK2TDTA7cvy88niNUA4o3WqR+ns9gSwwJQlQUYX8dJEUlTX1j5MDPmG63TOI4QQpiyu8fry1oI4HEFs/szlxcUBiSxCq2aBZrjCMEUAajNAg0RNYnZizc8AsZjZtRrHh1XCGbt71ObBe7LXF6wtm1lgeZ0PCGYJoCmLFANOcc2ZYGcZzY8yoRHzarbfDqOEEwTAAAkp2U/QcQLZCskvveOFYV/lvxiFYDOZtZvPue/EEwVgKosAHzV4KlJavtZoDnnrxBMFQAApPiynmTID/UYuGfGiwWvSn6xGkCc2W2wjvNPCKYLwOvLigeg1Mn7qsFTk5T1zIbHiPCI2W2wnvNHCKYLAAC8vsynAFIY6tHcXz6T/1pEhFiFdpUFmtP+hWCRANRngexFG+YDmGdFO+yj/QrBEgEAgDct+2kQy3fyiH/7yz8Wvt6+s0Bz2p8QLBPAhIy7utYHglUkP9RrHBEs2rCAgYetaov9tB8hWCYAoKNmgea0fSFYKoCmgyWqIe/YrxCPxNvnr14I4PdWtqf1aLtCsHRPfUXZv+ouG3xlLAE3ypjFUR2+GpgyLc/lkv4d1hxB18pQPEAT3RScccWEW74fMG7aM5/s2JovEEcyaBjp80NoFfP0PgOHH68u3/+Jrpbp+SctjE2f2S3IglJ6PxzVENc//aVlTwJ4yOo2tT5nZgST9j6WCKJ05+631h3V8k+6VgVrYVfRuhMEfknBrHdtp9M5LLqXAOpPG2m/NK5ijhQC5Xcuy52WvqTwfhNOTPFKLmGf15d1paaW6KxME04WUMLUjHBccuGG0jcKD6oxtjwDAI1ZAIyVCma96yJ/zG7KAoYOmWh/nDsj6NzX0J2CeD0jI0OVeGwRAABAilgKsKxjmTFv52O/+oEJr9jVrLbFmUK49bn8hyTQAK2vBgKu+sYf+x8qbe3Dm561CKw01KMZty3O305usQpArC0Na7PofzUw8E10Q9yl27a92CBnZ68AbpmdAFdDFUDhHUtUXFJUkJp3KLAEjaeIhIUlCQff24Njhw4g0FBnenu1EBEVjZ4DhiBx5PUQBLNH12cKQRD4UWbMIoUMToRbi4sKN8namNpOFST7shcTWK6TF4AnuuttT6+MlMsCor8Bu15ZihNfVFnTUJ10TxqAsXc/YIEIgOZC2PTgXTeCpLcgN29CvKakaO0suRLt6wM0IXnwHAC5tORBsHbonIH0LTFywxntf/uNNud8ADhe8RnKdm2zqPSf+wi3L1s1RHC7lsias3C1Uom2C2DvxoLjAN6RsyFGLwCQgu5FCDMiqNz3T/MbZxKVH5zziCQTaRTCxPvm58iaMV+kVJLtAmjilNxDburkzBlI3wLIO+u5JCHYoHfXt/X462ptqSf6ggt6yT1nQrRSGa0hAGJguKyBRCd/+pvczwI44xslQcAFPRTF3Wp06dXblnpOfnlE9jkBJ2UN0AoCSEnLmiR/7wAQlMTPQn/PSqRjwNl9gaHjp1rQOuOQIGDo+CmW18OShI93/k2hLVShVI79nUBS2j3ER0rfXF/d/JOAcHYWuHTY1bhhxixERLedqYLIuM4YPWM2eiQNtLQef20N3n11DY4d/FTWblDyhKvzKvz3rjjIYUcKtg4Dk30zJxEEedkCL5RsLryv5Yd5FYFlAO5v+XlQDODk0cMQG2TnOyzHExWFLhf3tmj414i/rhble3ehvHSnqn7G5P98Ahf07IXmw8d7+tMZX5St594QBNnoZ0Byk/TyuZ4FBPezHkm8G0BU889dbg8SLpN9o7R7/HW1KC/difK9u1R3MHv0G9TkfKBx1IDnI4Xgb1cdCsy9u59ne8jOtgzgTc+aCIb8AJnxesmWwrAnieZWBJYTcFZ2OF/R43gAABHGz304XGAwCA/NTvQ8B9iZASQ8Lic3BiQ36CnZMlzuZxEU56BFFjjfCDn+QOlOBOq1T3H/ImWiXFYkMJasrhCPzkpyv2ZLBlAV/cBfSjYX/lqprLxKcQWY55rUtDZFoKEeB98tQVnxdvhrwx64Lkvvy6/C6JlzQIJ8/54IJyR2J9mTAZgWAOEvAWVAEoIsH/1NEIJrGMJ5JQB/bQ0OlO5C+V59ER+i36gxGJF+m6LzAYAZ3YBAjuUZICUtewITb5ezYdB/7dlcMF1tmXkV4kGA+xlvXetiluNj4rti+NRf4dJhilP/LSm2PAMwSY8p9DXZLQW1HR/HXAFCuxXAT6l+9zZD08aRMXEY5B2PgaNT4YrQtZ70F5YKINWXOV4CjZaz
</Button>
</Tooltip>
2024-07-20 17:34:28 +03:30
2024-09-10 15:04:46 +03:30
}
2024-07-20 17:34:28 +03:30
2024-09-10 15:04:46 +03:30
</div>
2024-05-30 15:08:36 +03:30
}
2024-05-23 01:16:59 +03:30
}
2024-07-01 15:39:40 +03:30
2024-05-30 15:08:36 +03:30
</div>
2024-08-06 17:24:25 +03:30
2024-10-16 16:35:38 +03:30
<div class="col-md-1">
2024-10-15 14:19:54 +03:30
<Spinner Visible="SpinnerVisible" Color="SpinnerColor.Primary" />
</div>
2024-08-06 17:24:25 +03:30
</div>
<br />
2024-09-08 17:23:33 +03:30
<div class="row g-3">
2024-09-10 15:04:46 +03:30
@if (!(!invoice.IsDeleted && invoice.invoiceType != InvoiceType.Bidding && SendInvoice) && !string.IsNullOrEmpty(invoice.inno))
2024-08-06 17:24:25 +03:30
{
<div class="form-group col-md-3">
2024-08-06 22:03:20 +03:30
<label class="col-form-label" for="inputinno">سریال داخلی حافظه مالیاتی</label>
2024-08-06 17:24:25 +03:30
<InputText style=" text-align: center;" @bind-Value="invoice.inno" class="form-control" id="inputinno" readonly />
</div>
}
2024-05-30 15:08:36 +03:30
</div>
<br />
<div class="row g-3">
2024-07-01 15:39:40 +03:30
@if (invoice.BillReference.HasValue)
{
<div class="row g-3">
@{
string Prefence = "InvoiceDetails/" + invoice.BillReference.Value.ToString();
}
<Button Color="ButtonColor.Link"><NavLink href="@Prefence">صورتحساب مرجع</NavLink></Button>
</div>
}
2024-05-14 15:57:34 +03:30
</div>
</form>
2024-05-23 01:16:59 +03:30
2024-05-14 15:57:34 +03:30
@code {
2024-10-15 14:19:54 +03:30
public bool SpinnerVisible { get; set; } = false;
2024-06-12 07:54:43 +03:30
public bool SendInvoice { get; set; } = false;
2024-05-28 17:29:20 +03:30
List<ToastMessage> messages = new List<ToastMessage>();
2024-05-26 18:16:36 +03:30
private ConfirmDialog dialog = default!;
2024-05-23 19:59:19 +03:30
private Modal modal = default!;
2024-05-17 23:05:46 +03:30
[Inject] protected PreloadService PreloadService { get; set; } = default!;
2024-05-14 15:57:34 +03:30
// alert
AlertColor alertColor = AlertColor.Primary;
IconName alertIconName = IconName.CheckCircleFill;
bool Hidealert = true;
string alertMessage = "";
2024-05-17 23:05:46 +03:30
[Parameter] public int? InvoiceID { get; set; }
public List<ForCustomerSearch>? Cus { get; set; }
public List<IdName<int>>? Patterns { get; set; }
public InvoiceDTO? invoice { get; set; }
2024-07-03 16:05:28 +03:30
public string ExUrl { get; set; } = "";
2025-01-24 19:18:17 +03:30
private bool warwhouse = false;
2024-05-17 23:05:46 +03:30
protected override async Task OnInitializedAsync()
{
2024-10-15 14:19:54 +03:30
SpinnerVisible = false;
2024-06-14 22:37:22 +03:30
fv.invoice = null;
2024-05-17 23:05:46 +03:30
invoice = new InvoiceDTO();
await base.OnInitializedAsync();
}
2024-05-26 17:25:34 +03:30
2024-05-17 23:05:46 +03:30
protected override async Task OnParametersSetAsync()
2024-05-14 15:57:34 +03:30
{
2024-10-15 14:19:54 +03:30
SpinnerVisible = true;
2024-05-23 01:16:59 +03:30
Cus = await fv.GetCustomers();
2024-05-17 23:05:46 +03:30
Patterns = await fv.GetPatterns();
if (InvoiceID != null && InvoiceID > 0)
{
2024-05-26 17:25:34 +03:30
2024-05-23 19:59:19 +03:30
await LoadData();
2024-05-17 23:05:46 +03:30
}
else
{
invoice = new InvoiceDTO()
{
2024-05-28 17:29:20 +03:30
invoiceType = InvoiceType.Bidding,
2024-05-17 23:05:46 +03:30
ID = 0,
InvoiceDate = DateTime.Now.ConvertMiladiToShamsiinFront().ShamciToFormatShamciinFront(),
InvoicIssueDate = DateTime.Now.ConvertMiladiToShamsiinFront().ShamciToFormatShamciinFront(),
Udate = DateTime.Now.ConvertMiladiToShamsiinFront().ShamciToFormatShamciinFront()
};
}
2024-05-23 01:16:59 +03:30
2024-05-17 23:05:46 +03:30
2024-05-14 15:57:34 +03:30
Hidealert = true;
alertMessage = "";
2024-10-15 14:19:54 +03:30
SpinnerVisible = false;
2024-05-17 23:05:46 +03:30
await base.OnParametersSetAsync();
2024-05-14 15:57:34 +03:30
}
}
@functions {
2024-07-03 16:05:28 +03:30
2024-08-15 19:15:51 +03:30
2024-05-28 17:29:20 +03:30
private void ShowMessage(ToastType toastType, string msg) => messages.Add(CreateToastMessage(toastType, msg));
private ToastMessage CreateToastMessage(ToastType toastType, string msg)
=> new ToastMessage
{
Type = toastType,
Message = msg,
};
2024-05-23 19:59:19 +03:30
private async Task NewItemClick()
{
2024-05-26 17:25:34 +03:30
if (InvoiceID.HasValue)
{
2024-10-15 14:19:54 +03:30
2024-09-08 17:23:33 +03:30
modal.Size = ModalSize.Large;
2024-05-26 17:25:34 +03:30
var parameters = new Dictionary<string, object>();
2024-05-23 19:59:19 +03:30
2024-05-26 17:25:34 +03:30
parameters.Add("InvoiceID", InvoiceID);
parameters.Add("itemDTO", new InvoiceItemDTO());
parameters.Add("OnMultipleOfThree", EventCallback.Factory.Create<ActionInResultComponent>(this, CallBack));
await modal.ShowAsync<CUSComponent.InvoiceItem>(title: "آیتم جدید", parameters: parameters);
}
2024-05-23 19:59:19 +03:30
2025-01-24 19:18:17 +03:30
}
private async Task OnClickCancelRemittance()
{
if (InvoiceID.HasValue)
{
SpinnerVisible = true;
var confirmation = await dialog.ShowAsync(
title: "عملیات لغو حواله",
message1: $"با انجام این عملیات حواله های این صورتحساب لغو میشوند،صورتحساب از انبار آزاد میشود و موجودی به انبار برمیگردد",
message2: "اطمینان دارید?");
if (!confirmation) return;
var rsp = await hc.Post($"Invoice/FreeRemittance/{InvoiceID}");
if (rsp.IsSuccessStatusCode)
{
invoice.HasaRemittance = false;
ShowSuccessAlert("حواله لغو شد");
}
else
{
try
{
var request = await rsp.Content.ReadFromJsonAsync<List<string>>();
ShowDangerAlert(request[0]);
}
catch (Exception)
{
ShowDangerAlert("خطای سیستمی");
}
}
SpinnerVisible = false;
}
}
private async Task OnClickRemittance()
{
if (InvoiceID.HasValue)
{
SpinnerVisible = true;
var confirmation = await dialog.ShowAsync(
title: "عملیات صدور حواله",
message1: $"با انجام این عملیات حواله ای برای آیتم های صورتحساب صادر میشود و با ویرایش هر آیتم صورتحساب تغییرات روی حواله صادر شده هم تائیر میگذارید",
message2: "اطمینان دارید?");
if (!confirmation) return;
var rsp = await hc.Post($"Invoice/IssuingRemittance/{InvoiceID}");
if (rsp.IsSuccessStatusCode)
{
invoice.HasaRemittance = true;
ShowSuccessAlert("حواله ثبت شد");
}
else
{
try
{
var request = await rsp.Content.ReadFromJsonAsync<List<string>>();
ShowDangerAlert(request[0]);
}
catch (Exception)
{
ShowDangerAlert("خطای سیستمی");
}
}
SpinnerVisible = false;
}
2024-08-15 19:15:51 +03:30
}
private async Task OnClickPayment()
{
2024-09-08 17:23:33 +03:30
if (invoice!=null)
{
modal.Size = ModalSize.ExtraLarge;
var parameters = new Dictionary<string, object>();
parameters.Add("invoice", invoice);
await modal.ShowAsync<CUSComponent.InvoicePays>("پرداختی ها", parameters: parameters);
}
2025-01-09 16:01:37 +03:30
2024-07-23 22:30:52 +03:30
}
private async Task CopyInvoice()
{
2024-10-15 14:19:54 +03:30
SpinnerVisible = true;
2024-07-23 22:30:52 +03:30
var rsp = await hc.Post($"Invoice/CopyInvoice/{InvoiceID}");
if (rsp.IsSuccessStatusCode)
{
var resinvoice = await rsp.Content.ReadFromJsonAsync<InvoiceDTO>();
if (resinvoice != null)
{
invoice = resinvoice;
InvoiceID = resinvoice.ID;
ShowSuccessAlert("صورتحساب جدید با موفقیت ایجاد شد");
}
else ShowDangerAlert("خطایی در اجرای عملیات رخ داده");
}
2024-07-24 22:56:46 +03:30
else if (rsp.StatusCode==System.Net.HttpStatusCode.NotFound)
{
ShowDangerAlert("صورتحساب یافت نشد");
}
2024-07-23 22:30:52 +03:30
else
{
var request = await rsp.Content.ReadFromJsonAsync<List<string>>();
ShowDangerAlert(request[0]);
}
2024-10-15 14:19:54 +03:30
SpinnerVisible = false;
2024-07-23 22:30:52 +03:30
2024-05-23 19:59:19 +03:30
}
2024-05-30 15:08:36 +03:30
private async Task ChangeStatus(int type)
2024-05-29 15:51:06 +03:30
{
2024-10-15 14:19:54 +03:30
SpinnerVisible = true;
2024-05-30 15:08:36 +03:30
var rsp = await hc.Post($"Invoice/ChangeInvoiceType/{InvoiceID}?invoiceType={type}");
2024-05-29 15:51:06 +03:30
if (rsp.IsSuccessStatusCode)
{
var resinvoice = await rsp.Content.ReadFromJsonAsync<InvoiceDTO>();
2024-07-01 15:39:40 +03:30
if (resinvoice != null)
2024-05-29 15:51:06 +03:30
{
invoice = resinvoice;
2024-05-30 15:08:36 +03:30
InvoiceID = resinvoice.ID;
2024-05-29 15:51:06 +03:30
ShowSuccessAlert("تغییر وضعیت با موفقیت انجام شد");
}
else ShowDangerAlert("خطایی در اجرای عملیات رخ داده");
}
2024-07-24 22:56:46 +03:30
else if (rsp.StatusCode == System.Net.HttpStatusCode.NotFound)
{
ShowDangerAlert("صورتحساب یافت نشد");
}
2024-05-29 15:51:06 +03:30
else
{
var request = await rsp.Content.ReadFromJsonAsync<List<string>>();
ShowDangerAlert(request[0]);
}
2024-10-15 14:19:54 +03:30
SpinnerVisible = false;
2024-05-29 15:51:06 +03:30
}
2024-06-01 12:58:04 +03:30
private async Task showTaxPayer()
{
if (InvoiceID.HasValue)
{
hc._nav.NavigateTo($"TaxPayerInvoiceItem/{InvoiceID}");
}
2025-01-09 16:01:37 +03:30
}
private async Task OnClickReport()
{
SpinnerVisible = true;
var rsp = await hc.Get($"Invoice/GetReport/{InvoiceID}");
if (rsp.IsSuccessStatusCode)
{
var imginvoice = await rsp.Content.ReadAsStringAsync();
if (imginvoice != null)
{
await DownloadFileFromStream(imginvoice, $"{invoice.Title}.png");
}
else ShowDangerAlert("خطایی در اجرای عملیات رخ داده");
}
else if (rsp.StatusCode == System.Net.HttpStatusCode.NotFound)
{
ShowDangerAlert("صورتحساب یافت نشد");
}
else
{
var request = await rsp.Content.ReadFromJsonAsync<List<string>>();
ShowDangerAlert(request[0]);
}
SpinnerVisible = false;
}
private Stream GetFileStream(byte[] bytes)
{
SpinnerVisible = true;
var fileStream = new MemoryStream(bytes);
SpinnerVisible = false;
return fileStream;
}
private async Task DownloadFileFromStream(string Base64, string FileName)
{
SpinnerVisible = true;
byte[] bytes = System.Convert.FromBase64String(Base64);
var fileStream = GetFileStream(bytes);
// var fileName = "log.bin";
using var streamRef = new DotNetStreamReference(stream: fileStream);
SpinnerVisible = false;
await JS.InvokeVoidAsync("downloadFileFromStream", FileName, streamRef);
2024-06-01 12:58:04 +03:30
}
2024-07-20 15:52:29 +03:30
private async Task showFullInvoiceItem()
{
if (InvoiceID.HasValue)
{
hc._nav.NavigateTo($"FullInvoiceItem/{InvoiceID}");
}
}
2024-07-03 16:05:28 +03:30
2024-07-21 16:07:53 +03:30
2024-05-23 19:59:19 +03:30
private async Task LoadData()
{
2024-10-15 14:19:54 +03:30
SpinnerVisible = true;
2024-05-28 15:03:08 +03:30
PreloadService.Show(SpinnerColor.Dark);
2024-05-30 15:08:36 +03:30
var rsp = await hc.Get($"Invoice/Get/{InvoiceID}/{true}");
2024-05-23 19:59:19 +03:30
if (rsp.IsSuccessStatusCode)
{
2024-07-01 15:39:40 +03:30
invoice = await rsp.Content.ReadFromJsonAsync<InvoiceDTO>();
2024-08-07 16:31:55 +03:30
if (!Cus.Any(w => w.ID == invoice.CustomerID))
invoice.CustomerID = 0;
2024-05-30 15:08:36 +03:30
}
2024-05-31 00:24:45 +03:30
2024-07-01 15:39:40 +03:30
else if (rsp.StatusCode == System.Net.HttpStatusCode.BadRequest)
2024-05-30 15:08:36 +03:30
{
2024-07-01 15:39:40 +03:30
ShowDangerAlert("صورتحساب مرجع یافت نشد");
2024-05-23 19:59:19 +03:30
}
else
2024-05-30 15:08:36 +03:30
{
ShowDangerAlert("خطایی در بارگذاری");
}
2024-05-28 15:03:08 +03:30
PreloadService.Hide();
2024-10-15 14:19:54 +03:30
SpinnerVisible = false;
2024-05-23 19:59:19 +03:30
}
public async Task CallBack(ActionInResultComponent result)
{
string msg = "";
if (result.Action == ComponentAction.add)
{
if (result.Status == ComponentStatus.success)
msg = "آیتم جدید با موفقیت اضافه شد";
}
2024-05-26 18:16:36 +03:30
else if (result.Action == ComponentAction.update)
{
if (result.Status == ComponentStatus.success)
msg = "اطلاعات آیتم با موفقیت ویرایش شد";
}
else if (result.Action == ComponentAction.delete)
{
if (result.Status == ComponentStatus.success)
msg = "آیتم با موفقیت حذف شد";
}
2024-05-26 17:25:34 +03:30
await CallBack(msg);
2024-05-23 19:59:19 +03:30
// if (result.Status == ComponentStatus.success)
2024-07-21 16:07:53 +03:30
//await LoadData();
2024-05-23 19:59:19 +03:30
await modal.HideAsync();
}
private async Task CallBack(string result)
{
if (!string.IsNullOrEmpty(result))
{
ShowSuccessAlert(result);
2024-05-26 17:25:34 +03:30
await LoadData();
2024-07-21 16:07:53 +03:30
2024-05-23 19:59:19 +03:30
}
}
2024-05-14 15:57:34 +03:30
private void ShowSuccessAlert(string msg)
{
Hidealert = false;
alertColor = AlertColor.Success;
alertIconName = IconName.CheckCircleFill;
alertMessage = msg;
}
private void ShowDangerAlert(string msg)
{
Hidealert = false;
alertColor = AlertColor.Danger;
alertIconName = IconName.ExclamationTriangleFill;
alertMessage = msg;
}
public async Task OnClickDelete()
{
2024-10-15 14:19:54 +03:30
SpinnerVisible = true;
2024-05-26 17:25:34 +03:30
if (InvoiceID.HasValue)
{
var rsp = await hc.Delete($"Invoice/Delete/{InvoiceID.Value}");
if (rsp.IsSuccessStatusCode)
{
var request = await rsp.Content.ReadFromJsonAsync<bool>();
if (request)
{
2024-05-27 22:01:14 +03:30
//ToastService.Notify(new ToastMessage(ToastType.Success, $"عملیات حذف با موفقیت انجام شد"));
2024-05-26 17:25:34 +03:30
hc._nav.NavigateTo("Invoice");
}
else ShowDangerAlert("خطایی در اجرای عملیات رخ داده");
}
2024-05-14 15:57:34 +03:30
2024-05-26 17:25:34 +03:30
else if (rsp.StatusCode == System.Net.HttpStatusCode.NotFound)
{
ShowDangerAlert("صورتحساب با این شناسه یافت نشد");
}
2024-07-25 19:15:05 +03:30
else
{
var request = await rsp.Content.ReadFromJsonAsync<List<string>>();
ShowDangerAlert(request[0]);
}
2024-05-26 17:25:34 +03:30
}
2024-10-15 14:19:54 +03:30
SpinnerVisible = false;
2024-05-26 18:16:36 +03:30
2024-05-14 15:57:34 +03:30
}
public async Task OnClickUpdate()
{
2024-10-15 14:19:54 +03:30
SpinnerVisible = true;
2024-05-26 17:25:34 +03:30
if (InvoiceID.HasValue)
{
if (await Validate())
{
var rsp = await hc.Put<NUInvoiceDTO>("Invoice/Update", new NUInvoiceDTO
{
ID = InvoiceID,
CustomerID = invoice.CustomerID,
Des = invoice.Des,
2024-05-27 22:01:14 +03:30
InvoiceDate = invoice.InvoiceDate.Replace("/", ""),
InvoicIssueDate = invoice.InvoicIssueDate.Replace("/", ""),
2024-05-26 17:25:34 +03:30
PatternID = invoice.PatternID,
Title = invoice.Title
});
if (rsp.IsSuccessStatusCode)
{
2024-05-27 22:01:14 +03:30
var request = await rsp.Content.ReadFromJsonAsync<bool>();
2024-05-26 17:25:34 +03:30
2024-05-27 22:01:14 +03:30
if (request)
2024-05-26 17:25:34 +03:30
{
2024-05-28 17:29:20 +03:30
ShowSuccessAlert("ویرایش با موفقیت انجام شد");
2024-05-27 22:01:14 +03:30
2024-05-26 17:25:34 +03:30
}
else ShowDangerAlert("خطایی در اجرای عملیات رخ داده");
}
else
{
var request = await rsp.Content.ReadFromJsonAsync<List<string>>();
ShowDangerAlert(request[0]);
}
}
}
2024-05-16 23:40:32 +03:30
// if (Cod.UnitID > 0 && Cod.TaxRate > 0 && !string.IsNullOrEmpty(Cod.Title))
// {
// var rsp = await hc.Put<RCOD>("Cod/Update", Cod);
// if (rsp.IsSuccessStatusCode)
// {
// var request = await rsp.Content.ReadFromJsonAsync<bool>();
// if (request)
// {
// result.Status = ComponentStatus.success;
// result.Action = ComponentAction.update;
// await OnMultipleOfThree.InvokeAsync(result);
// }
// else ShowDangerAlert("خطایی در اجرای عملیات رخ داده");
// }
// else
// {
// var request = await rsp.Content.ReadFromJsonAsync<List<string>>();
// ShowDangerAlert(request[0]);
// }
// }
// else ShowDangerAlert("فیلدهای قرمز باید مقدار دهی شوند");
2024-10-15 14:19:54 +03:30
SpinnerVisible = false;
2024-05-14 15:57:34 +03:30
}
public async Task OnClickAdd()
{
2024-10-15 14:19:54 +03:30
SpinnerVisible = true;
2024-05-26 17:25:34 +03:30
if (await Validate())
{
var rsp = await hc.Post<NUInvoiceDTO>("Invoice/Add", new NUInvoiceDTO
{
CustomerID = invoice.CustomerID,
Des = invoice.Des,
2024-05-28 17:29:20 +03:30
InvoiceDate = invoice.InvoiceDate.Replace("/", ""),
2024-05-27 18:01:50 +03:30
InvoicIssueDate = invoice.InvoicIssueDate.Replace("/", ""),
2024-05-26 17:25:34 +03:30
PatternID = invoice.PatternID,
Title = invoice.Title
});
if (rsp.IsSuccessStatusCode)
{
var request = await rsp.Content.ReadFromJsonAsync<int>();
2024-05-14 15:57:34 +03:30
2024-05-26 17:25:34 +03:30
if (request > 0)
{
InvoiceID = request;
2024-07-24 22:56:46 +03:30
ShowSuccessAlert("صورتحساب با موفقیت ایجاد شد");
2024-05-26 17:25:34 +03:30
}
else ShowDangerAlert("خطایی در اجرای عملیات رخ داده");
}
else
{
2024-05-14 15:57:34 +03:30
2024-05-26 17:25:34 +03:30
var request = await rsp.Content.ReadFromJsonAsync<List<string>>();
ShowDangerAlert(request[0]);
}
}
2024-10-15 14:19:54 +03:30
SpinnerVisible = false;
2024-05-16 23:40:32 +03:30
}
public async Task<bool> Validate()
{
2024-05-26 17:25:34 +03:30
if (string.IsNullOrEmpty(invoice.Title))
{
ShowDangerAlert("عنوان نمی تواند خالی باشد");
return false;
}
if (string.IsNullOrEmpty(invoice.InvoiceDate))
{
ShowDangerAlert("تاریخ صورتحساب نمی تواند خالی باشد");
return false;
}
else
{
int InvoiceDate = 0;
if (invoice.InvoiceDate.Replace("/", "").Length != 8 || !int.TryParse(invoice.InvoiceDate.Replace("/", ""), out InvoiceDate))
{
ShowDangerAlert("تاریخ صورتحساب صحیح نمی باشد");
return false;
}
else if (InvoiceDate.ToString().Trim().ToMiladiinFront() > DateTime.Now)
{
ShowDangerAlert("تاریخ صورتحساب نمی تواند از امروز جلوتر باشد");
return false;
}
}
if (string.IsNullOrEmpty(invoice.InvoicIssueDate))
{ ShowDangerAlert("تاریخ صدور نمی تواند خالی باشد"); return false; }
else
{
int InvoicIssueDate = 0;
if (invoice.InvoicIssueDate.Replace("/", "").Length != 8 || !int.TryParse(invoice.InvoicIssueDate.Replace("/", ""), out InvoicIssueDate))
{ ShowDangerAlert("تاریخ صدور صحیح نمی باشد"); return false; }
else if (InvoicIssueDate.ToString().Trim().ToMiladiinFront() > DateTime.Now)
{ ShowDangerAlert("تاریخ صدور نمی تواند از امروز جلوتر باشد"); return false; }
}
2024-05-28 17:29:20 +03:30
if (invoice.PatternID.HasValue && invoice.PatternID > 0)
if (!Patterns.Any(w => w.ID == invoice.PatternID.Value))
2024-05-26 17:25:34 +03:30
{ ShowDangerAlert("شناسه الگو صحیح نمی باشد"); return false; }
if (invoice.CustomerID == null || invoice.CustomerID <= 0 || !Cus.Any(w => w.ID == invoice.CustomerID))
{ ShowDangerAlert("مشتری صحیح نمی باشد"); return false; }
return true;
2024-05-14 15:57:34 +03:30
}
2024-05-26 18:16:36 +03:30
private async Task ShowConfirmationDeleteAsync()
{
if (InvoiceID.HasValue)
{
var confirmation = await dialog.ShowAsync(
title: "عملیات حذف صورتحساب",
message1: $"از حذف صورتحساب {InvoiceID}",
message2: "اطمینان دارید?");
if (confirmation)
{
await OnClickDelete();
}
else
{
2024-05-28 17:29:20 +03:30
ShowMessage(ToastType.Secondary, "عملیات حذف متوقف شد");
2024-05-26 18:16:36 +03:30
}
}
}
2024-07-21 16:07:53 +03:30
2024-07-01 15:39:40 +03:30
}
2025-01-09 16:01:37 +03:30
<script>
window.downloadFileFromStream = async (fileName, contentStreamReference) => {
const arrayBuffer = await contentStreamReference.arrayBuffer();
const blob = new Blob([arrayBuffer]);
const url = URL.createObjectURL(blob);
const anchorElement = document.createElement('a');
anchorElement.href = url;
anchorElement.download = fileName ?? '';
anchorElement.click();
anchorElement.remove();
URL.revokeObjectURL(url);
}
</script>