public ActionResult UpdateTransfer(Transfer transfer) { try { TransferStates status = (TransferStates)Enum.ToObject(typeof(TransferStates), transfer.Status); Axapta axDB1 = new Axapta(); System.Net.NetworkCredential ncDB1 = new System.Net.NetworkCredential("EP_AX2012", "VendTable1", "RIWAL01"); axDB1.LogonAs(ConfigurationManager.AppSettings["User"], ConfigurationManager.AppSettings["Domain"], ncDB1, transfer.DataAreaId, ConfigurationManager.AppSettings["Language"], ConfigurationManager.AppSettings["AOS"], ""); axDB1.TTSBegin(); AxaptaRecord A4URequest = (AxaptaRecord)axDB1.CallStaticRecordMethod("A4URequests", "Find", transfer.RequestId, true); if (transfer.ExactDateInput) { A4URequest.set_Field("DateOffHire", transfer.DateOffHire); } else { A4URequest.set_Field("DateExpectedOffHire", transfer.DateOffHire); } A4URequest.set_Field("Status", (int)status); A4URequest.Update(); axDB1.TTSCommit(); axDB1.Logoff(); axDB1.Dispose(); return(Content("true")); } catch { return(Content("false")); } }
public ActionResult CreateTransfer(Transfer transfer) { try { Axapta axDB1 = new Axapta(); System.Net.NetworkCredential ncDB1 = new System.Net.NetworkCredential("EP_AX2012", "VendTable1", "RIWAL01"); axDB1.LogonAs(ConfigurationManager.AppSettings["User"], ConfigurationManager.AppSettings["Domain"], ncDB1, transfer.DataAreaId, ConfigurationManager.AppSettings["Language"], ConfigurationManager.AppSettings["AOS"], ""); axDB1.TTSBegin(); AxaptaRecord transferRequest = axDB1.CreateAxaptaRecord("A4URequests"); transferRequest.Call("InitValue"); if (!string.IsNullOrWhiteSpace(transfer.ContactPersonId)) { transferRequest.set_Field("ContactPersonId", transfer.ContactPersonId); } transferRequest.set_Field("CustAccount", transfer.CustAccount); if (!string.IsNullOrWhiteSpace(transfer.TransferFromContactPersonid)) { transferRequest.set_Field("TransferFromContactPersonId", transfer.TransferFromContactPersonid); } transferRequest.set_Field("TransferFromCustAccount", transfer.TransferFromCustAccount); transferRequest.set_Field("Type", (Int32)RequestTypes.Transfer); transferRequest.set_Field("Status", (Int32)TransferStates.Requested); transferRequest.set_Field("TransferfromInventTransId", transfer.TransferfromInventTransId); transferRequest.set_Field("DateOnHire", transfer.DateOnHire); transferRequest.set_Field("UserId", transfer.UserId); transferRequest.set_Field("TransferFromUserId", transfer.TransferFromUserId); transferRequest.set_Field("TransferFromSalesName", transfer.TransferFromSalesName); transferRequest.set_Field("SalesName", transfer.SalesName); transferRequest.Insert(); axDB1.TTSCommit(); axDB1.Logoff(); axDB1.Dispose(); return(Content("true")); } catch { return(Content("false")); } }
private void PostNewPoToAx(tblNewRFQPurchaseOrderHeader paramHeaderObjToPost) { var context = new WorkFlowManagerDBEntities(); var headerObjToPost = context.tblNewRFQPurchaseOrderHeaders.Include("tblNewRFQPurchLines.tbl_PurchaseOrderSizeDetails") .FirstOrDefault(x => x.TransID == paramHeaderObjToPost.TransID); var axapta = new Axapta(); var credential = new NetworkCredential("bcproxy", "around1"); try { axapta.LogonAs("ahmed.gamal", "ccasual.loc", credential, "ccr", null, null, null); } catch (Exception) { throw new Exception("There was a problem logging to ax"); } try { axapta.TTSBegin(); var inventDimTable = axapta.CreateAxaptaRecord("InventDim"); var inventColorTable = axapta.CreateAxaptaRecord("InventColor"); var inventDimCombination = axapta.CreateAxaptaRecord("InventDimCombination"); var axaptaRecord = axapta.CreateAxaptaRecord("PurchTable"); axaptaRecord.Clear(); axaptaRecord.InitValue(); var purchId = headerObjToPost.PurchaseID; axaptaRecord.set_Field("PurchId", purchId); var header = axapta.CallStaticRecordMethod("VendTable", "find", headerObjToPost.Vendor) as AxaptaRecord; axaptaRecord.Call("initFromVendTable", header); axaptaRecord.Insert(); context.tbl_PurchaseOrderDetails.MergeOption = MergeOption.NoTracking; context.V_Warehouse.MergeOption = MergeOption.NoTracking; var detailHeadersFull = headerObjToPost.tblNewRFQPurchLines; foreach (var ditem in detailHeadersFull) { foreach (var sdItem in ditem.tblNewRFQPurchLineSizes) { var itemId = ditem.StyleCode; axaptaRecord = axapta.CreateAxaptaRecord("PurchLine"); axaptaRecord.Clear(); axaptaRecord.InitValue(); inventDimTable.Clear(); inventDimTable.set_Field("InventLocationId", headerObjToPost.WareHouseID); var warehouse = context.V_Warehouse.SingleOrDefault( x => x.DataAreaID == "ccr" && x.WarehouseID == headerObjToPost.WareHouseID); if (warehouse != null) { inventDimTable.set_Field("InventSiteId", warehouse.SiteId); } inventColorTable.set_Field("ItemID", ditem.StyleCode); inventColorTable.set_Field("InventColorId", ditem.ColorCode); var clr = (bool) axapta.CallStaticRecordMethod("InventColor", "checkExist", ditem.StyleCode, ditem.ColorCode); if (!clr) { inventColorTable.Insert(); } else { inventColorTable.Clear(); } try { inventDimCombination.set_Field("ItemID", ditem.StyleCode); inventDimCombination.set_Field("InventSizeId", sdItem.Size); inventDimCombination.set_Field("InventColorId", ditem.ColorCode); inventDimCombination.Insert(); } catch { } inventDimTable.set_Field("InventColorId", ditem.ColorCode); inventDimTable.set_Field("InventSizeId", sdItem.Size); inventDimTable = axapta.CallStaticRecordMethod("InventDim", "findOrCreate", inventDimTable) as AxaptaRecord; var tempx = inventDimTable.get_Field("inventDimId").ToString(); axaptaRecord.set_Field("InventDimId", tempx); if (ditem.DeliveryDate != null) { axaptaRecord.set_Field("DeliveryDate", ditem.DeliveryDate); } axaptaRecord.set_Field("ItemId", itemId); axaptaRecord.set_Field("purchId", purchId); axaptaRecord.set_Field("PurchUnit", "Pcs"); axaptaRecord.set_Field("QtyOrdered", Convert.ToDecimal(sdItem.Qty.ToString())); axaptaRecord.set_Field("PurchPrice", Convert.ToDecimal(ditem.PurchasePrice)); axaptaRecord.set_Field("PurchQty", Convert.ToDecimal(sdItem.Qty.ToString())); axaptaRecord.set_Field("LineAmount", Convert.ToDecimal((sdItem.Qty * ditem.PurchasePrice).ToString())); axaptaRecord.Call("createLine", true, true, false, true, true, false); } //TO DO: Add Posting TO Retail Plus Logic Here! //-//////////////////////////////////////////// var retailContext = new ccnewEntities(); //var retailPoHeader = new TblPOHeader //{ // Code = headerObjToPost.PurchaseID, // tblstore = headerObjToPost.WareHouseID, // tblseason = headerObjToPost.tbl_RFQHeader.SeasonCode, //}; var retailPoMainDetail = new TblPOMainDetail(); var retailPoDetail = new TblPODetail(); axapta.TTSCommit(); headerObjToPost.IsPosted = true; context.SaveChanges(); } } catch (Exception) { axapta.TTSAbort(); throw; } finally { axapta.Logoff(); axapta.Dispose(); } }