public List <CIBatchDetail> GetBatchDetail(string BatchNo, int ItemID, int LocationID, ref string errorMessage) { List <CIBatchDetail> BatchList = new List <CIBatchDetail>(); System.Data.DataTable dTable = new DataTable(); try { string dbMessage = string.Empty; DBParameterList dbParam = new DBParameterList(); dbParam.Add(new DBParameter("@BatchNo", BatchNo, DbType.String)); dbParam.Add(new DBParameter("@ItemID", ItemID, DbType.String)); dbParam.Add(new DBParameter("@LocationId", LocationID, DbType.Int32)); dbParam.Add(new DBParameter(Common.PARAM_OUTPUT, dbMessage, DbType.String, ParameterDirection.Output, Common.PARAM_OUTPUT_LENGTH)); using (DataTaskManager dt = new DataTaskManager()) { dTable = dt.ExecuteDataTable(SP_BATCH_DETAIL, dbParam); if (dbMessage == string.Empty) { if (dTable != null && dTable.Rows.Count > 0) { foreach (System.Data.DataRow drow in dTable.Rows) { CIBatchDetail batch = new CIBatchDetail(); batch.CreateBatchObject(drow); BatchList.Add(batch); } } } } return(BatchList); } catch (Exception ex) { throw ex; } }
public bool ProcessLog(string logNo, int LocationID, int userID, List <CO> lstCo, ref String ErrorCode) { try { bool isSuccess = false; bool isValid = true; string errorMessage = string.Empty; //Check Batch Qty Not Available for all Items of orders //isValid = CI.CheckBatchForLog(logNo, LocationID, ref errorMessage); //if (isValid) { List <CI> CIList = new List <CI>(); errorMessage = string.Empty; if (lstCo != null && lstCo.Count > 0) { DataTaskManager dtManager = null; try { using (dtManager = new DataTaskManager()) { //dtManager.BeginTransaction(); try { foreach (CO o in lstCo) { dtManager.BeginTransaction(); CO COrder = new CO(); COrder.GetCOAllDetails(o.CustomerOrderNo, -1); errorMessage = string.Empty; List <CIBatchDetail> ListBatch = CIBatchDetail.GetDefaultBatch(COrder.CustomerOrderNo, LocationID, ref errorMessage); CI invoice = CreateInvoiceObject(COrder, ListBatch, userID); if (invoice != null) { string ValidationCode = string.Empty; isValid = invoice.ValidateInvoice(COrder.CODetailList, ListBatch, ref ValidationCode); errorMessage = errorMessage + ValidationCode; if (isValid) { bool isSaved = invoice.Save(ref ValidationCode); if (!isSaved) { isSuccess = false; ErrorCode = ValidationCode; dtManager.RollbackTransaction(); //return isSuccess; } else { dtManager.CommitTransaction(); ErrorCode = string.Empty; isSuccess = true; } } else { if (ValidationCode == "40007") { // Not sufficent Batch Qty present ErrorCode = "40008"; } else { ErrorCode = ValidationCode; } isSuccess = false; dtManager.RollbackTransaction(); //break; } } else { ErrorCode = "40029," + COrder.CustomerOrderNo; isSuccess = false; dtManager.RollbackTransaction(); break; } } //dtManager.CommitTransaction(); //ErrorCode = string.Empty; //isSuccess = true; //return isSuccess; } catch (Exception ex) { throw ex; } } //return isSuccess; } catch (Exception ex) { Common.LogException(ex); } } else { //No Order found in confirmed status ErrorCode = "40011"; } } // Error in batch qty check ////else if (!errorMessage.Trim().Equals(string.Empty)) //{ // if (errorMessage.Trim().IndexOf("30001:") >= 0) // { // throw new Exception(errorMessage.Trim()); // } // else // { // ErrorCode = errorMessage.Trim(); // } //} if (!errorMessage.Equals("")) { MessageBox.Show(errorMessage, Common.GetMessage("10004"), MessageBoxButtons.OK, MessageBoxIcon.Information); } return(isSuccess); } catch (Exception ex) { throw ex; } }
private void CreateBatchObject(DataRow dr) { CIBatchDetail batch = new CIBatchDetail(); if (dr.Table.Columns.Contains("AvailableQty")) { this.AvailableQty = Convert.ToDecimal(dr["AvailableQty"]); } if (dr.Table.Columns.Contains("BatchNo")) { this.BatchNo = Convert.ToString(dr["BatchNo"]); } if (dr.Table.Columns.Contains("BucketId")) { this.BucketId = Convert.ToInt32(dr["BucketId"]); } if (dr.Table.Columns.Contains("ExpDate")) { this.ExpiryDate = Convert.ToDateTime(dr["ExpDate"]).ToShortDateString(); } if (dr.Table.Columns.Contains("InvoiceNo")) { this.InvoiceNo = Convert.ToString(dr["InvoiceNo"]); } if (dr.Table.Columns.Contains("ItemCode")) { this.ItemCode = Convert.ToString(dr["ItemCode"]); } if (dr.Table.Columns.Contains("ItemId")) { this.ItemId = Convert.ToInt32(dr["ItemId"]); } if (dr.Table.Columns.Contains("ManufacturingBatchNo")) { this.ManufacturerBatchNo = Convert.ToString(dr["ManufacturingBatchNo"]); } if (dr.Table.Columns.Contains("MfgDate")) { this.ManufacturingDate = Convert.ToDateTime(dr["MfgDate"]).ToShortDateString(); } if (dr.Table.Columns.Contains("MRP")) { this.MRP = Convert.ToDecimal(dr["MRP"]); } if (dr.Table.Columns.Contains("Quantity")) { this.Quantity = Convert.ToDecimal(dr["Quantity"]); } if (dr.Table.Columns.Contains("RecordNo")) { this.RecordNo = Convert.ToInt32(dr["RecordNo"]); } if (dr.Table.Columns.Contains("TotalQty")) { this.TotalQuantity = Convert.ToDecimal(dr["TotalQty"]); } }
public bool ProcessLog(string logNo, int LocationID, int userID, ref String ErrorCode, ref DataTable dtItems) { try { bool isSuccess = false; bool isValid = true; string errorMessage = string.Empty; //Check Batch Qty Not Available for all Items of orders isValid = CI.CheckBatchForLog(logNo, LocationID, ref errorMessage, ref dtItems); if (isValid) { List <CI> CIList = new List <CI>(); CO order = new CO(); order.LogNo = logNo; order.Status = (int)Common.OrderStatus.Confirmed; errorMessage = string.Empty; List <CO> lstCo = order.Search(ref errorMessage); if (errorMessage.Equals(string.Empty) && lstCo != null && lstCo.Count > 0) { DataTaskManager dtManager = null; try { using (dtManager = new DataTaskManager()) { dtManager.BeginTransaction(); try { foreach (CO o in lstCo) { CO m_Order = new CO(); m_Order.GetCOAllDetails(o.CustomerOrderNo, -1); errorMessage = string.Empty; List <CIBatchDetail> ListBatch = CIBatchDetail.GetDefaultBatch(m_Order.CustomerOrderNo, LocationID, ref errorMessage); CI invoice = CreateInvoiceObject(m_Order, ListBatch, userID); if (invoice != null) { string ValidationCode = string.Empty; isValid = invoice.ValidateInvoice(m_Order.CODetailList, ListBatch, ref ValidationCode); if (isValid) { bool isSaved = invoice.Save(ref ValidationCode); if (!isSaved) { isSuccess = false; dtManager.RollbackTransaction(); } } else { if (ValidationCode == "40007") { // Not sufficent Batch Qty present ErrorCode = "40008"; } else { ErrorCode = ValidationCode; } isSuccess = false; dtManager.RollbackTransaction(); break; } } else { ErrorCode = "40029," + m_Order.CustomerOrderNo; isSuccess = false; dtManager.RollbackTransaction(); break; } } dtManager.CommitTransaction(); ErrorCode = string.Empty; isSuccess = true; } catch (Exception ex) { throw ex; } } } catch (Exception ex) { Common.LogException(ex); } } else { //No Order found in confirmed status ErrorCode = "40011"; } } // Error in batch qty check else if (!errorMessage.Trim().Equals(string.Empty)) { if (errorMessage.Trim().IndexOf("30001:") >= 0) { throw new Exception(errorMessage.Trim()); } else { ErrorCode = errorMessage.Trim(); } } return(isSuccess); } catch (Exception ex) { throw ex; } }