348 lines
14 KiB
C#
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);
|
|
});
|
|
}
|
|
}
|
|
}
|