Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
 public async Task <(int responseStatus, string responseMessage)> CreateMaterialIssue(MaterialTransction model, List <TransactionItems> items)
 {
     return(await _IProductReturnRepository.CreateMaterialIssue(model, items));
 }