public CRMAction Save(CRMAction entity, IList<CRMUser> UserList) { if (this.dataCtx.Connection != null) if(this.dataCtx.Connection.State== ConnectionState.Closed) this.dataCtx.Connection.Open(); DbTransaction tran = this.dataCtx.Connection.BeginTransaction(); dataCtx.Transaction = tran; try { var qry = from t in CRMActions where t.ACTID == entity.ACTID select t; var obj = qry.SingleOrDefault(); if (obj != null) this.CopyEntity(obj, entity); else this.CRMActions.InsertOnSubmit(entity); this.dataCtx.SubmitChanges(); //delete Action relationship with User var qryDel = from t in CRMActionUsers where t.ACTID == entity.ACTID select t; foreach (var item in qryDel.ToList()) { this.CRMActionUsers.DeleteOnSubmit(item); } //add new foreach (var user in UserList) { var p = new CRMActionUser(); p.ACTID = entity.ACTID; p.ACTUser = user.UserID; this.CRMActionUsers.InsertOnSubmit(p); } this.dataCtx.SubmitChanges(); tran.Commit(); return entity; } catch (Exception ex) { tran.Rollback(); throw ex; } finally { dataCtx.Connection.Close(); } }
private CRMAction GetSaveEntity() { var entity = new CRMAction(); if (string.IsNullOrEmpty(txtACTID.Text.Trim()) == false) { entity.ACTID = int.Parse(txtACTID.Text.Trim()); } if (string.IsNullOrEmpty(txtACTSubject.Text.Trim()) == false) { entity.ACTSubject = txtACTSubject.Text.Trim(); } if (string.IsNullOrEmpty(txtACTType.Text.Trim()) == false) { entity.ACTType = int.Parse(txtACTType.Text.Trim()); } if (string.IsNullOrEmpty(txtACTBeginDate.Text.Trim()) == false) { entity.ACTBeginDate = DateTime.Parse(txtACTBeginDate.Text.Trim()); } if (string.IsNullOrEmpty(txtACTEndDate.Text.Trim()) == false) { entity.ACTEndDate = DateTime.Parse(txtACTEndDate.Text.Trim()); } if (string.IsNullOrEmpty(txtACTContent.Text.Trim()) == false) { entity.ACTContent = txtACTContent.Text.Trim(); } if (string.IsNullOrEmpty(txtACTCustID.Text.Trim()) == false) { entity.ACTCustID = int.Parse(txtACTCustID.Text.Trim()); } if (string.IsNullOrEmpty(txtACTCDate.Text.Trim()) == false) { entity.ACTCDate = DateTime.Parse(txtACTCDate.Text.Trim()); } if (string.IsNullOrEmpty(txtACTCUser.Text.Trim()) == false) { entity.ACTCUser = int.Parse(txtACTCUserID.Value.Trim()); } //Modify时用现在时间和现在login的用户 entity.ACTModifyDate = DateTime.Now; entity.ACTModifyUser = base.LoginUserID; entity.IsActive = true; return(entity); }
public CRMAction Save(CRMAction entity, IList <CRMUser> UserList) { if (this.dataCtx.Connection != null) { if (this.dataCtx.Connection.State == ConnectionState.Closed) { this.dataCtx.Connection.Open(); } } DbTransaction tran = this.dataCtx.Connection.BeginTransaction(); dataCtx.Transaction = tran; try { var qry = from t in CRMActions where t.ACTID == entity.ACTID select t; var obj = qry.SingleOrDefault(); if (obj != null) { this.CopyEntity(obj, entity); } else { this.CRMActions.InsertOnSubmit(entity); } this.dataCtx.SubmitChanges(); //delete Action relationship with User var qryDel = from t in CRMActionUsers where t.ACTID == entity.ACTID select t; foreach (var item in qryDel.ToList()) { this.CRMActionUsers.DeleteOnSubmit(item); } //add new foreach (var user in UserList) { var p = new CRMActionUser(); p.ACTID = entity.ACTID; p.ACTUser = user.UserID; this.CRMActionUsers.InsertOnSubmit(p); } this.dataCtx.SubmitChanges(); tran.Commit(); return(entity); } catch (Exception ex) { tran.Rollback(); throw ex; } finally { dataCtx.Connection.Close(); } }
private CRMAction GetSaveEntity() { var entity = new CRMAction(); if (string.IsNullOrEmpty(txtACTID.Text.Trim()) == false) entity.ACTID = int.Parse(txtACTID.Text.Trim()); if (string.IsNullOrEmpty(txtACTSubject.Text.Trim()) == false) entity.ACTSubject = txtACTSubject.Text.Trim(); if (string.IsNullOrEmpty(txtACTType.Text.Trim()) == false) entity.ACTType = int.Parse(txtACTType.Text.Trim()); if (string.IsNullOrEmpty(txtACTBeginDate.Text.Trim()) == false) entity.ACTBeginDate = DateTime.Parse(txtACTBeginDate.Text.Trim()); if (string.IsNullOrEmpty(txtACTEndDate.Text.Trim()) == false) entity.ACTEndDate = DateTime.Parse(txtACTEndDate.Text.Trim()); if (string.IsNullOrEmpty(txtACTContent.Text.Trim()) == false) entity.ACTContent = txtACTContent.Text.Trim(); if (string.IsNullOrEmpty(txtACTCustID.Text.Trim()) == false) entity.ACTCustID = int.Parse(txtACTCustID.Text.Trim()); if (string.IsNullOrEmpty(txtACTCDate.Text.Trim()) == false) entity.ACTCDate = DateTime.Parse(txtACTCDate.Text.Trim()); if (string.IsNullOrEmpty(txtACTCUser.Text.Trim()) == false) entity.ACTCUser = int.Parse(txtACTCUserID.Value.Trim()); //Modify时用现在时间和现在login的用户 entity.ACTModifyDate = DateTime.Now; entity.ACTModifyUser = base.LoginUserID; entity.IsActive = true; return entity; }