using System.Collections.Generic; using _0_Framework.Application; using Company.Domain.FineSubjectAgg; using CompanyManagment.App.Contracts.FineSubject; namespace CompanyManagment.Application; public class FineSubjectApplication:IFineSubjectApplication { private readonly IFineSubjectRepository _fineSubjectRepository; public FineSubjectApplication(IFineSubjectRepository fineSubjectRepository) { _fineSubjectRepository= fineSubjectRepository; } public OperationResult Create(CreateFineSubjectViewModel command) { OperationResult op = new OperationResult(); if (string.IsNullOrWhiteSpace(command.Subject)) return op.Failed("نام جریمه نمیتواند خالی باشد"); var entity = new FineSubject(command.Subject, command.Amount, command.WorkshopId); _fineSubjectRepository.Create(entity); _fineSubjectRepository.SaveChanges(); return op.Succcedded(); } public OperationResult Delete(long id) { OperationResult op = new OperationResult(); var entity = _fineSubjectRepository.Get(id); if (entity == null) return op.Failed("این آیتم وجود ندارد"); _fineSubjectRepository.Remove(entity); _fineSubjectRepository.SaveChanges(); return op.Succcedded(); } public OperationResult Edit(EditFineSubjectViewModel command) { OperationResult op = new OperationResult(); var entity = _fineSubjectRepository.Get(command.Id); if (entity == null) return op.Failed("این آیتم وجود ندارد"); entity.Edit(command.Subject,command.Amount); _fineSubjectRepository.SaveChanges(); return op.Succcedded(); } public List GetAll(long workshopId) { return _fineSubjectRepository.GetAll(workshopId); } }