public static string GetTransaction(String TransactionTypeName, SqlTransaction tran) { Guid TransactionTypeId = new Guid(); TransactionTypeId = TransactionTypeProvider.GetTransactionTypeId(TransactionTypeName); return(GetTransaction(TransactionTypeId, tran)); }
public Boolean Add(List <SamplingResultBLL> list, Guid SamplingId) { if (list == null) { throw new Exception("No sampling Result to save."); } SamplingBLL objSampling = new SamplingBLL(); objSampling = objSampling.GetSampleDetail(SamplingId); if (objSampling == null) { throw new Exception("Invalid Tracking No.Plase Tray Again."); } if (String.IsNullOrEmpty(objSampling.TrackingNo) == true) { throw new Exception("Invalid Tracking No.Plase Tray Again."); } string OldTrackingNo = String.Empty; int count = 0; count = list.Count; bool isSaved = false; SqlTransaction tran = null; SqlConnection conn = null; List <string> tranlist = new List <string>(); try { conn = Connection.getConnection(); tran = conn.BeginTransaction(); foreach (SamplingResultBLL i in list) { if (count == 1) { i.Id = Guid.NewGuid(); i.TrackingNo = objSampling.TrackingNo; i.ResultReceivedDateTime = this.ResultReceivedDateTime; i.IsPlompOk = this.IsPlompOk; if (this.IsPlompOk == true) { i.Status = SamplingResultStatus.Approved; } else { i.Status = SamplingResultStatus.New; } isSaved = SamplingResultDAL.InsertSamplingResult(i, tran); int at = -1; if (isSaved == true) { AuditTrailBLL objAt = new AuditTrailBLL(); at = objAt.saveAuditTrail(i, WFStepsName.AddSamplingResult.ToString(), UserBLL.GetCurrentUser(), "Add Sampling Result"); if (at == 1) { if (i.Status == SamplingResultStatus.Approved) { WFTransaction.WorkFlowManager(objSampling.TrackingNo); } } else { tran.Rollback(); isSaved = false; } } } else if (count > 1) { //Close previous Tracking No. OldTrackingNo = objSampling.TrackingNo; Guid TransactionTypeId = Guid.Empty; i.ResultReceivedDateTime = this.ResultReceivedDateTime; try { TransactionTypeId = TransactionTypeProvider.GetTransactionTypeId("RegularCoffeeMixed"); } catch (InvalidTransactionType ex) { throw new Exception("Can Not open Mixed Transaction Type please Contact the Administrator.", ex); } string tranNo = WFTransaction.GetTransaction(TransactionTypeId, tran); if (string.IsNullOrEmpty(tranNo) == true) { throw new Exception("Can Not get Transaction Number please Contact the Administrator."); } else { i.Id = Guid.NewGuid(); i.TrackingNo = tranNo; i.IsPlompOk = this.IsPlompOk; i.ResultReceivedDateTime = this.ResultReceivedDateTime; tranlist.Add(tranNo); isSaved = SamplingResultDAL.InsertSamplingResult(i, tran); int at = -1; if (i.IsPlompOk == true) { i.Status = SamplingResultStatus.Approved; } else { i.Status = SamplingResultStatus.New; } if (i.Status == SamplingResultStatus.Approved) { //Move One Step ECXWF.CMessage mess = null; mess = WFTransaction.Request(tranNo); if (mess == null) { throw new Exception("Can Not get Message for the Tracking No."); } else { if (WFStepName.AddSamplingResult.ToString().Trim().ToUpper() == mess.Name.Trim().ToUpper()) { WFTransaction.WorkFlowManager(tranNo, mess); } else { throw new Exception("Can Not get Message for the Tracking No."); } } } AuditTrailBLL objAt = new AuditTrailBLL(); at = objAt.saveAuditTrail(i, WFStepsName.AddSamplingResult.ToString(), UserBLL.GetCurrentUser(), "Add Sampling Result"); if (at == -1) { isSaved = false; break; } if (isSaved == false) { break; } } } } if (string.IsNullOrEmpty(OldTrackingNo) != true) { if ((isSaved == true) && (list.Count > 0)) { WFTransaction.Close(OldTrackingNo); } } if (isSaved == true) { tran.Commit(); return(true); } else { tran.Rollback(); return(false); } } catch (Exception ex) { RemoveTransaction(tranlist); tran.Rollback(); throw ex; } finally { if (tran != null) { tran.Dispose(); } if (conn.State == ConnectionState.Open) { conn.Close(); } } }
public bool Save() { SqlTransaction trans; Guid TransactionTypeId = Guid.Empty; string TransactionNo = ""; SqlConnection conn; conn = Connection.getConnection(); trans = conn.BeginTransaction(); bool isSaved = false;; try { try { TransactionTypeId = TransactionTypeProvider.GetTransactionTypeId("CoffeeResample"); } catch { throw new Exception("Unable to get Transaction Type.Please contact the Administrator"); } try { TransactionNo = WFTransaction.GetTransaction(TransactionTypeId, trans); this.TrackingNo = TransactionNo; } catch { throw new Exception("Unable to get Tracking Nunber.Please contact the Administrator"); } //entered as New. this.Status = ReSamplingStatus.New; this.Id = Guid.NewGuid(); isSaved = ReSamplingDAL.Insert(this, trans); if (isSaved == true) { int at = -1; AuditTrailBLL objAt = new AuditTrailBLL(); at = objAt.saveAuditTrail(this, WFStepsName.AddReSamplingRequest.ToString(), UserBLL.GetCurrentUser(), "Add Re-sampling Request"); if (at == 1) { trans.Commit(); return(true); } else { trans.Rollback(); return(false); } } else { return(false); } } catch (Exception ex) { if (trans != null) { trans.Rollback(); } throw new Exception("An Error Has occured please try Again.If the error persists Contact Administrator", ex); } finally { trans.Dispose(); if (conn != null) { if (conn.State == System.Data.ConnectionState.Open) { conn.Close(); } } } }
public bool Add() { Guid TransactionTypeId = Guid.Empty; try { TransactionTypeId = TransactionTypeProvider.GetTransactionTypeId("RegularCoffeeGradeDisputeId"); } catch { throw new Exception("Missing Configuration Setting"); } if (HasOpenGradingDispute(this.GradingId) == true) { throw new Exception("an open Grading dispute alrady exists."); } SqlConnection conn; SqlTransaction tran; conn = Connection.getConnection(); tran = conn.BeginTransaction(); string TransactionNo; bool isSaved = false; try { TransactionNo = WFTransaction.GetTransaction(TransactionTypeId, tran); this.TrackingNo = TransactionNo; this.CreatedBy = UserBLL.GetCurrentUser(); this.CreatedTimestamp = DateTime.Now; isSaved = GradingDisputeDAL.InsertGradingDisputeBLL(this, tran); int At = -1; AuditTrailBLL objAt = new AuditTrailBLL(); if (isSaved == true) { At = objAt.saveAuditTrail(this, WFStepsName.AddGradingResult.ToString(), UserBLL.GetCurrentUser(), "Add Grade Dispute"); if (At != 1) { isSaved = false; } } if (isSaved == true) { HttpContext.Current.Session["CoffeeRegradeTranNo"] = this.TrackingNo; tran.Commit(); return(true); } else { tran.Rollback(); return(false); } } catch (Exception ex) { tran.Rollback(); throw ex; } finally { tran.Dispose(); conn.Close(); } }