что то еще
This commit is contained in:
parent
3fb1d0a75a
commit
755ce796a0
@ -14,18 +14,15 @@ namespace EnterpriseBusinessLogic.BusinessLogics
|
||||
|
||||
public EmployeeLogic(IEmployeeStorage empStorage)
|
||||
{
|
||||
_empStorage = empStorage ?? throw new ArgumentNullException(nameof(empStorage), "Хранилище сотрудников не инициализировано.");
|
||||
_empStorage = empStorage;
|
||||
}
|
||||
|
||||
public List<EmployeeViewModel> Read(EmployeeBindingModel? model)
|
||||
{
|
||||
if (model == null)
|
||||
{
|
||||
return _empStorage.GetFullList();
|
||||
}
|
||||
|
||||
return model.Id.HasValue
|
||||
? new List<EmployeeViewModel> { _empStorage.GetElement(model) ?? throw new Exception("Сотрудник не найден.") }
|
||||
? new List<EmployeeViewModel> { _empStorage.GetElement(model) }
|
||||
: _empStorage.GetFilteredList(model);
|
||||
}
|
||||
|
||||
@ -43,7 +40,9 @@ namespace EnterpriseBusinessLogic.BusinessLogics
|
||||
|
||||
public void Delete(EmployeeBindingModel model)
|
||||
{
|
||||
_ = _empStorage.GetElement(new EmployeeBindingModel { Id = model.Id }) ?? throw new Exception("Id don't exist");
|
||||
var element = _empStorage.GetElement(new EmployeeBindingModel { Id = model.Id });
|
||||
if (element == null)
|
||||
throw new Exception("Id don't exists");
|
||||
_empStorage.Delete(model);
|
||||
}
|
||||
}
|
||||
|
@ -3,48 +3,47 @@ using EnterpriseContracts.BusinessLogicContracts;
|
||||
using EnterpriseContracts.StorageContracts;
|
||||
using EnterpriseContracts.ViewModels;
|
||||
|
||||
namespace EnterpriseBusinessLogic.BusinessLogics
|
||||
namespace EnterpriseBusinessLogic.BusinessLogics;
|
||||
|
||||
public class SubdivisionLogic : ISubdivisionLogic
|
||||
{
|
||||
public class SubdivisionLogic : ISubdivisionLogic
|
||||
{
|
||||
private readonly ISubdivisionStorage _subdivisionStorage;
|
||||
private readonly ISubdivisionStorage _subdivisionStorage;
|
||||
|
||||
public SubdivisionLogic(ISubdivisionStorage subdivisionStorage)
|
||||
{
|
||||
_subdivisionStorage = subdivisionStorage;
|
||||
}
|
||||
public SubdivisionLogic(ISubdivisionStorage subdivisionStorage)
|
||||
{
|
||||
_subdivisionStorage = subdivisionStorage;
|
||||
}
|
||||
|
||||
public List<SubdivisionViewModel> Read(SubdivisionBindingModel? model)
|
||||
{
|
||||
if (model == null)
|
||||
return _subdivisionStorage.GetFullList();
|
||||
return model.Id != 0 ?
|
||||
new List<SubdivisionViewModel> { _subdivisionStorage.GetElement(model) } :
|
||||
_subdivisionStorage.GetFilteredList(model);
|
||||
}
|
||||
public List<SubdivisionViewModel> Read(SubdivisionBindingModel? model)
|
||||
{
|
||||
if (model == null)
|
||||
return _subdivisionStorage.GetFullList();
|
||||
return model.Id != 0 ?
|
||||
new List<SubdivisionViewModel> { _subdivisionStorage.GetElement(model) } :
|
||||
_subdivisionStorage.GetFilteredList(model);
|
||||
}
|
||||
|
||||
public void CreateOrUpdate(SubdivisionBindingModel model)
|
||||
{
|
||||
var element = _subdivisionStorage.GetElement(new SubdivisionBindingModel
|
||||
{
|
||||
Name = model.Name
|
||||
});
|
||||
public void CreateOrUpdate(SubdivisionBindingModel model)
|
||||
{
|
||||
var element = _subdivisionStorage.GetElement(new SubdivisionBindingModel
|
||||
{
|
||||
Name = model.Name
|
||||
});
|
||||
|
||||
if (element != null && element.Id != model.Id)
|
||||
throw new Exception("This name is exists!");
|
||||
if (model.Id != 0)
|
||||
_subdivisionStorage.Update(model);
|
||||
else
|
||||
_subdivisionStorage.Insert(model);
|
||||
}
|
||||
if (element != null && element.Id != model.Id)
|
||||
throw new Exception("This name is exists!");
|
||||
if (model.Id != 0)
|
||||
_subdivisionStorage.Update(model);
|
||||
else
|
||||
_subdivisionStorage.Insert(model);
|
||||
}
|
||||
|
||||
public bool Delete(SubdivisionBindingModel model)
|
||||
{
|
||||
var element = _subdivisionStorage.GetElement(new SubdivisionBindingModel { Id = model.Id });
|
||||
if (element == null)
|
||||
return false;
|
||||
_subdivisionStorage.Delete(model);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
public bool Delete(SubdivisionBindingModel model)
|
||||
{
|
||||
var element = _subdivisionStorage.GetElement(new SubdivisionBindingModel { Id = model.Id });
|
||||
if (element == null)
|
||||
return false;
|
||||
_subdivisionStorage.Delete(model);
|
||||
return true;
|
||||
}
|
||||
}
|
@ -8,10 +8,10 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace EnterpriseDataBaseImplemen.Migrations
|
||||
namespace EnterpriseDataBaseImplement.Migrations
|
||||
{
|
||||
[DbContext(typeof(EnterpriseDataBase))]
|
||||
[Migration("20241028192747_Initial")]
|
||||
[Migration("20241111144747_Initial")]
|
||||
partial class Initial
|
||||
{
|
||||
/// <inheritdoc />
|
@ -2,7 +2,7 @@
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace EnterpriseDataBaseImplemen.Migrations
|
||||
namespace EnterpriseDataBaseImplement.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Initial : Migration
|
@ -7,7 +7,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace EnterpriseDataBaseImplemen.Migrations
|
||||
namespace EnterpriseDataBaseImplement.Migrations
|
||||
{
|
||||
[DbContext(typeof(EnterpriseDataBase))]
|
||||
partial class EnterpriseDataBaseModelSnapshot : ModelSnapshot
|
||||
|
@ -69,10 +69,7 @@ namespace FormView
|
||||
if (view != null)
|
||||
{
|
||||
textBoxFio.Text = view.Fio;
|
||||
|
||||
// Используем свойство SelectedItem для установки выбранного элемента
|
||||
dropDownList.SelectedItem = view.Subdivision;
|
||||
|
||||
customInputRangeNumber.Value = view.Experience;
|
||||
textBoxPosts.Text = view.Posts;
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ namespace FormView
|
||||
{
|
||||
DropComponents();
|
||||
|
||||
listBoxMany.SetTemplateString("Индификатор: {Id} Имя: {Fio} Опыт: {Experience} Подразделение: {Subdivision}", "{", "}");
|
||||
listBoxMany.SetTemplateString("ID: {Id} ФИО: {Fio} Опыт: {Experience} Подраз-ие: {Subdivision}", "{", "}");
|
||||
|
||||
var list = _LogicE.Read(null) ?? throw new Exception("Error on read");
|
||||
|
||||
@ -89,16 +89,8 @@ namespace FormView
|
||||
|
||||
private void EditEmployerToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var selectedEmployee = listBoxMany.GetObjectFromStr<EmployeeViewModel>();
|
||||
if (selectedEmployee == null)
|
||||
{
|
||||
MessageBox.Show("Please select an employee from the list.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
var form = Program.Container.Resolve<EmployerForm>();
|
||||
form.Id = selectedEmployee.Id;
|
||||
|
||||
form.Id = Convert.ToInt32(listBoxMany.GetObjectFromStr<EmployeeViewModel>().Id);
|
||||
if (form.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
LoadData();
|
||||
@ -107,93 +99,47 @@ namespace FormView
|
||||
|
||||
private void DeleteEmployerToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var selectedEmployee = listBoxMany.GetObjectFromStr<EmployeeViewModel>();
|
||||
if (selectedEmployee == null)
|
||||
{
|
||||
MessageBox.Show("Please select an employee from the list.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
if (MessageBox.Show("Delete record", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
{
|
||||
var ent = listBoxMany.GetObjectFromStr<EmployeeViewModel>();
|
||||
|
||||
try
|
||||
{
|
||||
_LogicE.Delete(new EmployeeBindingModel { Id = selectedEmployee.Id });
|
||||
LoadData();
|
||||
int id = Convert.ToInt32(ent.Id);
|
||||
_LogicE.Delete(new EmployeeBindingModel { Id = id });
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
LoadData();
|
||||
}
|
||||
}
|
||||
|
||||
private void ExcelToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (_LogicE == null)
|
||||
{
|
||||
MessageBox.Show("Logic not initialized.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
if (excelTable == null)
|
||||
{
|
||||
MessageBox.Show("Excel object not initialized.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
string fileName = "";
|
||||
using (var dialog = new SaveFileDialog { Filter = "xlsx|*.xlsx" })
|
||||
{
|
||||
if (dialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
fileName = dialog.FileName;
|
||||
fileName = dialog.FileName.ToString();
|
||||
MessageBox.Show("Success", "Ready", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
}
|
||||
|
||||
var selectedEmployee = listBoxMany.GetObjectFromStr<EmployeeViewModel>();
|
||||
if (selectedEmployee == null)
|
||||
var ent = listBoxMany.GetObjectFromStr<EmployeeViewModel>();
|
||||
var Empl = _LogicE.Read(new EmployeeBindingModel { Id = ent.Id })[0];
|
||||
var Data = new string[1, 5];
|
||||
int i = 0;
|
||||
foreach (var post in Empl.Posts.Split(","))
|
||||
{
|
||||
MessageBox.Show("Select an item from the list.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
Data[0, i++] = post;
|
||||
}
|
||||
|
||||
var emplList = _LogicE.Read(new EmployeeBindingModel { Id = selectedEmployee.Id });
|
||||
if (emplList == null || emplList.Count == 0)
|
||||
{
|
||||
MessageBox.Show("Could not find employee.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
var empl = emplList[0];
|
||||
|
||||
if (string.IsNullOrEmpty(empl.Posts))
|
||||
{
|
||||
MessageBox.Show("No positions for the employee.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
var posts = empl.Posts.Split(",");
|
||||
var data = new string[1, Math.Min(posts.Length, 5)];
|
||||
for (int i = 0; i < data.GetLength(1); i++)
|
||||
{
|
||||
data[0, i] = posts[i];
|
||||
}
|
||||
|
||||
var dataList = new List<string[,]>() { data };
|
||||
|
||||
if (string.IsNullOrEmpty(fileName))
|
||||
{
|
||||
MessageBox.Show("File not selected.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
excelTable.CreateDoc(new WinFormsLibrary1.Models.TableConfig
|
||||
{
|
||||
FilePath = fileName,
|
||||
Header = "Example",
|
||||
Data = dataList
|
||||
Data = new List<string[,]> { Data }
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -20,7 +20,7 @@ namespace FormView
|
||||
Application.SetHighDpiMode(HighDpiMode.SystemAware);
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(Container.Resolve<FormMain1>());
|
||||
Application.Run(Container.Resolve<FormMain>());
|
||||
}
|
||||
|
||||
private static IUnityContainer BuildUnityContainer
|
||||
@ -35,7 +35,7 @@ namespace FormView
|
||||
currentContainer.RegisterType<IEmployeeLogic, EmployeeLogic>(new HierarchicalLifetimeManager());
|
||||
currentContainer.RegisterType<ISubdivisionLogic, SubdivisionLogic>(new HierarchicalLifetimeManager());
|
||||
|
||||
currentContainer.RegisterType<EmployerForm1>();
|
||||
currentContainer.RegisterType<EmployerForm>();
|
||||
currentContainer.RegisterType<Directory>();
|
||||
|
||||
return currentContainer;
|
||||
|
Loading…
Reference in New Issue
Block a user