public async Task <IActionResult> CreateReturnIssue(MaterialTransction model, string[] matId, string[] remarks, string[] qty, string[] prodNumber) { var listData = await _IMaterialTransactionService.GetList(x => x.IsActive == 1); string slipNumber = "#0001"; if (listData.Count() > 0) { slipNumber += listData.Max(x => x.Id).ToString(); } model.SlipNumber = slipNumber; List <TransactionItems> itemModels = new List <TransactionItems>(); for (int i = 0; i < matId.Count(); i++) { TransactionItems item = new TransactionItems(); item.ItemId = Convert.ToInt32(matId[i] ?? "0"); item.Remarks = remarks[i] ?? string.Empty; item.Quantity = Convert.ToDecimal(qty[i] ?? "0"); item.UniqueItemId = Convert.ToInt32(prodNumber[i] ?? "0"); itemModels.Add(item); } var response = await _productReturnService.CreateMaterialIssue(model, itemModels); var responseMessage = response.responseStatus == 1 ? "Material Issue Created" : "Error in Material Issue creation."; return(Json(responseMessage)); }
public async Task <(int responseStatus, string responseMessage)> CreateMaterialIssue(MaterialTransction model, List <TransactionItems> items) { DataTable dt = new DataTable(); dt.Columns.Add("MaterialTransactionId", typeof(int)); dt.Columns.Add("ItemId", typeof(int)); dt.Columns.Add("Quantity", typeof(decimal)); dt.Columns.Add("UnitPrice", typeof(decimal)); dt.Columns.Add("Remarks", typeof(string)); dt.Columns.Add("ItemNumber", typeof(int)); items.ForEach(item => { DataRow dr = dt.NewRow(); dr["MaterialTransactionId"] = 0; dr["ItemId"] = item.ItemId; dr["Quantity"] = item.Quantity; dr["UnitPrice"] = item.UnitPrice; dr["Remarks"] = item.Remarks; dr["ItemNumber"] = item.UniqueItemId; dt.Rows.Add(dr); }); SqlParameter[] sqlParams = { new SqlParameter("@employeeId", model.EmployeeId), new SqlParameter("@transactionDate", model.TransactionDate), new SqlParameter("@transactionType", model.TransactionType), new SqlParameter("@slipNumber", model.SlipNumber ?? string.Empty), new SqlParameter("@createdBy", model.CreatedBy), new SqlParameter("@transactionItem", dt), }; try { var response = await SqlHelperExtension.ExecuteNonQuery(_connectionString, "Proc_MaterialIssue", CommandType.StoredProcedure, sqlParams); return(1, "Material issue inserted"); } catch (Exception ex) { return(-1, ex.Message); } }
public async Task <(int responseStatus, string responseMessage)> CreateMaterialIssue(MaterialTransction model, List <TransactionItems> items) { return(await _IProductReturnRepository.CreateMaterialIssue(model, items)); }