kreta/Kreta.BusinessLogic/Helpers/BeszerzesiModulHelper.cs
2024-03-13 00:33:46 +01:00

348 lines
14 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Core.ConnectionType;
using Kreta.DataAccess.Interfaces;
using Kreta.DataAccessManual;
using Kreta.DataAccessManual.Interfaces;
using Kreta.DataAccessManual.Util;
using Kreta.Enums;
using Kreta.Resources;
namespace Kreta.BusinessLogic.Helpers
{
public class BeszerzesiModulHelper : LogicBase
{
public BeszerzesiModulHelper(IConnectionType connectionType) : base(connectionType) { }
public DataSet BeszerzesiIgenyKereses(BeszerzesiIgenySearchCo co)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var dal = h.BeszerzesiModul();
return dal.BeszerzesiIgenyKereses(co.ConvertCoToPco());
});
}
public DataSet BeszerzesiIgenyDokList(int igenylesId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var dal = h.BeszerzesiModul();
return dal.BeszerzesiIgenyDokList(igenylesId, TanevId);
});
}
public DataSet BeszerzesiIgenyMegjegyzesList(int igenylesId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var dal = h.BeszerzesiModul();
return dal.BeszerzesiIgenyMegjegyzesList(igenylesId, TanevId);
});
}
public BeszerzesiIgenyCo BeszerzesiIgenyAdatok(int igenylesId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var grDal = h.BeszerzesiModul();
var dto = grDal.GetBeszerzesiIgeny(igenylesId);
return ConvertDtoToCo(dto);
});
}
public Dictionary<string, string> GetAnyagokTorzs(string filterString)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var result = new Dictionary<string, string>()
{
{string.Empty, CommonResource.KeremValasszon }
};
var grDal = h.BeszerzesiModul();
DataSet ds = grDal.GetAnyagTorzsList(filterString);
if (ds == null)
{
result[string.Empty] = CommonResource.TulSokRekord;
}
else
{
foreach (DataRow row in ds.Tables[0].Rows)
{
result.Add(
row.Field<int>("ID").ToString(),
row.Field<string>("Nev")
);
}
}
return result;
});
}
public BeszerzesiIgenyCo GetAnyagTorzsAdat(int torzsId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var grDal = h.BeszerzesiModul();
return ConvertAnyagTorzsToCo(grDal.GetAnyagtorzsAdat(torzsId));
});
}
public Dictionary<string, string> GetSzallitokTorzs(string filterString)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var result = new Dictionary<string, string>()
{
{string.Empty, CommonResource.KeremValasszon }
};
var grDal = h.BeszerzesiModul();
DataSet ds = grDal.GetSzallitoTorzsList(filterString);
if (ds == null)
{
result[string.Empty] = CommonResource.TulSokRekord;
}
else
{
foreach (DataRow row in ds.Tables[0].Rows)
{
result.Add(
row.Field<int>("ID").ToString(),
row.Field<string>("Nev")
);
}
}
return result;
});
}
public BeszerzesiIgenyCo GetSzallitoTorzsAdat(int torzsId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var grDal = h.BeszerzesiModul();
return ConvertSzallitoTorzsToCo(grDal.GetSzallitoTorzsAdat(torzsId));
});
}
//TODO:
private BeszerzesiIgenyCo ConvertDtoToCo(IBeszerzesiIgeny dto)
{
var anyag = dto.BeszerzesiAnyag.FirstOrDefault();
var szallito = dto.BeszerzesiSzallito.FirstOrDefault();
var megjegyzes = dto.BeszerzesiIgenyMegjegyzes.FirstOrDefault();
var result = new BeszerzesiIgenyCo()
{
BeszerzesiIgenyId = dto.ID,
RogzitoId = dto.RogzitoId,
AnyagId = anyag.ID,
AnyagMegnevezes = anyag.Nev,
AnyagSAPKod = anyag.SAPKod,
//ERAAzonosito = anyag.,
AnyagMennyisegiEgysegId = anyag.MennyisegiEgysegId,
AnyagRovidLeiras = anyag.Leiras,
AnyagTetelMegnevezes = anyag.TetelNev,
//AnyagTetelEgysegar = int.Parse(anyag.Egysegar),
//AnyagTetelMennyiseg = anyag.,
//AnyagTetelMennyisegiEgysegId = anyag,
IsPalyazat = dto.IsPalyazat,
PalyazatAzonosito = dto.PalyazatAzonosito,
IsBVOP = dto.BVOP,
IsKEF = dto.KEF,
//IsNKOH = dto.,
};
if (szallito != null)
{
result.SzallitoId = szallito.ID;
//result.FizetesiMod = szallito.,
result.SzallitoSAPKod = szallito.SAPKod;
result.SzallitoNev = szallito.Nev;
result.Iranyitoszam = szallito.IrSzam;
result.HelysegNev = szallito.HelysegNev;
result.KozteruletNev = szallito.KozteruletNev;
result.KozteruletJellegeId = szallito.KozteruletJellegId;
result.Hazszam = szallito.Hazszam;
result.Emelet = szallito.Emelet;
result.Ajto = szallito.Ajto;
result.Adoszam = szallito.Adoszam;
result.KepviseloNev = szallito.KepviseloNev;
result.EmailCim = szallito.EmailCim;
result.Telefonszam = szallito.Telefonszam;
}
if (megjegyzes != null)
{
result.Megjegyzes = megjegyzes.Megjegyzes;
}
return result;
}
private BeszerzesiIgenyCo ConvertAnyagTorzsToCo(IBeszerzesiAnyagtorzs data)
{
return new BeszerzesiIgenyCo()
{
//TODO:
AnyagId = data.ID,
AnyagMegnevezes = data.Nev,
AnyagSAPKod = data.SAPKod,
//ERAAzonosito = data.ERAAzonosito,
AnyagMennyisegiEgysegId = data.MennyisegiEgysegId,
AnyagRovidLeiras = data.Leiras,
AnyagTetelMegnevezes = data.TetelNev,
//AnyagTetelEgysegar = data.Egysegar,
//AnyagTetelMennyiseg =
//AnyagTetelMennyisegiEgysegId =
};
}
private BeszerzesiIgenyCo ConvertSzallitoTorzsToCo(IBeszerzesiSzallito/*torzs*/ data)
{
return new BeszerzesiIgenyCo()
{
SzallitoId = data.ID,
SzallitoNev = data.Nev,
SzallitoSAPKod = data.SAPKod,
Iranyitoszam = data.IrSzam,
HelysegNev = data.HelysegNev,
KozteruletNev = data.KozteruletNev,
KozteruletJellegeId = data.KozteruletJellegId,
Hazszam = data.Hazszam,
Emelet = data.Emelet,
Ajto = data.Ajto,
Adoszam = data.Adoszam,
KepviseloNev = data.KepviseloNev,
EmailCim = data.EmailCim,
Telefonszam = data.Telefonszam,
FizetesiMod = 1 //TODO
};
}
public bool IsLeader(int alkalmazottId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var leaderTypes = new List<string>() {
((int)VezetoiOraszamokTipusEnum.Intezmenyvezeto).ToString(),
((int)VezetoiOraszamokTipusEnum.IntezmenyvezetoHelyettes).ToString()
};
var dal = h.BeszerzesiModul();
var result = dal.IsLeader(alkalmazottId, TanevId);
return leaderTypes.Any(x => x == result);
});
}
public void SaveBeszerzesiIgeny(BeszerzesiIgenyCo co)
{
Dal.CustomConnection.Run(ConnectionType, h =>
{
var dal = h.BeszerzesiModul();
var beszerzesiIgenyEntity = dal.GetBeszerzesiIgeny(co.BeszerzesiIgenyId);
beszerzesiIgenyEntity.BVOP = co.IsBVOP;
beszerzesiIgenyEntity.IsPalyazat = co.IsPalyazat;
beszerzesiIgenyEntity.KEF = co.IsKEF;
beszerzesiIgenyEntity.PalyazatAzonosito = co.PalyazatAzonosito;
beszerzesiIgenyEntity.StatuszId = IsLeader(FelhasznaloId) ? (int)BeszerzesiIgenySatuszEnum.BeszerzesiIgenyJovahagyva : (int)BeszerzesiIgenySatuszEnum.BeszerzesiIgenyFuggo;
beszerzesiIgenyEntity.RogzitoId = FelhasznaloId;
var igenyId = dal.InsertOrUpdateBeszerzesiIgeny(beszerzesiIgenyEntity);
var beszerzesiAnyagEntity = dal.GetBeszerzesiAnyag(beszerzesiIgenyEntity.BeszerzesiAnyag.FirstOrDefault()?.ID);
//beszerzesiAnyagEntity.Egysegar = co.AnyagTetelEgysegar.ToString(); //!!!
beszerzesiAnyagEntity.Leiras = co.AnyagRovidLeiras;
beszerzesiAnyagEntity.MennyisegiEgysegId = co.AnyagMennyisegiEgysegId;
beszerzesiAnyagEntity.SAPKod = co.AnyagSAPKod;
beszerzesiAnyagEntity.TetelNev = co.AnyagTetelMegnevezes;
beszerzesiAnyagEntity.BeszerzesiIgenyId = igenyId;
var anyagId = dal.InsertOrUpdateBeszerzesiAnyag(beszerzesiAnyagEntity);
var beszerzesiSzallitoEntity = dal.GetBeszerzesiSzallito(beszerzesiIgenyEntity.BeszerzesiSzallito.FirstOrDefault()?.ID);
beszerzesiSzallitoEntity.Adoszam = co.Adoszam;
beszerzesiSzallitoEntity.Ajto = co.Ajto;
beszerzesiSzallitoEntity.Emelet = co.Emelet;
beszerzesiSzallitoEntity.EmailCim = co.EmailCim;
beszerzesiSzallitoEntity.Hazszam = co.Hazszam;
beszerzesiSzallitoEntity.HelysegNev = co.HelysegNev;
beszerzesiSzallitoEntity.IrSzam = co.Iranyitoszam;
beszerzesiSzallitoEntity.KepviseloNev = co.KepviseloNev;
beszerzesiSzallitoEntity.KozteruletJellegId = co.KozteruletJellegeId;
beszerzesiSzallitoEntity.Nev = co.SzallitoNev;
beszerzesiSzallitoEntity.SAPKod = co.SzallitoSAPKod;
beszerzesiSzallitoEntity.Telefonszam = co.Telefonszam;
beszerzesiSzallitoEntity.BeszerzesiIgenyId = igenyId;
var szallitoId = dal.InsertOrUpdateBeszerzesiSzallito(beszerzesiSzallitoEntity);
if (!string.IsNullOrWhiteSpace(co.Megjegyzes))
{
var beszerzesiMegjegyzesEntity = dal.GetBeszerzesiIgenyMegjegyzes();
beszerzesiMegjegyzesEntity.Megjegyzes = co.Megjegyzes;
beszerzesiMegjegyzesEntity.RogzitesDatum = DateTime.Today;
beszerzesiMegjegyzesEntity.RogzitoId = FelhasznaloId;
beszerzesiMegjegyzesEntity.BeszerzesiIgenyId = igenyId;
var megjegyzesId = dal.InsertOrUpdateBeszerzesiIgenyMegjegyzes(beszerzesiMegjegyzesEntity);
}
});
}
private void EmailKuldes(string messege, string subject, string emailCim, Guid? emailGuid, IDalHandler h) => new UzenetekHelper(new DalHandlerConnectionType(ConnectionType, h)).EmailKuldes(messege, subject, emailCim, emailGuid);
public void BeszerzesiIgenyElfogadas(int igenyId)
{
Dal.CustomConnection.Run(ConnectionType, h =>
{
var dal = h.BeszerzesiModul();
var beszerzesiIgenyEntity = dal.GetBeszerzesiIgeny(igenyId);
beszerzesiIgenyEntity.StatuszId = (int)BeszerzesiIgenySatuszEnum.BeszerzesiIgenyJovahagyva;
var save = dal.InsertOrUpdateBeszerzesiIgeny(beszerzesiIgenyEntity);
var messege = string.Empty; //!!!
var subject = string.Empty; //!!!
EmailKuldes(messege, subject, string.Empty, null, h);
});
}
public void BeszerzesiIgenyHianyPotlas(int igenyId)
{
Dal.CustomConnection.Run(ConnectionType, h =>
{
var dal = h.BeszerzesiModul();
var beszerzesiIgenyEntity = dal.GetBeszerzesiIgeny(igenyId);
beszerzesiIgenyEntity.StatuszId = (int)BeszerzesiIgenySatuszEnum.BeszerzesiIgenyVisszaHp;
var save = dal.InsertOrUpdateBeszerzesiIgeny(beszerzesiIgenyEntity);
var messege = string.Empty; //!!!
var subject = string.Empty; //!!!
EmailKuldes(messege, subject, string.Empty, null, h);
});
}
public void BeszerzesiIgenyElutasitas(int igenyId)
{
Dal.CustomConnection.Run(ConnectionType, h =>
{
var dal = h.BeszerzesiModul();
var beszerzesiIgenyEntity = dal.GetBeszerzesiIgeny(igenyId);
beszerzesiIgenyEntity.StatuszId = (int)BeszerzesiIgenySatuszEnum.BeszerzesiIgenyElutasitva;
var save = dal.InsertOrUpdateBeszerzesiIgeny(beszerzesiIgenyEntity);
var messege = string.Empty; //!!!
var subject = string.Empty; //!!!
EmailKuldes(messege, subject, string.Empty, null, h);
});
}
}
}