ZhiYeJianKang_PeiXun/Song.ServiceImpls/AccessoryCom.cs

177 lines
7.7 KiB
C#
Raw Permalink Normal View History

2025-02-20 15:41:53 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using WeiSha.Common;
using Song.Entities;
using WeiSha.Data;
using Song.ServiceInterfaces;
using System.Data.Common;
namespace Song.ServiceImpls
{
public class AccessoryCom : IAccessory
{
/// <summary>
/// 添加
/// </summary>
/// <param name="entity">业务实体</param>
public void Add(Accessory entity)
{
entity.As_CrtTime = DateTime.Now;
Song.Entities.Organization org = Business.Do<IOrganization>().OrganCurrent();
if (org != null)
{
entity.Org_ID = org.Org_ID;
entity.Org_Name = org.Org_Name;
}
//如果没有填写扩展名,则自动加上
if (string.IsNullOrWhiteSpace(entity.As_Extension))
{
string extension = System.IO.Path.GetExtension(entity.As_FileName);
if (entity.As_FileName.IndexOf(".") > -1) extension = extension.Replace(".", "");
entity.As_Extension = extension;
}
Gateway.Default.Save<Accessory>(entity);
//如果是视频,设置该视频所在的章节是否有视频
Song.Entities.Outline outline = Gateway.Default.From<Outline>().Where(Outline._.Ol_UID == entity.As_Uid).ToFirst<Outline>();
if (outline != null) Business.Do<IOutline>().OutlineSave(outline);
}
/// <summary>
/// 修改
/// </summary>
/// <param name="entity">业务实体</param>
public void Save(Accessory entity)
{
//如果没有填写扩展名,则自动加上
if (string.IsNullOrWhiteSpace(entity.As_Extension))
{
string extension = System.IO.Path.GetExtension(entity.As_FileName);
if (entity.As_FileName.IndexOf(".") > -1) extension = extension.Replace(".", "");
entity.As_Extension = extension;
}
Gateway.Default.Save<Accessory>(entity);
//如果是视频,设置该视频所在的章节是否有视频
Song.Entities.Outline outline = Gateway.Default.From<Outline>().Where(Outline._.Ol_UID == entity.As_Uid).ToFirst<Outline>();
if (outline != null) Business.Do<IOutline>().OutlineSave(outline);
}
/// <summary>
/// 删除按主键ID
/// </summary>
/// <param name="identify">实体的主键</param>
public void Delete(int identify)
{
Accessory ac = this.GetSingle(identify);
if (ac == null) return;
// 防止删除视频时删除文件
//WeiSha.WebControl.FileUpload.Delete(ac.As_Type, ac.As_FileName);
//string ext = ac.As_FileName.IndexOf(".") > -1 ? ac.As_FileName.Substring(ac.As_FileName.LastIndexOf(".")) : "";
//if (ext.ToLower() == ".flv")
//{
// string name = ac.As_FileName.IndexOf(".") > -1 ? ac.As_FileName.Substring(0, ac.As_FileName.LastIndexOf(".")) : ac.As_FileName;
// WeiSha.WebControl.FileUpload.Delete(ac.As_Type, name + ".mp4");
//}
Gateway.Default.Delete<Accessory>(Accessory._.As_Id == identify);
//如果是视频,设置该视频所在的章节是否有视频
Song.Entities.Outline outline = Gateway.Default.From<Outline>().Where(Outline._.Ol_UID == ac.As_Uid).ToFirst<Outline>();
if (outline != null) Business.Do<IOutline>().OutlineSave(outline);
}
/// <summary>
/// 删除按系统唯一id
/// </summary>
/// <param name="uid">系统唯一id</param>
public void Delete(string uid)
{
Delete(uid, true);
}
/// <summary>
/// 删除按系统唯一id
/// </summary>
/// <param name="uid"></param>
/// <param name="isDelfile">是否删除文件</param>
public void Delete(string uid, bool isDelfile)
{
if (isDelfile)
{
List<Accessory> acs = this.GetAll(uid);
foreach (Accessory ac in acs)
{
WeiSha.WebControl.FileUpload.Delete(ac.As_Type, ac.As_FileName);
string ext = ac.As_FileName.IndexOf(".") > -1 ? ac.As_FileName.Substring(ac.As_FileName.LastIndexOf(".")) : "";
if (ext.ToLower() == ".flv")
{
string name = ac.As_FileName.IndexOf(".") > -1 ? ac.As_FileName.Substring(0, ac.As_FileName.LastIndexOf(".")) : ac.As_FileName;
WeiSha.WebControl.FileUpload.Delete(ac.As_Type, name + ".mp4");
}
}
}
Gateway.Default.Delete<Accessory>(Accessory._.As_Uid == uid);
//如果是视频,设置该视频所在的章节是否有视频
Song.Entities.Outline outline = Gateway.Default.From<Outline>().Where(Outline._.Ol_UID == uid).ToFirst<Outline>();
if (outline != null) Business.Do<IOutline>().OutlineSave(outline);
}
public void Delete(string uid, WeiSha.Data.DbTrans tran)
{
List<Accessory> acs = this.GetAll(uid);
if (acs == null) return;
foreach (Accessory ac in acs)
{
try
{
WeiSha.WebControl.FileUpload.Delete(ac.As_Type, ac.As_FileName);
string ext = ac.As_FileName.IndexOf(".") > -1 ? ac.As_FileName.Substring(ac.As_FileName.LastIndexOf(".")) : "";
if (ext.ToLower() == ".flv")
{
string name = ac.As_FileName.IndexOf(".") > -1 ? ac.As_FileName.Substring(0, ac.As_FileName.LastIndexOf(".")) : ac.As_FileName;
WeiSha.WebControl.FileUpload.Delete(ac.As_Type, name + ".mp4");
}
}
catch
{
}
}
tran.Delete<Accessory>(Accessory._.As_Uid == uid);
}
/// <summary>
/// 获取单一实体对象按主键ID
/// </summary>
/// <param name="identify">实体的主键</param>
/// <returns></returns>
public Accessory GetSingle(int identify)
{
return Gateway.Default.From<Accessory>().Where(Accessory._.As_Id == identify).ToFirst<Accessory>();
}
public Accessory GetSingle(string uid)
{
return Gateway.Default.From<Accessory>().Where(Accessory._.As_Uid == uid).ToFirst<Accessory>();
}
/// <summary>
/// 获取某个院系的所有人员;
/// </summary>
/// <param name="isShow">是否显示</param>
/// <returns></returns>
public List<Accessory> GetAll(string uid)
{
if (uid == null || uid == string.Empty) return null;
return Gateway.Default.From<Accessory>().Where(Accessory._.As_Uid == uid).ToList<Accessory>();
}
public List<Accessory> GetAll(string uid, string type)
{
if (uid == null || uid == string.Empty) return null;
return Gateway.Default.From<Accessory>().Where(Accessory._.As_Uid == uid && Accessory._.As_Type == type).ToList<Accessory>();
}
/// <summary>
/// 共计多少个记录
/// </summary>
/// <param name="uid"></param>
/// <param name="type"></param>
/// <returns></returns>
public int OfCount(string uid, string type)
{
WhereClip wc = Accessory._.As_Uid == uid && Accessory._.As_Type == type;
return Gateway.Default.Count<Accessory>(wc);
}
}
}