public HttpResponseMessage DeleteInventorySerial(Entities.TrnInventorySerial objInventorySerial, String documentPrefix, String id) { try { var currentUser = from d in db.MstUsers where d.UserId == User.Identity.GetUserId() select d; if (currentUser.Any()) { var currentUserId = currentUser.FirstOrDefault().Id; String formName = ""; Boolean isLocked = false; switch (documentPrefix) { case "RR": if (objInventorySerial.RRId != null) { var receivingReceipt = from d in db.TrnReceivingReceipts where d.Id == objInventorySerial.RRId select d; if (receivingReceipt.Any()) { if (receivingReceipt.FirstOrDefault().IsLocked) { isLocked = true; } } } formName = "ReceivingReceiptDetail"; break; case "SI": if (objInventorySerial.SIId != null) { var salesInvoice = from d in db.TrnSalesInvoices where d.Id == objInventorySerial.SIId select d; if (salesInvoice.Any()) { if (salesInvoice.FirstOrDefault().IsLocked) { isLocked = true; } } } formName = "SalesInvoiceDetail"; break; case "IN": if (objInventorySerial.INId != null) { var stockIn = from d in db.TrnStockIns where d.Id == objInventorySerial.INId select d; if (stockIn.Any()) { if (stockIn.FirstOrDefault().IsLocked) { isLocked = true; } } } formName = "StockInDetail"; break; case "OT": if (objInventorySerial.OTId != null) { var stockOut = from d in db.TrnStockOuts where d.Id == objInventorySerial.OTId select d; if (stockOut.Any()) { if (stockOut.FirstOrDefault().IsLocked) { isLocked = true; } } } formName = "StockOutDetail"; break; case "ST": if (objInventorySerial.STId != null) { var stockTransfer = from d in db.TrnStockTransfers where d.Id == objInventorySerial.STId select d; if (stockTransfer.Any()) { if (stockTransfer.FirstOrDefault().IsLocked) { isLocked = true; } } } formName = "StockTransferDetail"; break; case "SW": if (objInventorySerial.SWId != null) { var stockWithdrawal = from d in db.TrnStockWithdrawals where d.Id == objInventorySerial.SWId select d; if (stockWithdrawal.Any()) { if (stockWithdrawal.FirstOrDefault().IsLocked) { isLocked = true; } } } formName = "StockWithdrawalDetail"; break; default: formName = ""; break; } ; if (isLocked) { var userForms = from d in db.MstUserForms where d.UserId == currentUserId && d.SysForm.FormName.Equals(formName) select d; if (userForms.Any()) { if (userForms.FirstOrDefault().CanDelete) { var inventorySerial = from d in db.TrnInventorySerials where d.Id == Convert.ToInt32(id) select d; if (inventorySerial.Any()) { db.TrnInventorySerials.DeleteOnSubmit(inventorySerial.First()); String oldObject = at.GetObjectString(inventorySerial.FirstOrDefault()); at.InsertAuditTrail(currentUser.FirstOrDefault().Id, GetType().Name, MethodBase.GetCurrentMethod().Name, oldObject, "NA"); db.SubmitChanges(); UpdateItemInventorySerial(objInventorySerial.ArticleInventorySerialId); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "This inventory serial detail is no longer available.")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "No rights.")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "No rights.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Please lock the current document before proceeding.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in.")); } } catch (Exception e) { Debug.WriteLine(e); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server.")); } }
public HttpResponseMessage AddInventorySerial(Entities.TrnInventorySerial objInventorySerial, String documentPrefix) { try { var currentUser = from d in db.MstUsers where d.UserId == User.Identity.GetUserId() select d; if (currentUser.Any()) { var currentUserId = currentUser.FirstOrDefault().Id; String formName = ""; Boolean isLocked = false; Decimal QuantityIn = 0; Decimal QuantityOut = 0; switch (documentPrefix) { case "RR": if (objInventorySerial.RRId != null) { var receivingReceipt = from d in db.TrnReceivingReceipts where d.Id == objInventorySerial.RRId select d; if (receivingReceipt.Any()) { if (receivingReceipt.FirstOrDefault().IsLocked) { isLocked = true; } } QuantityIn = objInventorySerial.QuantityIn; QuantityOut = 0; } formName = "ReceivingReceiptDetail"; break; case "SI": if (objInventorySerial.SIId != null) { var salesInvoice = from d in db.TrnSalesInvoices where d.Id == objInventorySerial.SIId select d; if (salesInvoice.Any()) { if (salesInvoice.FirstOrDefault().IsLocked) { isLocked = true; } } QuantityIn = 0; QuantityOut = objInventorySerial.QuantityOut; } formName = "SalesInvoiceDetail"; break; case "IN": if (objInventorySerial.INId != null) { var stockIn = from d in db.TrnStockIns where d.Id == objInventorySerial.INId select d; if (stockIn.Any()) { if (stockIn.FirstOrDefault().IsLocked) { isLocked = true; } } QuantityIn = objInventorySerial.QuantityIn; QuantityOut = 0; } formName = "StockInDetail"; break; case "OT": if (objInventorySerial.OTId != null) { var stockOut = from d in db.TrnStockOuts where d.Id == objInventorySerial.OTId select d; if (stockOut.Any()) { if (stockOut.FirstOrDefault().IsLocked) { isLocked = true; } } QuantityIn = 0; QuantityOut = objInventorySerial.QuantityOut; } formName = "StockOutDetail"; break; case "ST": if (objInventorySerial.STId != null) { var stockTransfer = from d in db.TrnStockTransfers where d.Id == objInventorySerial.STId select d; if (stockTransfer.Any()) { if (stockTransfer.FirstOrDefault().IsLocked) { isLocked = true; } } QuantityIn = 0; QuantityOut = objInventorySerial.QuantityOut; } formName = "StockTransferDetail"; break; case "SW": if (objInventorySerial.SWId != null) { var stockWithdrawal = from d in db.TrnStockWithdrawals where d.Id == objInventorySerial.SWId select d; if (stockWithdrawal.Any()) { if (stockWithdrawal.FirstOrDefault().IsLocked) { isLocked = true; } } QuantityIn = 0; QuantityOut = objInventorySerial.QuantityOut; } formName = "StockWithdrawalDetail"; break; default: formName = ""; break; } ; if (isLocked) { var userForms = from d in db.MstUserForms where d.UserId == currentUserId && d.SysForm.FormName.Equals(formName) select d; if (userForms.Any()) { if (userForms.FirstOrDefault().CanAdd) { var currentBranchId = currentUser.FirstOrDefault().BranchId; Decimal Quantity = QuantityIn - QuantityOut; Data.TrnInventorySerial newInventorySerial = new Data.TrnInventorySerial { BranchId = currentBranchId, InventorySerialDate = DateTime.Today, ArticleId = objInventorySerial.ArticleId, ArticleInventorySerialId = objInventorySerial.ArticleInventorySerialId, RRId = objInventorySerial.RRId, SIId = objInventorySerial.SIId, INId = objInventorySerial.INId, OTId = objInventorySerial.OTId, STId = objInventorySerial.STId, SWId = objInventorySerial.SWId, QuantityIn = QuantityIn, QuantityOut = QuantityOut, Quantity = Quantity }; db.TrnInventorySerials.InsertOnSubmit(newInventorySerial); db.SubmitChanges(); UpdateItemInventorySerial(objInventorySerial.ArticleInventorySerialId); String newObject = at.GetObjectString(newInventorySerial); at.InsertAuditTrail(currentUser.FirstOrDefault().Id, GetType().Name, MethodBase.GetCurrentMethod().Name, "NA", newObject); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "No rights.")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "No rights.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Please lock the current document before proceeding.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in.")); } } catch (Exception e) { Debug.WriteLine(e); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server.")); } }