public static List <TrucksForSamplingBLL> GetRandomSample(Guid WarehouseId, int NumberOfTrucks) { List <TrucksForSamplingBLL> list = null; List <TrucksForSamplingBLL> listAll = null; List <TrucksForSamplingBLL> filteredList = new List <TrucksForSamplingBLL>(); list = TrucksForSamplingDAL.GetRandomSamplingIdWithin2Hours(WarehouseId, NumberOfTrucks); if (list == null) { list = new List <TrucksForSamplingBLL>(); } if (list.Count < NumberOfTrucks) { int numberofRandomRequired = 0; numberofRandomRequired = NumberOfTrucks - list.Count; listAll = TrucksForSamplingDAL.GetRandomTrucksForSamplingId(WarehouseId, NumberOfTrucks * 3); if (listAll != null) { if (listAll.Count <= numberofRandomRequired) { foreach (TrucksForSamplingBLL i in listAll) { list.Add(i); } } else { while (list.Count < NumberOfTrucks) { System.Random rnd = new Random(); int myRnd = rnd.Next(0, numberofRandomRequired); list.Add(listAll[myRnd]); } } } } if (list != null) { } else { list = TrucksForSamplingDAL.GetRandomTrucksForSamplingId(WarehouseId, NumberOfTrucks); } bool isSaved = false; SqlTransaction tran; SqlConnection connect = Connection.getConnection(); tran = connect.BeginTransaction(); AuditTrailBLL objAt = new AuditTrailBLL(); if (list == null) { return(null); } try { int i = 0; foreach (TrucksForSamplingBLL obj in list) { if (string.IsNullOrEmpty(obj.TrackingNo) == true) { break; } bool curSaved = false; obj.Id = Guid.NewGuid(); WFTransaction.UnlockTask(obj.TrackingNo); ECXWF.CMessage msg = WFTransaction.Request(obj.TrackingNo); if (msg == null) { // list.RemoveAt(i); } else { if (msg.Name == "GetTrucksReadyForSam") { curSaved = TrucksForSamplingDAL.InsertTruksForSampling(obj, tran); if (curSaved == true) { int at = -1; at = objAt.saveAuditTrail(obj, WFStepsName.GetTrucksReadyForSam.ToString(), UserBLL.GetCurrentUser(), "Add Trucks For sampling"); if (at == 1) { curSaved = true; } else { curSaved = false; } } if (curSaved == true) { // ECXWF.CMessage msg = WFTransaction.Request(obj.TrackingNo); if (msg != null) { if (msg.Name != "GetTrucksReadyForSam") { isSaved = false; throw new Exception("Invalid Task"); } else { HttpContext.Current.Session["msg"] = msg; WFTransaction.WorkFlowManager(obj.TrackingNo); filteredList.Add(obj); } } else { objAt.RoleBack(); //list.RemoveAt(i); } } else { // list.RemoveAt(i); } if (isSaved == false) { if (i == 0) { isSaved = curSaved; } else { isSaved = false; } } else { isSaved = curSaved; } i++; } else { // list.RemoveAt(i); } } } if (isSaved == true) { tran.Commit(); } else { filteredList = null; tran.Rollback(); } } catch (Exception ex) { objAt.RoleBack(); tran.Rollback(); filteredList = null; throw ex; } finally { tran.Dispose(); connect.Close(); } return(filteredList); }
public bool Confirm(List <TrucksForSamplingBLL> list) { SqlTransaction tran; SqlConnection conn; conn = Connection.getConnection(); tran = conn.BeginTransaction(); //List<MesseageTracking> msgList = new List<MesseageTracking>(); //msgList = (List<MesseageTracking>)HttpContext.Current.Session["msgList"]; try { bool isSaved = false; foreach (TrucksForSamplingBLL obj in list) { if (obj.Status == TrucksForSamplingStatus.Confirmed) { ECXWF.CMessage msg = null; try { msg = WFTransaction.Request(obj.TrackingNo.ToString().Trim()); } catch { msg = null; } if (msg != null) { if (msg.Name.Trim().ToUpper() == "ConfirmTrucksForSamp".ToUpper().Trim()) { isSaved = TrucksForSamplingDAL.UpdateConfirmation(obj, tran); if (isSaved == true) { string strNew = "(Id=" + obj.Id.ToString() + "),(Status-" + obj.Status.ToString() + "),(Remark-" + obj.Remark.ToString() + "),(LastModifiedBy-" + UserBLL.GetCurrentUser().ToString() + "),(LastModifiedTimeStamp-" + DateTime.Now.ToString() + ")"; int at = -1; AuditTrailBLL objAt = new AuditTrailBLL(); at = objAt.saveAuditTrailStringFormat("Truck Ready For Sampling Confirmed", strNew, WFStepsName.ConfirmTrucksForsamp.ToString(), UserBLL.GetCurrentUser(), "Confirm Trucks for sampling"); if (at == 1) { #region depricatedcode //var xmsg = (from c in msgList // where c.trackingNo == obj.TrackingNo // select c.message).Single(); //ECXWF.CMessage msg = (ECXWF.CMessage)xmsg; //foreach (MesseageTracking i in msgList) //{ // if (i.trackingNo.Trim().ToUpper() == obj.TrackingNo.Trim().ToUpper()) // { // msg = i.message; // } //} //if (msg == null) //{ // throw new Exception("Invalid Message Exception"); //} #endregion WFTransaction.WorkFlowManager(obj.TrackingNo.Trim(), msg); } else { isSaved = false; } } else { isSaved = false; } } else { WFTransaction.UnlockTask(obj.TrackingNo.Trim()); } } } else { TrucksMissingOnSamplingBLL objTM = new TrucksMissingOnSamplingBLL(); objTM.Id = Guid.NewGuid(); objTM.TrucksForSamplingId = obj.Id; objTM.DateTimeReported = DateTime.Now; objTM.Remark = obj.Remark; objTM.Status = TrucksMissingOnSamplingStatus.New; objTM.CreatedBy = UserBLL.GetCurrentUser(); objTM.CreatedTimestamp = DateTime.Now; objTM.WarehouseId = UserBLL.GetCurrentWarehouse(); objTM.TrackingNo = obj.TrackingNo; isSaved = objTM.Save(tran); } if (isSaved == false) { tran.Rollback(); return(false); } } tran.Commit(); } catch (Exception ex) { tran.Rollback(); throw ex; } finally { tran.Dispose(); conn.Close(); } return(true); }
//oct-18-2011 //update empty voucher entry error public bool Save(Guid DepositRequestId, string VoucherNo, Guid CoffeeTypeId, string SpecificArea, int NumberofBags, int NumberOfPlomps, int NumberOfPlompsTrailer, string CertificateNo, Guid CreatedBy, int Status, string TrackingNo) { SqlTransaction tran; bool isSaved = false; //get Tracking No. CommodityDepositeRequestBLL oC = new CommodityDepositeRequestBLL(); oC = oC.GetCommodityDepositeDetailById(DepositRequestId); TrackingNo = oC.TrackingNo; VoucherInformationBLL obj = new VoucherInformationBLL(); obj.DepositRequestId = DepositRequestId; obj.VoucherNo = VoucherNo; obj.CoffeeTypeId = CoffeeTypeId; obj.SpecificArea = SpecificArea; obj.NumberofBags = NumberofBags; obj.NumberOfPlomps = NumberOfPlomps; obj.NumberOfPlompsTrailer = NumberOfPlompsTrailer; obj.CertificateNo = CertificateNo; obj.CreatedBy = CreatedBy; obj.Status = Status; Voucher objSave = new Voucher(); SqlConnection conn = Connection.getConnection(); tran = conn.BeginTransaction(); AuditTrailBLL objAt = new AuditTrailBLL(); int AtSaved = -1; try { Guid VoucherId = Guid.Empty; VoucherId = objSave.InsertVoucherInformation(obj, tran); if (VoucherId == Guid.Empty) { isSaved = false; } else { obj.Id = VoucherId; if (objAt.saveAuditTrail(obj, WFStepsName.NewVoucherInfo.ToString(), UserBLL.GetCurrentUser(), "Insert Voucher") == 1) { AtSaved = 1; string msgFromWF = ""; msgFromWF = WFTransaction.GetMessage(TrackingNo); if (msgFromWF == "AddVoucherInfo") { WFTransaction.WorkFlowManager(TrackingNo); WFTransaction.UnlockTask(TrackingNo); HttpContext.Current.Session["msg"] = null; } tran.Commit(); isSaved = true; } else { tran.Rollback(); isSaved = false; } } } catch (Exception ex) { tran.Rollback(); if (AtSaved == 1) { objAt.RoleBack(); } throw ex; } finally { conn.Close(); tran.Dispose(); } return(isSaved); }
public bool EditCommodityDepositRequest(Guid ClientId, Guid commodityDepositRequestId, Guid commodityId, Guid representativeId, int productionYear, Guid woreda, float weight, int numberofBags, DateTime dateTimeRecived, string remark, int status, Guid lastModifiedBy, CommodityDepositeRequestBLL OldObject ) { int isSaved = 0; #region Validations //if (CommodityDepositRequestId == null) //{ // throw new Exception("Invalid Commodity Deposit Request Id"); //} //if (commodityId == null ) //{ // throw new Exception("Invalid Commodity Id"); //} //if (representativeId == null) //{ // throw new Exception("Invalid Representative Id"); //} //if (woreda == null) //{ // throw new Exception("Invalid Woreda"); //} //if (dateTimeRecived == null) //{ // throw new Exception("Invalid Date Time Recived"); //} //if (remark == null || remark == "") //{ // throw new Exception("Invalid Remark"); //} //if (status == null || status == "") //{ // throw new Exception("Invalid status"); //} //if (lastModifiedBy == null ) //{ // throw new Exception("Invalid last Modified by"); //} #endregion // has GRN on Rdit mood bool canBeEdited = false; canBeEdited = CommodityDepositeRequestBLL.isGRNEditable(commodityDepositRequestId); if (canBeEdited == false) { throw new GRNNotOnUpdateStatus("A GRN has already been created for this Deposit request, please request GRN the manger to edit this GRN."); } CommodityDepositeRequestBLL objEdit = new CommodityDepositeRequestBLL(); //NoClient objEdit = objEdit.GetCommodityDepositeDetailById(commodityDepositRequestId); string trNo = objEdit.TrackingNo; objEdit.Id = commodityDepositRequestId; objEdit.CommodityId = commodityId; objEdit.RepresentativeId = representativeId; objEdit.ProductionYear = productionYear; objEdit.WoredaId = woreda; objEdit.Weight = weight; objEdit.NumberofBags = numberofBags; objEdit.DateTimeRecived = dateTimeRecived; objEdit.Remark = remark; objEdit.Status = status; objEdit.LastModifiedBy = lastModifiedBy; objEdit.ClientId = ClientId; bool returnstatus = false; int atStatus = 0; SqlTransaction tran; SqlConnection conn = Connection.getConnection(); tran = conn.BeginTransaction(); try { isSaved = CommodityDepositRequest.UpdateCommodityDepositeRequest(objEdit, tran); if (isSaved == 0) { returnstatus = false; } else { //NoClient if (WFTransaction.GetMessage(trNo) == "UpdateClientNo") { if (objEdit.ClientId != Guid.Empty) { WFTransaction.UnlockTask(trNo); WarehouseApplication.ECXWF.CMessage msg = WFTransaction.Request(trNo); WFTransaction.WorkFlowManager(trNo, msg); } } AuditTrailBLL objAT = new AuditTrailBLL(); atStatus = objAT.saveAuditTrail(OldObject, objEdit, WFStepsName.ArrivalUpdate.ToString(), UserBLL.GetCurrentUser(), "Update Arrival"); if (atStatus == 1) { returnstatus = true; tran.Commit(); } } } catch { tran.Rollback(); } finally { tran.Dispose(); conn.Close(); } return(returnstatus); }
public Nullable <Guid> InsertSample(SamplingBLL objSampling, SamplerBLL objSampler, bool isMoisture) { bool issaved = false; SqlConnection conn = null; SqlTransaction trans = null; int at = -1; Nullable <Guid> DepositeRequestId = null; try { conn = Connection.getConnection(); trans = conn.BeginTransaction(); //using (TransactionScope scope = new TransactionScope()) //{ DepositeRequestId = new Guid(SamplingDAL.InsertSample(objSampling, trans).ToString()); if (DepositeRequestId == null) { trans.Rollback(); return(null); //throw new Exception("Invalid Sample Id."); } objSampling.Id = (Guid)DepositeRequestId; AuditTrailBLL objAt = new AuditTrailBLL(); at = objAt.saveAuditTrail(objSampling, WFStepsName.AddSampleCoding.ToString(), UserBLL.GetCurrentUser(), "Get Sample Ticket"); if (at == 1) { at = -1; objSampler.SampleingTicketId = (Guid)DepositeRequestId; objSampler.Id = Guid.NewGuid(); issaved = SamplerDAL.InsertSampler(objSampler, trans); if (issaved == true) { HttpContext.Current.Session["msg"] = null; WFTransaction.UnlockTask(objSampling.TrackingNo); ECXWF.CMessage mess = WFTransaction.Request(objSampling.TrackingNo); HttpContext.Current.Session["msg"] = mess; if (mess.Name.Trim() == "GetSampleTicket".Trim()) { WFTransaction.WorkFlowManager(objSampling.TrackingNo); trans.Commit(); } else { objAt.RoleBack(); trans.Rollback(); DepositeRequestId = null; } } else { objAt.RoleBack(); trans.Rollback(); DepositeRequestId = null; } } else { trans.Rollback(); DepositeRequestId = null; throw new Exception("Unable to log Audit Trail"); } // scope.Complete(); // } } catch (Exception ex) { trans.Rollback(); DepositeRequestId = null; throw ex; } finally { trans.Dispose(); conn.Close(); } return(DepositeRequestId); }