complete shifting and add version 0.1.0.3
parent
f36d10f8fe
commit
9092109cd2
|
@ -6,8 +6,8 @@
|
|||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||
<DockerComposeProjectPath>..\docker-compose.dcproj</DockerComposeProjectPath>
|
||||
<AssemblyVersion>0.1.0.2</AssemblyVersion>
|
||||
<FileVersion>0.1.0.2</FileVersion>
|
||||
<AssemblyVersion>0.1.0.3</AssemblyVersion>
|
||||
<FileVersion>0.1.0.3</FileVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -59,6 +59,7 @@
|
|||
<Using Include="Brizco.Common.Models.Entity" />
|
||||
<Using Include="Brizco.Common.Models.Exception" />
|
||||
<Using Include="Brizco.Common.Models.Mapper" />
|
||||
<Using Include="Brizco.Core.CoreServices.Abstracts" />
|
||||
<Using Include="Brizco.Core.EntityServices.Abstracts" />
|
||||
<Using Include="Brizco.Domain.CommandQueries.Commands" />
|
||||
<Using Include="Brizco.Domain.CommandQueries.Queries" />
|
||||
|
|
|
@ -1,9 +1,4 @@
|
|||
using Brizco.Common.Models.Api;
|
||||
using Brizco.Core.BaseServices;
|
||||
using Brizco.Core.CoreServices.Abstracts;
|
||||
using Microsoft.AspNetCore.Authorization.Infrastructure;
|
||||
|
||||
namespace Brizco.Api.Controllers;
|
||||
namespace Brizco.Api.Controllers;
|
||||
|
||||
public class AuthController : ICarterModule
|
||||
{
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
using Brizco.Common.Models.Api;
|
||||
using MD.PersianDateTime.Standard;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Brizco.Api.Controllers;
|
||||
|
||||
public class HealthController : ICarterModule
|
||||
{
|
||||
public void AddRoutes(IEndpointRouteBuilder app)
|
||||
{
|
||||
var group = app.NewVersionedApi("Health")
|
||||
.MapGroup($"health");
|
||||
|
||||
group.MapGet("", GetHealth)
|
||||
.WithDisplayName("CheckHealth")
|
||||
.HasApiVersion(1.0);
|
||||
}
|
||||
public IResult GetHealth()
|
||||
{
|
||||
var version = typeof(Program)?.Assembly.GetName()?.Version?.ToString();
|
||||
var check = new HealthCheck
|
||||
{
|
||||
Health = true,
|
||||
Version = version ?? string.Empty,
|
||||
StartAt = System.Diagnostics.Process.GetCurrentProcess().StartTime.ToString("F"),
|
||||
StartAtPersian = new PersianDateTime(System.Diagnostics.Process.GetCurrentProcess().StartTime).ToLongDateTimeString(),
|
||||
MachineName = Environment.MachineName
|
||||
};
|
||||
var process = Process.GetCurrentProcess();
|
||||
check.TotalMemory = process.PrivateMemorySize64.ToString();
|
||||
|
||||
return TypedResults.Ok(check);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
namespace Brizco.Api.Controllers;
|
||||
|
||||
public class ShiftPlanController : ICarterModule
|
||||
{
|
||||
public void AddRoutes(IEndpointRouteBuilder app)
|
||||
{
|
||||
|
||||
var group = app.NewVersionedApi("ShiftPlan")
|
||||
.MapGroup($"api/shift/plan")
|
||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser());
|
||||
|
||||
group.MapGet("", GetAllAsync)
|
||||
.WithDisplayName("GetShiftPlans")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapGet("{id:guid}", GetAsync)
|
||||
.WithDisplayName("GetShiftPlan")
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPost("", Post)
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapPut("", Put)
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
group.MapDelete("{id:guid}", Delete)
|
||||
.HasApiVersion(1.0);
|
||||
|
||||
}
|
||||
|
||||
// GET:Get All Entity
|
||||
public async Task<IResult> GetAllAsync([FromQuery] int page, ISender sender, CancellationToken cancellationToken)
|
||||
=> TypedResults.Ok(await sender.Send(new GetShiftPlansQuery(page), cancellationToken));
|
||||
|
||||
// GET:Get An Entity By Id
|
||||
public async Task<IResult> GetAsync(Guid id, ISender sender, CancellationToken cancellationToken)
|
||||
=> TypedResults.Ok(await sender.Send(new GetShiftPlanQuery(id)));
|
||||
|
||||
// POST:Create Entity
|
||||
public async Task<IResult> Post([FromBody] CreateShiftPlanCommand ent, ISender mediator, CancellationToken cancellationToken)
|
||||
=> TypedResults.Ok(await mediator.Send(ent, cancellationToken));
|
||||
|
||||
// PUT:Update Entity
|
||||
public async Task<IResult> Put([FromBody] UpdateShiftPlanCommand ent, ISender mediator, CancellationToken cancellationToken)
|
||||
=> TypedResults.Ok(await mediator.Send(ent, cancellationToken));
|
||||
|
||||
// DELETE:Delete Entity
|
||||
public async Task<IResult> Delete(Guid id, ISender mediator, CancellationToken cancellationToken)
|
||||
=> TypedResults.Ok(await mediator.Send(new DeleteShiftPlanCommand(id), cancellationToken));
|
||||
}
|
|
@ -3,7 +3,10 @@
|
|||
public class HealthCheck
|
||||
{
|
||||
public bool Health { get; set; }
|
||||
public string Version { get; set; }
|
||||
public string TotalMemory { get; set; }
|
||||
public string Version { get; set; } = string.Empty;
|
||||
public string TotalMemory { get; set; } = string.Empty;
|
||||
public string StartAt { get; set; } = string.Empty;
|
||||
public string StartAtPersian { get; set; } = string.Empty;
|
||||
public string MachineName { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
namespace Brizco.Core.EntityServices.Abstracts;
|
||||
|
||||
public interface IShiftPlanService
|
||||
{
|
||||
Task ChangeShiftPlanTaskStatusAsync(Guid shiftPlanId,bool isChangeToShift , bool isDisable);
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
using Brizco.Domain.CommandQueries.Queries;
|
||||
|
||||
namespace Brizco.Core.EntityServices;
|
||||
|
||||
public class ShiftPlanService : IShiftPlanService
|
||||
{
|
||||
private readonly ISender _sender;
|
||||
|
||||
public ShiftPlanService(ISender sender)
|
||||
{
|
||||
_sender = sender;
|
||||
}
|
||||
public async Task ChangeShiftPlanTaskStatusAsync(Guid shiftPlanId, bool isChangeToShift, bool isDisable)
|
||||
{
|
||||
var shiftPlan = await _sender.Send(new GetShiftPlanQuery(shiftPlanId));
|
||||
|
||||
}
|
||||
}
|
|
@ -7,7 +7,6 @@ public sealed record CreateActivityCommand(
|
|||
TaskType Type,
|
||||
string Title,
|
||||
string Description,
|
||||
bool IsRelatedToShift,
|
||||
bool IsRelatedToRole,
|
||||
bool IsRelatedToPerson,
|
||||
bool IsDisposable,
|
||||
|
@ -26,7 +25,6 @@ public sealed record UpdateActivityCommand(Guid Id,
|
|||
TaskType Type,
|
||||
string Title,
|
||||
string Description,
|
||||
bool IsRelatedToShift,
|
||||
bool IsRelatedToRole,
|
||||
bool IsRelatedToPerson,
|
||||
bool IsDisposable,
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
namespace Brizco.Domain.CommandQueries.Commands;
|
||||
|
||||
public sealed record CreateShiftCommand(string Title, TimeSpan StartAt, TimeSpan EndAt, string Description , List<DayOfWeek> DayOfWeeks)
|
||||
public sealed record CreateShiftCommand(string Title, TimeSpan StartAt, TimeSpan EndAt, string Description )
|
||||
: IRequest<ShiftSDto>;
|
||||
|
||||
public sealed record UpdateShiftCommand(Guid Id,string Title, TimeSpan StartAt, TimeSpan EndAt, string Description, List<DayOfWeek> DayOfWeeks)
|
||||
public sealed record UpdateShiftCommand(Guid Id,string Title, TimeSpan StartAt, TimeSpan EndAt, string Description)
|
||||
: IRequest<bool>;
|
||||
|
||||
public sealed record DeleteShiftCommand(Guid Id)
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
namespace Brizco.Domain.CommandQueries.Commands;
|
||||
|
||||
public record CreateShiftPlanCommand(DateTime StartAt, DateTime EndAt,Guid ShiftId,List<Guid> UserIds)
|
||||
public record CreateShiftPlanCommand(DateTime PlanDate,Guid ShiftId,List<Guid> UserIds)
|
||||
:IRequest<ShiftPlanLDto>;
|
||||
|
||||
public record UpdateShiftPlanCommand(Guid Id,DateTime StartAt, DateTime EndAt, Guid ShiftId, List<Guid> UserIds)
|
||||
public record UpdateShiftPlanCommand(Guid Id,DateTime PlanDate, Guid ShiftId, List<Guid> UserIds)
|
||||
: IRequest<bool>;
|
||||
|
||||
public record DeleteShiftPlanCommand(Guid Id, DateTime StartAt, DateTime EndAt, Guid ShiftId, List<Guid> UserIds)
|
||||
public record DeleteShiftPlanCommand(Guid Id)
|
||||
: IRequest<bool>;
|
|
@ -7,6 +7,5 @@ public class ShiftSDto : BaseDto<ShiftSDto,Shift>
|
|||
public string Description { get; set; } = string.Empty;
|
||||
public TimeSpan StartAt { get; set; }
|
||||
public TimeSpan EndAt { get; set; }
|
||||
public List<DayOfWeek> Days { get; set; } = new();
|
||||
public Guid ComplexId { get; set; }
|
||||
}
|
||||
|
|
|
@ -8,16 +8,9 @@ public partial class Shift
|
|||
return new Shift(title, description, startAt, endAt,complexId);
|
||||
}
|
||||
|
||||
public ShiftDay SetDay(DayOfWeek dayOfWeek)
|
||||
public ShiftPlan AddPlan(DateTime planDate)
|
||||
{
|
||||
var shiftDay = new ShiftDay(dayOfWeek , Id);
|
||||
Days.Add(shiftDay);
|
||||
return shiftDay;
|
||||
}
|
||||
|
||||
public ShiftPlan AddPlan(DateTime startAt, DateTime endAt)
|
||||
{
|
||||
var plan = new ShiftPlan(startAt, endAt , Id);
|
||||
var plan = new ShiftPlan(planDate , Id);
|
||||
Plans.Add(plan);
|
||||
return plan;
|
||||
}
|
||||
|
|
|
@ -23,7 +23,5 @@ public partial class Shift : ApiEntity
|
|||
public Guid ComplexId { get; set; }
|
||||
public Complex.Complex? Complex { get; set; }
|
||||
|
||||
public List<ShiftDay> Days { get; internal set; } = new();
|
||||
|
||||
public List<ShiftPlan> Plans { get; internal set; } = new();
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
namespace Brizco.Domain.Entities.Shift;
|
||||
|
||||
public class ShiftDay : ApiEntity
|
||||
{
|
||||
public ShiftDay()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
internal ShiftDay(DayOfWeek dayOfWeek,Guid shiftId)
|
||||
{
|
||||
DayOfWeek = dayOfWeek;
|
||||
ShiftId = shiftId;
|
||||
}
|
||||
|
||||
public DayOfWeek DayOfWeek { get; internal set; }
|
||||
|
||||
public Guid ShiftId { get; internal set; }
|
||||
public Shift? Shift { get; internal set; }
|
||||
}
|
|
@ -10,13 +10,12 @@ public partial class ShiftPlan : ApiEntity
|
|||
|
||||
}
|
||||
|
||||
internal ShiftPlan(DateTime startAt, DateTime endAt,Guid shiftId)
|
||||
internal ShiftPlan(DateTime planDate,Guid shiftId)
|
||||
{
|
||||
StartAt = startAt;
|
||||
EndAt = endAt;
|
||||
PlanDate = planDate;
|
||||
ShiftId = shiftId;
|
||||
}
|
||||
public DateTime StartAt { get; internal set; }
|
||||
public DateTime EndAt { get; internal set; }
|
||||
public DateTime PlanDate { get; internal set; }
|
||||
|
||||
public Guid ShiftId { get; internal set; }
|
||||
public virtual Shift? Shift { get; internal set; }
|
||||
|
|
|
@ -15,7 +15,6 @@ public partial class Activity : Task
|
|||
DateTime doneAt,
|
||||
string performanceDescription,
|
||||
TaskType type,
|
||||
bool isRelatedToShift,
|
||||
bool isRelatedToRole,
|
||||
bool isRelatedToPerson,
|
||||
bool isDisposable,
|
||||
|
@ -25,18 +24,8 @@ public partial class Activity : Task
|
|||
PurchaseAmountType amountType,
|
||||
string title,
|
||||
string description,
|
||||
Guid complexId) : base(type,
|
||||
isRelatedToShift,
|
||||
isRelatedToRole,
|
||||
isRelatedToPerson,
|
||||
isDisposable,
|
||||
setFor,
|
||||
hasDisposed,
|
||||
amount,
|
||||
amountType,
|
||||
title,
|
||||
description,
|
||||
complexId)
|
||||
Guid complexId) : base(
|
||||
type,isRelatedToRole, isRelatedToPerson, isDisposable, setFor, hasDisposed, amount, amountType, title, description, complexId)
|
||||
{
|
||||
Status = status;
|
||||
DoneAt = doneAt;
|
||||
|
|
|
@ -19,7 +19,6 @@ public partial class Task
|
|||
Guid complexId)
|
||||
{
|
||||
return new Task(type,
|
||||
isRelatedToShift,
|
||||
isRelatedToRole,
|
||||
isRelatedToPerson,
|
||||
isDisposable,
|
||||
|
@ -97,7 +96,6 @@ public partial class Activity
|
|||
string title,
|
||||
string description,
|
||||
TaskType type,
|
||||
bool isRelatedToShift,
|
||||
bool isRelatedToRole,
|
||||
bool isRelatedToPerson,
|
||||
bool isDisposable,
|
||||
|
@ -112,7 +110,6 @@ public partial class Activity
|
|||
doneAt,
|
||||
performanceDescription,
|
||||
type,
|
||||
isRelatedToShift,
|
||||
isRelatedToRole,
|
||||
isRelatedToPerson,
|
||||
isDisposable,
|
||||
|
|
|
@ -12,7 +12,6 @@ public partial class Task : ApiEntity
|
|||
}
|
||||
internal Task(
|
||||
TaskType type,
|
||||
bool isRelatedToShift,
|
||||
bool isRelatedToRole,
|
||||
bool isRelatedToPerson,
|
||||
bool isDisposable,
|
||||
|
@ -25,7 +24,6 @@ public partial class Task : ApiEntity
|
|||
Guid complexId)
|
||||
{
|
||||
Type = type;
|
||||
IsRelatedToShift = isRelatedToShift;
|
||||
IsRelatedToRole = isRelatedToRole;
|
||||
IsRelatedToPerson = isRelatedToPerson;
|
||||
IsDisposable = isDisposable;
|
||||
|
@ -41,7 +39,6 @@ public partial class Task : ApiEntity
|
|||
public TaskType Type { get; internal set; }
|
||||
public string Title { get; internal set; } = string.Empty;
|
||||
public string Description { get; internal set; } = string.Empty;
|
||||
public bool IsRelatedToShift { get; internal set; }
|
||||
public bool IsRelatedToRole { get; internal set; }
|
||||
public bool IsRelatedToPerson { get; internal set; }
|
||||
public bool IsDisposable { get; internal set; }
|
||||
|
@ -60,7 +57,7 @@ public partial class Task : ApiEntity
|
|||
|
||||
public List<TaskShift> Shifts { get; internal set; } = new();
|
||||
|
||||
public List<TaskDay> Days { get; internal set; }
|
||||
public List<TaskDay> Days { get; internal set; } = new();
|
||||
|
||||
public List<TaskRole> Roles { get; internal set; } = new();
|
||||
}
|
||||
|
|
|
@ -19,7 +19,6 @@ namespace Brizco.Domain.Mappers
|
|||
Type = p1.Type,
|
||||
Title = p1.Title,
|
||||
Description = p1.Description,
|
||||
IsRelatedToShift = p1.IsRelatedToShift,
|
||||
IsRelatedToRole = p1.IsRelatedToRole,
|
||||
IsRelatedToPerson = p1.IsRelatedToPerson,
|
||||
IsDisposable = p1.IsDisposable,
|
||||
|
@ -45,7 +44,6 @@ namespace Brizco.Domain.Mappers
|
|||
result.Type = p2.Type;
|
||||
result.Title = p2.Title;
|
||||
result.Description = p2.Description;
|
||||
result.IsRelatedToShift = p2.IsRelatedToShift;
|
||||
result.IsRelatedToRole = p2.IsRelatedToRole;
|
||||
result.IsRelatedToPerson = p2.IsRelatedToPerson;
|
||||
result.IsDisposable = p2.IsDisposable;
|
||||
|
@ -66,7 +64,6 @@ namespace Brizco.Domain.Mappers
|
|||
Type = p4.Type,
|
||||
Title = p4.Title,
|
||||
Description = p4.Description,
|
||||
IsRelatedToShift = p4.IsRelatedToShift,
|
||||
IsRelatedToRole = p4.IsRelatedToRole,
|
||||
IsRelatedToPerson = p4.IsRelatedToPerson,
|
||||
IsDisposable = p4.IsDisposable,
|
||||
|
@ -83,7 +80,6 @@ namespace Brizco.Domain.Mappers
|
|||
Type = p5.Type,
|
||||
Title = p5.Title,
|
||||
Description = p5.Description,
|
||||
IsRelatedToShift = p5.IsRelatedToShift,
|
||||
IsRelatedToRole = p5.IsRelatedToRole,
|
||||
IsRelatedToPerson = p5.IsRelatedToPerson,
|
||||
IsDisposable = p5.IsDisposable,
|
||||
|
@ -109,7 +105,6 @@ namespace Brizco.Domain.Mappers
|
|||
result.Type = p6.Type;
|
||||
result.Title = p6.Title;
|
||||
result.Description = p6.Description;
|
||||
result.IsRelatedToShift = p6.IsRelatedToShift;
|
||||
result.IsRelatedToRole = p6.IsRelatedToRole;
|
||||
result.IsRelatedToPerson = p6.IsRelatedToPerson;
|
||||
result.IsDisposable = p6.IsDisposable;
|
||||
|
@ -130,7 +125,6 @@ namespace Brizco.Domain.Mappers
|
|||
Type = p8.Type,
|
||||
Title = p8.Title,
|
||||
Description = p8.Description,
|
||||
IsRelatedToShift = p8.IsRelatedToShift,
|
||||
IsRelatedToRole = p8.IsRelatedToRole,
|
||||
IsRelatedToPerson = p8.IsRelatedToPerson,
|
||||
IsDisposable = p8.IsDisposable,
|
||||
|
@ -155,7 +149,6 @@ namespace Brizco.Domain.Mappers
|
|||
Type = p9.Type,
|
||||
Title = p9.Title,
|
||||
Description = p9.Description,
|
||||
IsRelatedToShift = p9.IsRelatedToShift,
|
||||
IsRelatedToRole = p9.IsRelatedToRole,
|
||||
IsRelatedToPerson = p9.IsRelatedToPerson,
|
||||
IsDisposable = p9.IsDisposable,
|
||||
|
@ -181,7 +174,6 @@ namespace Brizco.Domain.Mappers
|
|||
result.Type = p10.Type;
|
||||
result.Title = p10.Title;
|
||||
result.Description = p10.Description;
|
||||
result.IsRelatedToShift = p10.IsRelatedToShift;
|
||||
result.IsRelatedToRole = p10.IsRelatedToRole;
|
||||
result.IsRelatedToPerson = p10.IsRelatedToPerson;
|
||||
result.IsDisposable = p10.IsDisposable;
|
||||
|
@ -202,7 +194,6 @@ namespace Brizco.Domain.Mappers
|
|||
Type = p12.Type,
|
||||
Title = p12.Title,
|
||||
Description = p12.Description,
|
||||
IsRelatedToShift = p12.IsRelatedToShift,
|
||||
IsRelatedToRole = p12.IsRelatedToRole,
|
||||
IsRelatedToPerson = p12.IsRelatedToPerson,
|
||||
IsDisposable = p12.IsDisposable,
|
||||
|
@ -219,7 +210,6 @@ namespace Brizco.Domain.Mappers
|
|||
Type = p13.Type,
|
||||
Title = p13.Title,
|
||||
Description = p13.Description,
|
||||
IsRelatedToShift = p13.IsRelatedToShift,
|
||||
IsRelatedToRole = p13.IsRelatedToRole,
|
||||
IsRelatedToPerson = p13.IsRelatedToPerson,
|
||||
IsDisposable = p13.IsDisposable,
|
||||
|
@ -245,7 +235,6 @@ namespace Brizco.Domain.Mappers
|
|||
result.Type = p14.Type;
|
||||
result.Title = p14.Title;
|
||||
result.Description = p14.Description;
|
||||
result.IsRelatedToShift = p14.IsRelatedToShift;
|
||||
result.IsRelatedToRole = p14.IsRelatedToRole;
|
||||
result.IsRelatedToPerson = p14.IsRelatedToPerson;
|
||||
result.IsDisposable = p14.IsDisposable;
|
||||
|
@ -266,7 +255,6 @@ namespace Brizco.Domain.Mappers
|
|||
Type = p16.Type,
|
||||
Title = p16.Title,
|
||||
Description = p16.Description,
|
||||
IsRelatedToShift = p16.IsRelatedToShift,
|
||||
IsRelatedToRole = p16.IsRelatedToRole,
|
||||
IsRelatedToPerson = p16.IsRelatedToPerson,
|
||||
IsDisposable = p16.IsDisposable,
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using Brizco.Domain.Dtos.SmallDtos;
|
||||
using Brizco.Domain.Entities.Complex;
|
||||
|
@ -21,176 +19,81 @@ namespace Brizco.Domain.Mappers
|
|||
Description = p1.Description,
|
||||
ComplexId = p1.ComplexId,
|
||||
Complex = new Complex() {Id = p1.ComplexId},
|
||||
Days = funcMain1(p1.Days),
|
||||
Id = p1.Id
|
||||
};
|
||||
}
|
||||
public static Shift AdaptTo(this ShiftSDto p3, Shift p4)
|
||||
{
|
||||
if (p3 == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
Shift result = p4 ?? new Shift();
|
||||
|
||||
result.Title = p3.Title;
|
||||
result.StartAt = p3.StartAt;
|
||||
result.EndAt = p3.EndAt;
|
||||
result.Description = p3.Description;
|
||||
result.ComplexId = p3.ComplexId;
|
||||
result.Complex = funcMain2(new Never(), result.Complex, p3);
|
||||
result.Days = funcMain3(p3.Days, result.Days);
|
||||
result.Id = p3.Id;
|
||||
return result;
|
||||
|
||||
}
|
||||
public static Expression<Func<ShiftSDto, Shift>> ProjectToShift => p9 => new Shift()
|
||||
{
|
||||
Title = p9.Title,
|
||||
StartAt = p9.StartAt,
|
||||
EndAt = p9.EndAt,
|
||||
Description = p9.Description,
|
||||
ComplexId = p9.ComplexId,
|
||||
Complex = new Complex() {Id = p9.ComplexId},
|
||||
Days = p9.Days.Select<DayOfWeek, ShiftDay>(p10 => new ShiftDay() {}).ToList<ShiftDay>(),
|
||||
Id = p9.Id
|
||||
};
|
||||
public static ShiftSDto AdaptToSDto(this Shift p11)
|
||||
{
|
||||
return p11 == null ? null : new ShiftSDto()
|
||||
{
|
||||
Title = p11.Title,
|
||||
Description = p11.Description,
|
||||
StartAt = p11.StartAt,
|
||||
EndAt = p11.EndAt,
|
||||
Days = funcMain4(p11.Days.Select<ShiftDay, DayOfWeek>(funcMain5).ToList<DayOfWeek>()),
|
||||
ComplexId = p11.ComplexId,
|
||||
Id = p11.Id
|
||||
};
|
||||
}
|
||||
public static ShiftSDto AdaptTo(this Shift p13, ShiftSDto p14)
|
||||
{
|
||||
if (p13 == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
ShiftSDto result = p14 ?? new ShiftSDto();
|
||||
|
||||
result.Title = p13.Title;
|
||||
result.Description = p13.Description;
|
||||
result.StartAt = p13.StartAt;
|
||||
result.EndAt = p13.EndAt;
|
||||
result.Days = funcMain6(p13.Days.Select<ShiftDay, DayOfWeek>(funcMain5).ToList<DayOfWeek>(), result.Days);
|
||||
result.ComplexId = p13.ComplexId;
|
||||
result.Id = p13.Id;
|
||||
return result;
|
||||
|
||||
}
|
||||
public static Expression<Func<Shift, ShiftSDto>> ProjectToSDto => p17 => new ShiftSDto()
|
||||
{
|
||||
Title = p17.Title,
|
||||
Description = p17.Description,
|
||||
StartAt = p17.StartAt,
|
||||
EndAt = p17.EndAt,
|
||||
Days = p17.Days.Select<ShiftDay, DayOfWeek>(d => d.DayOfWeek).ToList<DayOfWeek>(),
|
||||
ComplexId = p17.ComplexId,
|
||||
Id = p17.Id
|
||||
};
|
||||
|
||||
private static List<ShiftDay> funcMain1(List<DayOfWeek> p2)
|
||||
public static Shift AdaptTo(this ShiftSDto p2, Shift p3)
|
||||
{
|
||||
if (p2 == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
List<ShiftDay> result = new List<ShiftDay>(p2.Count);
|
||||
Shift result = p3 ?? new Shift();
|
||||
|
||||
int i = 0;
|
||||
int len = p2.Count;
|
||||
result.Title = p2.Title;
|
||||
result.StartAt = p2.StartAt;
|
||||
result.EndAt = p2.EndAt;
|
||||
result.Description = p2.Description;
|
||||
result.ComplexId = p2.ComplexId;
|
||||
result.Complex = funcMain1(new Never(), result.Complex, p2);
|
||||
result.Id = p2.Id;
|
||||
return result;
|
||||
|
||||
while (i < len)
|
||||
}
|
||||
public static Expression<Func<ShiftSDto, Shift>> ProjectToShift => p6 => new Shift()
|
||||
{
|
||||
Title = p6.Title,
|
||||
StartAt = p6.StartAt,
|
||||
EndAt = p6.EndAt,
|
||||
Description = p6.Description,
|
||||
ComplexId = p6.ComplexId,
|
||||
Complex = new Complex() {Id = p6.ComplexId},
|
||||
Id = p6.Id
|
||||
};
|
||||
public static ShiftSDto AdaptToSDto(this Shift p7)
|
||||
{
|
||||
return p7 == null ? null : new ShiftSDto()
|
||||
{
|
||||
DayOfWeek item = p2[i];
|
||||
result.Add(new ShiftDay() {});
|
||||
i++;
|
||||
}
|
||||
return result;
|
||||
|
||||
Title = p7.Title,
|
||||
Description = p7.Description,
|
||||
StartAt = p7.StartAt,
|
||||
EndAt = p7.EndAt,
|
||||
ComplexId = p7.ComplexId,
|
||||
Id = p7.Id
|
||||
};
|
||||
}
|
||||
|
||||
private static Complex funcMain2(Never p5, Complex p6, ShiftSDto p3)
|
||||
public static ShiftSDto AdaptTo(this Shift p8, ShiftSDto p9)
|
||||
{
|
||||
Complex result = p6 ?? new Complex();
|
||||
|
||||
result.Id = p3.ComplexId;
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
private static List<ShiftDay> funcMain3(List<DayOfWeek> p7, List<ShiftDay> p8)
|
||||
{
|
||||
if (p7 == null)
|
||||
if (p8 == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
List<ShiftDay> result = new List<ShiftDay>(p7.Count);
|
||||
ShiftSDto result = p9 ?? new ShiftSDto();
|
||||
|
||||
int i = 0;
|
||||
int len = p7.Count;
|
||||
|
||||
while (i < len)
|
||||
{
|
||||
DayOfWeek item = p7[i];
|
||||
result.Add(new ShiftDay() {});
|
||||
i++;
|
||||
}
|
||||
result.Title = p8.Title;
|
||||
result.Description = p8.Description;
|
||||
result.StartAt = p8.StartAt;
|
||||
result.EndAt = p8.EndAt;
|
||||
result.ComplexId = p8.ComplexId;
|
||||
result.Id = p8.Id;
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
private static List<DayOfWeek> funcMain4(List<DayOfWeek> p12)
|
||||
public static Expression<Func<Shift, ShiftSDto>> ProjectToSDto => p10 => new ShiftSDto()
|
||||
{
|
||||
if (p12 == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
List<DayOfWeek> result = new List<DayOfWeek>(p12.Count);
|
||||
|
||||
int i = 0;
|
||||
int len = p12.Count;
|
||||
|
||||
while (i < len)
|
||||
{
|
||||
DayOfWeek item = p12[i];
|
||||
result.Add(item);
|
||||
i++;
|
||||
}
|
||||
return result;
|
||||
|
||||
}
|
||||
Title = p10.Title,
|
||||
Description = p10.Description,
|
||||
StartAt = p10.StartAt,
|
||||
EndAt = p10.EndAt,
|
||||
ComplexId = p10.ComplexId,
|
||||
Id = p10.Id
|
||||
};
|
||||
|
||||
private static DayOfWeek funcMain5(ShiftDay d)
|
||||
private static Complex funcMain1(Never p4, Complex p5, ShiftSDto p2)
|
||||
{
|
||||
return d.DayOfWeek;
|
||||
}
|
||||
|
||||
private static List<DayOfWeek> funcMain6(List<DayOfWeek> p15, List<DayOfWeek> p16)
|
||||
{
|
||||
if (p15 == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
List<DayOfWeek> result = new List<DayOfWeek>(p15.Count);
|
||||
Complex result = p5 ?? new Complex();
|
||||
|
||||
int i = 0;
|
||||
int len = p15.Count;
|
||||
|
||||
while (i < len)
|
||||
{
|
||||
DayOfWeek item = p15[i];
|
||||
result.Add(item);
|
||||
i++;
|
||||
}
|
||||
result.Id = p2.ComplexId;
|
||||
return result;
|
||||
|
||||
}
|
||||
|
|
|
@ -14,8 +14,6 @@ namespace Brizco.Domain.Mappers
|
|||
{
|
||||
return p1 == null ? null : new ShiftPlan()
|
||||
{
|
||||
StartAt = p1.StartAt,
|
||||
EndAt = p1.EndAt,
|
||||
ShiftId = p1.ShiftId,
|
||||
Id = p1.Id
|
||||
};
|
||||
|
@ -28,8 +26,6 @@ namespace Brizco.Domain.Mappers
|
|||
}
|
||||
ShiftPlan result = p3 ?? new ShiftPlan();
|
||||
|
||||
result.StartAt = p2.StartAt;
|
||||
result.EndAt = p2.EndAt;
|
||||
result.ShiftId = p2.ShiftId;
|
||||
result.Id = p2.Id;
|
||||
return result;
|
||||
|
@ -37,8 +33,6 @@ namespace Brizco.Domain.Mappers
|
|||
}
|
||||
public static Expression<Func<ShiftPlanSDto, ShiftPlan>> ProjectToShiftPlan => p4 => new ShiftPlan()
|
||||
{
|
||||
StartAt = p4.StartAt,
|
||||
EndAt = p4.EndAt,
|
||||
ShiftId = p4.ShiftId,
|
||||
Id = p4.Id
|
||||
};
|
||||
|
@ -46,8 +40,6 @@ namespace Brizco.Domain.Mappers
|
|||
{
|
||||
return p5 == null ? null : new ShiftPlanSDto()
|
||||
{
|
||||
StartAt = p5.StartAt,
|
||||
EndAt = p5.EndAt,
|
||||
ShiftId = p5.ShiftId,
|
||||
ShiftTitle = p5.Shift == null ? null : p5.Shift.Title,
|
||||
Id = p5.Id
|
||||
|
@ -61,8 +53,6 @@ namespace Brizco.Domain.Mappers
|
|||
}
|
||||
ShiftPlanSDto result = p7 ?? new ShiftPlanSDto();
|
||||
|
||||
result.StartAt = p6.StartAt;
|
||||
result.EndAt = p6.EndAt;
|
||||
result.ShiftId = p6.ShiftId;
|
||||
result.ShiftTitle = p6.Shift == null ? null : p6.Shift.Title;
|
||||
result.Id = p6.Id;
|
||||
|
@ -71,8 +61,6 @@ namespace Brizco.Domain.Mappers
|
|||
}
|
||||
public static Expression<Func<ShiftPlan, ShiftPlanSDto>> ProjectToSDto => p8 => new ShiftPlanSDto()
|
||||
{
|
||||
StartAt = p8.StartAt,
|
||||
EndAt = p8.EndAt,
|
||||
ShiftId = p8.ShiftId,
|
||||
ShiftTitle = p8.Shift.Title,
|
||||
Id = p8.Id
|
||||
|
@ -81,8 +69,6 @@ namespace Brizco.Domain.Mappers
|
|||
{
|
||||
return p9 == null ? null : new ShiftPlan()
|
||||
{
|
||||
StartAt = p9.StartAt,
|
||||
EndAt = p9.EndAt,
|
||||
ShiftId = p9.ShiftId,
|
||||
Users = funcMain1(p9.Users),
|
||||
Id = p9.Id
|
||||
|
@ -96,8 +82,6 @@ namespace Brizco.Domain.Mappers
|
|||
}
|
||||
ShiftPlan result = p12 ?? new ShiftPlan();
|
||||
|
||||
result.StartAt = p11.StartAt;
|
||||
result.EndAt = p11.EndAt;
|
||||
result.ShiftId = p11.ShiftId;
|
||||
result.Users = funcMain2(p11.Users, result.Users);
|
||||
result.Id = p11.Id;
|
||||
|
@ -106,8 +90,6 @@ namespace Brizco.Domain.Mappers
|
|||
}
|
||||
public static Expression<Func<ShiftPlanLDto, ShiftPlan>> ProjectLDtoToShiftPlan => p15 => new ShiftPlan()
|
||||
{
|
||||
StartAt = p15.StartAt,
|
||||
EndAt = p15.EndAt,
|
||||
ShiftId = p15.ShiftId,
|
||||
Users = p15.Users.Select<ShiftPlanUserSDto, ShiftPlanUser>(p16 => new ShiftPlanUser()
|
||||
{
|
||||
|
@ -121,8 +103,6 @@ namespace Brizco.Domain.Mappers
|
|||
{
|
||||
return p17 == null ? null : new ShiftPlanLDto()
|
||||
{
|
||||
StartAt = p17.StartAt,
|
||||
EndAt = p17.EndAt,
|
||||
ShiftId = p17.ShiftId,
|
||||
Users = funcMain3(p17.Users),
|
||||
Id = p17.Id
|
||||
|
@ -136,8 +116,6 @@ namespace Brizco.Domain.Mappers
|
|||
}
|
||||
ShiftPlanLDto result = p20 ?? new ShiftPlanLDto();
|
||||
|
||||
result.StartAt = p19.StartAt;
|
||||
result.EndAt = p19.EndAt;
|
||||
result.ShiftId = p19.ShiftId;
|
||||
result.Users = funcMain4(p19.Users, result.Users);
|
||||
result.Id = p19.Id;
|
||||
|
@ -146,8 +124,6 @@ namespace Brizco.Domain.Mappers
|
|||
}
|
||||
public static Expression<Func<ShiftPlan, ShiftPlanLDto>> ProjectToLDto => p23 => new ShiftPlanLDto()
|
||||
{
|
||||
StartAt = p23.StartAt,
|
||||
EndAt = p23.EndAt,
|
||||
ShiftId = p23.ShiftId,
|
||||
Users = p23.Users.Select<ShiftPlanUser, ShiftPlanUserSDto>(p24 => new ShiftPlanUserSDto()
|
||||
{
|
||||
|
|
|
@ -18,7 +18,6 @@ namespace Brizco.Domain.Mappers
|
|||
Type = p1.Type,
|
||||
Title = p1.Title,
|
||||
Description = p1.Description,
|
||||
IsRelatedToShift = p1.IsRelatedToShift,
|
||||
IsRelatedToRole = p1.IsRelatedToRole,
|
||||
IsRelatedToPerson = p1.IsRelatedToPerson,
|
||||
IsDisposable = p1.IsDisposable,
|
||||
|
@ -41,7 +40,6 @@ namespace Brizco.Domain.Mappers
|
|||
result.Type = p2.Type;
|
||||
result.Title = p2.Title;
|
||||
result.Description = p2.Description;
|
||||
result.IsRelatedToShift = p2.IsRelatedToShift;
|
||||
result.IsRelatedToRole = p2.IsRelatedToRole;
|
||||
result.IsRelatedToPerson = p2.IsRelatedToPerson;
|
||||
result.IsDisposable = p2.IsDisposable;
|
||||
|
@ -59,7 +57,6 @@ namespace Brizco.Domain.Mappers
|
|||
Type = p4.Type,
|
||||
Title = p4.Title,
|
||||
Description = p4.Description,
|
||||
IsRelatedToShift = p4.IsRelatedToShift,
|
||||
IsRelatedToRole = p4.IsRelatedToRole,
|
||||
IsRelatedToPerson = p4.IsRelatedToPerson,
|
||||
IsDisposable = p4.IsDisposable,
|
||||
|
@ -77,7 +74,6 @@ namespace Brizco.Domain.Mappers
|
|||
Type = p5.Type,
|
||||
Title = p5.Title,
|
||||
Description = p5.Description,
|
||||
IsRelatedToShift = p5.IsRelatedToShift,
|
||||
IsRelatedToRole = p5.IsRelatedToRole,
|
||||
IsRelatedToPerson = p5.IsRelatedToPerson,
|
||||
IsDisposable = p5.IsDisposable,
|
||||
|
@ -100,7 +96,6 @@ namespace Brizco.Domain.Mappers
|
|||
result.Type = p6.Type;
|
||||
result.Title = p6.Title;
|
||||
result.Description = p6.Description;
|
||||
result.IsRelatedToShift = p6.IsRelatedToShift;
|
||||
result.IsRelatedToRole = p6.IsRelatedToRole;
|
||||
result.IsRelatedToPerson = p6.IsRelatedToPerson;
|
||||
result.IsDisposable = p6.IsDisposable;
|
||||
|
@ -118,7 +113,6 @@ namespace Brizco.Domain.Mappers
|
|||
Type = p8.Type,
|
||||
Title = p8.Title,
|
||||
Description = p8.Description,
|
||||
IsRelatedToShift = p8.IsRelatedToShift,
|
||||
IsRelatedToRole = p8.IsRelatedToRole,
|
||||
IsRelatedToPerson = p8.IsRelatedToPerson,
|
||||
IsDisposable = p8.IsDisposable,
|
||||
|
@ -136,7 +130,6 @@ namespace Brizco.Domain.Mappers
|
|||
Type = p9.Type,
|
||||
Title = p9.Title,
|
||||
Description = p9.Description,
|
||||
IsRelatedToShift = p9.IsRelatedToShift,
|
||||
IsRelatedToRole = p9.IsRelatedToRole,
|
||||
IsRelatedToPerson = p9.IsRelatedToPerson,
|
||||
IsDisposable = p9.IsDisposable,
|
||||
|
@ -161,7 +154,6 @@ namespace Brizco.Domain.Mappers
|
|||
result.Type = p13.Type;
|
||||
result.Title = p13.Title;
|
||||
result.Description = p13.Description;
|
||||
result.IsRelatedToShift = p13.IsRelatedToShift;
|
||||
result.IsRelatedToRole = p13.IsRelatedToRole;
|
||||
result.IsRelatedToPerson = p13.IsRelatedToPerson;
|
||||
result.IsDisposable = p13.IsDisposable;
|
||||
|
@ -181,7 +173,6 @@ namespace Brizco.Domain.Mappers
|
|||
Type = p21.Type,
|
||||
Title = p21.Title,
|
||||
Description = p21.Description,
|
||||
IsRelatedToShift = p21.IsRelatedToShift,
|
||||
IsRelatedToRole = p21.IsRelatedToRole,
|
||||
IsRelatedToPerson = p21.IsRelatedToPerson,
|
||||
IsDisposable = p21.IsDisposable,
|
||||
|
@ -214,7 +205,6 @@ namespace Brizco.Domain.Mappers
|
|||
Type = p25.Type,
|
||||
Title = p25.Title,
|
||||
Description = p25.Description,
|
||||
IsRelatedToShift = p25.IsRelatedToShift,
|
||||
IsRelatedToRole = p25.IsRelatedToRole,
|
||||
IsRelatedToPerson = p25.IsRelatedToPerson,
|
||||
IsDisposable = p25.IsDisposable,
|
||||
|
@ -239,7 +229,6 @@ namespace Brizco.Domain.Mappers
|
|||
result.Type = p29.Type;
|
||||
result.Title = p29.Title;
|
||||
result.Description = p29.Description;
|
||||
result.IsRelatedToShift = p29.IsRelatedToShift;
|
||||
result.IsRelatedToRole = p29.IsRelatedToRole;
|
||||
result.IsRelatedToPerson = p29.IsRelatedToPerson;
|
||||
result.IsDisposable = p29.IsDisposable;
|
||||
|
@ -259,7 +248,6 @@ namespace Brizco.Domain.Mappers
|
|||
Type = p37.Type,
|
||||
Title = p37.Title,
|
||||
Description = p37.Description,
|
||||
IsRelatedToShift = p37.IsRelatedToShift,
|
||||
IsRelatedToRole = p37.IsRelatedToRole,
|
||||
IsRelatedToPerson = p37.IsRelatedToPerson,
|
||||
IsDisposable = p37.IsDisposable,
|
||||
|
|
|
@ -9,7 +9,6 @@ public class MapsterRegister : IRegister
|
|||
public void Register(TypeAdapterConfig config)
|
||||
{
|
||||
config.NewConfig<Shift, ShiftSDto>()
|
||||
.Map("Days", org => org.Days.Select(d=>d.DayOfWeek).ToList())
|
||||
.TwoWays();
|
||||
|
||||
|
||||
|
|
|
@ -28,7 +28,6 @@ public class CreateActivityCommandHandler : IRequestHandler<CreateActivityComman
|
|||
request.Title,
|
||||
request.Description,
|
||||
request.Type,
|
||||
request.IsRelatedToShift,
|
||||
request.IsRelatedToRole,
|
||||
request.IsRelatedToPerson,
|
||||
request.IsDisposable,
|
||||
|
@ -53,12 +52,6 @@ public class CreateActivityCommandHandler : IRequestHandler<CreateActivityComman
|
|||
task.AddShift(request.Roles.ToArray());
|
||||
}
|
||||
|
||||
if (task.IsRelatedToShift)
|
||||
{
|
||||
if (request.Shifts.Count == 0)
|
||||
throw new AppException("اگر فعالیت برای یک شیفت انتخاب شده باشد باید لیست شیفت ها را ارسال نمایید");
|
||||
task.AddRole(request.Shifts.ToArray());
|
||||
}
|
||||
|
||||
_repositoryWrapper.SetRepository<Domain.Entities.Task.Activity>().Add(task);
|
||||
await _repositoryWrapper.SaveChangesAsync(cancellationToken);
|
||||
|
|
|
@ -32,7 +32,6 @@ public class UpdateActivityCommandHandler : IRequestHandler<UpdateActivityComman
|
|||
request.Title,
|
||||
request.Description,
|
||||
request.Type,
|
||||
request.IsRelatedToShift,
|
||||
request.IsRelatedToRole,
|
||||
request.IsRelatedToPerson,
|
||||
request.IsDisposable,
|
||||
|
|
|
@ -28,8 +28,6 @@ public class CreateShiftCommandHandler : IRequestHandler<CreateShiftCommand, Shi
|
|||
request.EndAt,
|
||||
complexId);
|
||||
|
||||
request.DayOfWeeks.ForEach(d => shift.SetDay(d));
|
||||
|
||||
_repositoryWrapper.SetRepository<Domain.Entities.Shift.Shift>().Add(shift);
|
||||
await _repositoryWrapper.SaveChangesAsync(cancellationToken);
|
||||
await _repositoryWrapper.CommitAsync(cancellationToken);
|
||||
|
|
|
@ -16,10 +16,6 @@ public class GetShiftPlansQueryHandler : IRequestHandler<GetShiftsQuery, List<Sh
|
|||
.Select(ShiftMapper.ProjectToSDto)
|
||||
.ToListAsync(cancellationToken);
|
||||
|
||||
shifts.ForEach(s =>
|
||||
{
|
||||
s.Days = s.Days.OrderBy(d=>d).ToList();
|
||||
});
|
||||
|
||||
return shifts;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
using Brizco.Domain.Entities.Shift;
|
||||
|
||||
namespace Brizco.Repository.Handlers.Shift;
|
||||
namespace Brizco.Repository.Handlers.Shift;
|
||||
|
||||
public class UpdateShiftCommandHandler : IRequestHandler<UpdateShiftCommand, bool>
|
||||
{
|
||||
|
@ -31,25 +29,6 @@ public class UpdateShiftCommandHandler : IRequestHandler<UpdateShiftCommand, boo
|
|||
request.EndAt,
|
||||
complexId);
|
||||
newShift.Id = request.Id;
|
||||
|
||||
var shiftDays = await _repositoryWrapper.SetRepository<ShiftDay>()
|
||||
.TableNoTracking.Where(sd => sd.ShiftId == request.Id)
|
||||
.ToListAsync(cancellationToken);
|
||||
|
||||
foreach (var shiftDay in shiftDays.Where(shiftDay => !request.DayOfWeeks.Contains(shiftDay.DayOfWeek)))
|
||||
{
|
||||
_repositoryWrapper.SetRepository<ShiftDay>()
|
||||
.Delete(shiftDay);
|
||||
await _repositoryWrapper.SaveChangesAsync(cancellationToken);
|
||||
}
|
||||
|
||||
foreach (var dayOfWeek in request.DayOfWeeks)
|
||||
{
|
||||
var findDay = shiftDays.FirstOrDefault(sf => sf.DayOfWeek == dayOfWeek);
|
||||
if (findDay != null)
|
||||
shift.SetDay(dayOfWeek);
|
||||
}
|
||||
|
||||
|
||||
_repositoryWrapper.SetRepository<Domain.Entities.Shift.Shift>()
|
||||
.Update(newShift);
|
||||
|
|
|
@ -19,7 +19,7 @@ public class CreateShiftPlanCommandHandler : IRequestHandler<CreateShiftPlanComm
|
|||
try
|
||||
{
|
||||
await _repositoryWrapper.BeginTransaction(cancellationToken);
|
||||
var shiftPlan = shift.AddPlan(request.StartAt, request.EndAt);
|
||||
var shiftPlan = shift.AddPlan(request.PlanDate);
|
||||
|
||||
if (request.UserIds.Count == 0)
|
||||
throw new AppException("شیفت بندی مورد نظر باید حداقل متشکل از یک فرد باشد",
|
||||
|
|
|
@ -12,7 +12,7 @@ public class DeleteShiftPlanCommandHandler : IRequestHandler<DeleteShiftPlanComm
|
|||
public async Task<bool> Handle(DeleteShiftPlanCommand request, CancellationToken cancellationToken)
|
||||
{
|
||||
var shiftPlan = await _repositoryWrapper.SetRepository<Domain.Entities.Shift.ShiftPlan>()
|
||||
.TableNoTracking.FirstOrDefaultAsync(s => s.Id == request.Id);
|
||||
.TableNoTracking.FirstOrDefaultAsync(s => s.Id == request.Id,cancellationToken);
|
||||
|
||||
if (shiftPlan == null)
|
||||
throw new AppException("ShiftPlan not found", ApiResultStatusCode.NotFound);
|
||||
|
|
|
@ -24,7 +24,7 @@ public class UpdateShiftPlanCommandHandler : IRequestHandler<UpdateShiftPlanComm
|
|||
throw new AppException("Shift not found", ApiResultStatusCode.NotFound);
|
||||
|
||||
|
||||
var newPlan = shift.AddPlan(request.StartAt, request.EndAt);
|
||||
var newPlan = shift.AddPlan(request.PlanDate);
|
||||
newPlan.Id = request.Id;
|
||||
|
||||
|
||||
|
|
|
@ -44,13 +44,6 @@ public class CreateActivityCommandHandler : IRequestHandler<CreateTaskCommand, T
|
|||
task.AddShift(request.Roles.ToArray());
|
||||
}
|
||||
|
||||
if (task.IsRelatedToShift)
|
||||
{
|
||||
if (request.Shifts.Count == 0)
|
||||
throw new AppException("اگر فعالیت برای یک شیفت انتخاب شده باشد باید لیست شیفت ها را ارسال نمایید");
|
||||
task.AddRole(request.Shifts.ToArray());
|
||||
}
|
||||
|
||||
_repositoryWrapper.SetRepository<Domain.Entities.Task.Task>().Add(task);
|
||||
await _repositoryWrapper.SaveChangesAsync(cancellationToken);
|
||||
return task.AdaptToLDto();
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,95 @@
|
|||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Brizco.Repository.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class editShift : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "ShiftDays",
|
||||
schema: "public");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "IsRelatedToShift",
|
||||
schema: "public",
|
||||
table: "Tasks");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EndAt",
|
||||
schema: "public",
|
||||
table: "ShiftPlans");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "StartAt",
|
||||
schema: "public",
|
||||
table: "ShiftPlans",
|
||||
newName: "PlanDate");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "PlanDate",
|
||||
schema: "public",
|
||||
table: "ShiftPlans",
|
||||
newName: "StartAt");
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "IsRelatedToShift",
|
||||
schema: "public",
|
||||
table: "Tasks",
|
||||
type: "boolean",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<DateTime>(
|
||||
name: "EndAt",
|
||||
schema: "public",
|
||||
table: "ShiftPlans",
|
||||
type: "timestamp without time zone",
|
||||
nullable: false,
|
||||
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "ShiftDays",
|
||||
schema: "public",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uuid", nullable: false),
|
||||
ShiftId = table.Column<Guid>(type: "uuid", nullable: false),
|
||||
CreatedAt = table.Column<DateTime>(type: "timestamp without time zone", nullable: false),
|
||||
CreatedBy = table.Column<string>(type: "text", nullable: false),
|
||||
DayOfWeek = table.Column<int>(type: "integer", nullable: false),
|
||||
IsRemoved = table.Column<bool>(type: "boolean", nullable: false),
|
||||
ModifiedAt = table.Column<DateTime>(type: "timestamp without time zone", nullable: false),
|
||||
ModifiedBy = table.Column<string>(type: "text", nullable: false),
|
||||
RemovedAt = table.Column<DateTime>(type: "timestamp without time zone", nullable: false),
|
||||
RemovedBy = table.Column<string>(type: "text", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_ShiftDays", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_ShiftDays_Shifts_ShiftId",
|
||||
column: x => x.ShiftId,
|
||||
principalSchema: "public",
|
||||
principalTable: "Shifts",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ShiftDays_ShiftId",
|
||||
schema: "public",
|
||||
table: "ShiftDays",
|
||||
column: "ShiftId");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -214,49 +214,6 @@ namespace Brizco.Repository.Migrations
|
|||
b.ToTable("Shifts", "public");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Brizco.Domain.Entities.Shift.ShiftDay", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uuid");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("timestamp without time zone");
|
||||
|
||||
b.Property<string>("CreatedBy")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("DayOfWeek")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<bool>("IsRemoved")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<DateTime>("ModifiedAt")
|
||||
.HasColumnType("timestamp without time zone");
|
||||
|
||||
b.Property<string>("ModifiedBy")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<DateTime>("RemovedAt")
|
||||
.HasColumnType("timestamp without time zone");
|
||||
|
||||
b.Property<string>("RemovedBy")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<Guid>("ShiftId")
|
||||
.HasColumnType("uuid");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ShiftId");
|
||||
|
||||
b.ToTable("ShiftDays", "public");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Brizco.Domain.Entities.Shift.ShiftPlan", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
|
@ -270,9 +227,6 @@ namespace Brizco.Repository.Migrations
|
|||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<DateTime>("EndAt")
|
||||
.HasColumnType("timestamp without time zone");
|
||||
|
||||
b.Property<bool>("IsRemoved")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
|
@ -283,6 +237,9 @@ namespace Brizco.Repository.Migrations
|
|||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<DateTime>("PlanDate")
|
||||
.HasColumnType("timestamp without time zone");
|
||||
|
||||
b.Property<DateTime>("RemovedAt")
|
||||
.HasColumnType("timestamp without time zone");
|
||||
|
||||
|
@ -293,9 +250,6 @@ namespace Brizco.Repository.Migrations
|
|||
b.Property<Guid>("ShiftId")
|
||||
.HasColumnType("uuid");
|
||||
|
||||
b.Property<DateTime>("StartAt")
|
||||
.HasColumnType("timestamp without time zone");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ShiftId");
|
||||
|
@ -390,9 +344,6 @@ namespace Brizco.Repository.Migrations
|
|||
b.Property<bool>("IsRelatedToRole")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<bool>("IsRelatedToShift")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<bool>("IsRemoved")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
|
@ -914,17 +865,6 @@ namespace Brizco.Repository.Migrations
|
|||
b.Navigation("Complex");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Brizco.Domain.Entities.Shift.ShiftDay", b =>
|
||||
{
|
||||
b.HasOne("Brizco.Domain.Entities.Shift.Shift", "Shift")
|
||||
.WithMany("Days")
|
||||
.HasForeignKey("ShiftId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Shift");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Brizco.Domain.Entities.Shift.ShiftPlan", b =>
|
||||
{
|
||||
b.HasOne("Brizco.Domain.Entities.Shift.Shift", "Shift")
|
||||
|
@ -1112,8 +1052,6 @@ namespace Brizco.Repository.Migrations
|
|||
|
||||
modelBuilder.Entity("Brizco.Domain.Entities.Shift.Shift", b =>
|
||||
{
|
||||
b.Navigation("Days");
|
||||
|
||||
b.Navigation("Plans");
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in New Issue