215 lines
8.7 KiB
C#
215 lines
8.7 KiB
C#
using Model;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Configuration;
|
||
using System.Drawing;
|
||
using System.IO;
|
||
using System.Reflection;
|
||
using System.Runtime.Serialization.Formatters.Binary;
|
||
|
||
namespace BLL
|
||
{
|
||
public static class APIHTGLPersonService
|
||
{
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
/// <param name="PersonjsonData">人员信息(json字符串)</param>
|
||
public static Model.Person SavePerson(Person PersonjsonData)
|
||
{
|
||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||
{
|
||
|
||
Person rb = PersonjsonData;
|
||
Person person = new Person
|
||
{
|
||
data = new List<PersonDataItem>()
|
||
};
|
||
|
||
foreach (PersonDataItem item in rb.data)
|
||
{
|
||
try
|
||
{
|
||
if (CheckDataIsNull(item))
|
||
{
|
||
PersonDataItem personDataItem = new PersonDataItem
|
||
{
|
||
UserCode = item.UserCode,
|
||
UserName = item.UserName,
|
||
IdentityCard = item.IdentityCard,
|
||
Image = item.Image
|
||
};
|
||
person.data.Add(personDataItem);
|
||
person.Message += item.UserCode + "--参数有误存在null值|";
|
||
continue;
|
||
}
|
||
if (item.UserCode == null || item.UserCode == "")
|
||
{
|
||
|
||
PersonDataItem personDataItem = new PersonDataItem
|
||
{
|
||
UserCode = item.UserCode,
|
||
UserName = item.UserName,
|
||
IdentityCard = item.IdentityCard,
|
||
Image = item.Image
|
||
};
|
||
person.data.Add(personDataItem);
|
||
person.Message += item.UserCode + "--工号信息不能为空|";
|
||
continue;
|
||
}
|
||
if (item.IdentityCard == null || item.IdentityCard == "")
|
||
{
|
||
|
||
PersonDataItem personDataItem = new PersonDataItem
|
||
{
|
||
UserCode = item.UserCode,
|
||
UserName = item.UserName,
|
||
IdentityCard = item.IdentityCard,
|
||
Image = item.Image
|
||
};
|
||
person.data.Add(personDataItem);
|
||
person.Message += item.UserCode + "--身份信息不能为空|";
|
||
continue;
|
||
}
|
||
Person_Persons getPerson = new Person_Persons();
|
||
getPerson = Person_PersonsService.GetPerson_PersonsByIdCard(item.IdentityCard);
|
||
if (getPerson==null)
|
||
{
|
||
getPerson = Person_PersonsService.GetPerson_PersonsByJobNum(item.UserCode);
|
||
|
||
}
|
||
if (getPerson != null)
|
||
{
|
||
getPerson.JobNum = item.UserCode;
|
||
getPerson.PersonName = item.UserName;
|
||
getPerson.DataFrom = "API";
|
||
getPerson.IdentityCard = item.IdentityCard;
|
||
if (item.Image != "")
|
||
{
|
||
// Image bb = Image.FromFile("C:\\Users\\1420031550\\Desktop\\签名.jpg");
|
||
|
||
// byte[] aa = GetImageBytes(bb);
|
||
// //string img = System.Text.Encoding.Default.GetString(aa);
|
||
// string img = Convert.ToBase64String(aa);
|
||
// // byte[] imageBytes = Convert.FromBase64String(img);
|
||
|
||
// Image a = ReadImage(Convert.FromBase64String(img));
|
||
string rootUrl = ConfigurationManager.AppSettings["localRoot"];
|
||
string url = @"FileUpload\User\" + string.Format("{0:yyyyMMddHHmmssffff}", DateTime.Now) + "~" + item.UserName + ".jpg";
|
||
string filename = rootUrl + url;
|
||
System.IO.File.WriteAllBytes(filename, Convert.FromBase64String(item.Image));
|
||
getPerson.SignatureUrl = url;
|
||
|
||
}
|
||
// db.SubmitChanges();
|
||
Person_PersonsService.UpdatePerson_Persons(getPerson);
|
||
}
|
||
else
|
||
{
|
||
Person_Persons newPersons = new Person_Persons
|
||
{
|
||
PersonId = SQLHelper.GetNewID(),
|
||
Account = item.UserCode,
|
||
JobNum = item.UserCode,
|
||
PersonName = item.UserName,
|
||
IdentityCard = item.IdentityCard,
|
||
UnitId = Const.UnitId_SEDIN,
|
||
|
||
DataFrom = "API"
|
||
};
|
||
|
||
newPersons.RawPassword = Funs.getInitialPassword(newPersons.UnitId, newPersons.IdentityCard);
|
||
newPersons.Password = Funs.EncryptionPassword(newPersons.RawPassword);
|
||
|
||
if (item.Image != "")
|
||
{
|
||
string rootUrl = ConfigurationManager.AppSettings["localRoot"];
|
||
string url = @"FileUpload\User\" + string.Format("{0:yyyyMMddHHmmssffff}", DateTime.Now) + "~" + item.UserName + ".jpg";
|
||
string filename = rootUrl + url;
|
||
System.IO.File.WriteAllBytes(filename, Convert.FromBase64String(item.Image));
|
||
newPersons.SignatureUrl = url;
|
||
}
|
||
|
||
Person_PersonsService.AddPerson(newPersons);
|
||
}
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
PersonDataItem personDataItem = new PersonDataItem
|
||
{
|
||
UserCode = item.UserCode,
|
||
UserName = item.UserName,
|
||
IdentityCard = item.IdentityCard
|
||
};
|
||
|
||
person.data.Add(personDataItem);
|
||
person.Message += ex.Message;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
return person;
|
||
}
|
||
}
|
||
|
||
private static bool CheckDataIsNull(object t)
|
||
{
|
||
bool Isok = false;
|
||
Type type = t.GetType();
|
||
PropertyInfo[] pArray = type.GetProperties();
|
||
|
||
foreach (PropertyInfo p in pArray)
|
||
{
|
||
if (p.GetValue(t) == null)
|
||
{
|
||
Isok = true;
|
||
|
||
}
|
||
}
|
||
return Isok;
|
||
}
|
||
/// <summary>
|
||
/// 将图片转换为二进制流
|
||
/// </summary>
|
||
/// <param name="image">图片</param>
|
||
/// <returns></returns>
|
||
private static byte[] GetImageBytes(Image image)
|
||
{
|
||
MemoryStream ms = new MemoryStream();
|
||
BinaryFormatter bf = new BinaryFormatter();
|
||
bf.Serialize(ms, (object)image);
|
||
ms.Close();
|
||
return ms.ToArray();
|
||
}
|
||
//将图片转换为二进制流的调用
|
||
// bt1 = GetImageBytes(rootComponent.BackgroundImage);
|
||
|
||
|
||
/// <summary>
|
||
/// 将二进制流转换为图片
|
||
/// </summary>
|
||
/// <param name="bytes"></param>
|
||
/// <returns></returns>
|
||
public static Image ReadImage(byte[] bytes)
|
||
{
|
||
//MemoryStream ms = new MemoryStream(bytes, 0, bytes.Length);
|
||
//BinaryFormatter bf = new BinaryFormatter();
|
||
//object obj = bf.Deserialize(ms);
|
||
//ms.Close();
|
||
//return (Image)obj; //方法一
|
||
using (MemoryStream ms = new MemoryStream(bytes))
|
||
{
|
||
Image outputImg = Image.FromStream(ms);
|
||
ms.Close();
|
||
|
||
return outputImg;
|
||
}
|
||
}
|
||
|
||
//将二进制流转换为图片
|
||
// pb.Image = ReadImage((byte[]) ri.Result.Rows[i]["image"]);
|
||
|
||
}
|
||
} |