ahmed_sa Ответов: 1

Как вставить данные заказа на продажу в разделе создать действие в контроллере заказа на продажу


Как сохранить значение заказа на продажу

Как вставить данные из заказа на продажу на таблицы заголовок продажи и подвал, чтобы сохранить порядок

На самом деле то, что мне нужно это то, что я пишу под действие создания результат на ordercontroller продаж, чтобы сохранить порядок

my create view of sales order as following

View Of Create Action
<pre lang="HTML">@model TabDataAccess.Dto.SalesHeader


<h2>Create</h2>

<h4>SalesHeader</h4>
<hr />
<div class="row">
    <div class="col-md-4">
        <form asp-action="Create">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <div class="form-group">
                <label asp-for="SalesOrderNo" class="control-label"></label>
                <input asp-for="SalesOrderNo" class="form-control" />
                <span asp-validation-for="SalesOrderNo" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="SalesYear" class="control-label"></label>
                <input asp-for="SalesYear" class="form-control" />
                <span asp-validation-for="SalesYear" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="BranchCode" class="control-label"></label>
                <input asp-for="BranchCode" class="form-control" />
                <span asp-validation-for="BranchCode" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="SalesType" class="control-label"></label>
                <input asp-for="SalesType" class="form-control" />
                <span asp-validation-for="SalesType" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="SalesDate" class="control-label"></label>
                <input asp-for="SalesDate" class="form-control" />
                <span asp-validation-for="SalesDate" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="CustomerID" class="control-label"></label>
                <select asp-for="CustomerID" class="form-control" asp-items="ViewBag.CustomerID"></select>
            </div>
            <div class="form-group">
                <label asp-for="TotalPrice" class="control-label"></label>
                <input asp-for="TotalPrice" class="form-control" />
                <span asp-validation-for="TotalPrice" class="text-danger"></span>
            </div>
            <div class="details">
                <h4>Order Items</h4>
                <table width="100%">
                    <tr>
                        <td>SalesLineNo</td>
                        <td>ItemCode</td>
                        <td>Quantity</td>
                        <td>UnitPrice</td>
                        <td>Total</td>
                        <td> </td>
                    </tr>
                    <tr>
                        <td>
                            <input type="text" id="SalesLineNo" />
                            
                        </td>
                        <td>
                            <input type="text" id="ItemCode" />
                      
                        </td>
                        <td>
                            <input type="text" id="Qunatity" />
                            
                        </td>
                        <td>
                            <input type="text" id="UnitPrice" />
                           
                        </td>
                        <td>
                            <input type="text" id="Total" />
                           
                        </td>
                        <td>
                            <input type="button" id="add" value="add" />
                        </td>
                    </tr>
                </table>
                <div id="orderItems" class="tablecontainer">

                </div>
                @*<div style="padding:10px 0px; text-align:right">
            <input id="submit" type="button" value="Save" style="padding:10px 20px" />
        </div>*@
                <div class="form-group">
                    <input type="submit" value="Create" class="btn btn-default" />
                </div>
            </div>
            </form>

public class RepositoryTab<T> : IrepositoryTab<T> where T : class
    {
        protected TabDbContext db { get; set; }
        private DbSet<T> dbSet;

        public RepositoryTab(TabDbContext Tabdb)
        {
            db = Tabdb;
            dbSet = db.Set<T>();
        }
 public void Insert(T obj)
        {
            dbSet.Add(obj);
            Save();
        }
 public void Save()
        {
            db.SaveChanges();
        }


Что я уже пробовал:

=======SalesOrderController============

public class SalesOrderController : Controller
    {
        private readonly IrepositoryTab<SalesHeader> _repository;
        public  SalesOrderController(IrepositoryTab<SalesHeader> SalesHeader)
        {
            this._repository = SalesHeader;
        }
       
     
        
        [HttpPost]
        public IActionResult Create(SalesHeader sh)
        {
           
           
            if (ModelState.IsValid)
            {
              //are save header is ok i dont know
                    SalesHeader order = new SalesHeader { SalesOrderNo = sh.SalesOrderNo, SalesType = sh.SalesType, BranchCode = sh.BranchCode,SalesYear=sh.SalesYear,SalesDate=sh.SalesDate,CustomerID=sh.CustomerID };
                    foreach (var i in sh.SalesFooters)
                    {
//how to save footer
                   i.SalesLineNo=s
                        order.SalesFooters.Add(i);
                    }
                _repository.Insert(order);
                   
                   
                
            }
           
           //if order saved return message success
        }
    }
}

ahmed_sa

Модели как показано ниже

Sales Header Model
public int SalesOrderNo { get; set; }
public int SalesYear { get; set; }
public int BranchCode { get; set; }
public int SalesType { get; set; }
public DateTime SalesDate { get; set; }
public int CustomerID { get; set; }
public Customer Customers { get; set; }
public ICollection<SalesFooter> SalesFooters { get; set; }

Sales Footer model
public int SalesOrderNo { get; set; }
public int SalesLineNo { get; set; }
public int SalesType { get; set; }
public int BranchCode { get; set; }
public string ItemCode { get; set; }
public decimal Quantity { get; set; }
public decimal UnitPrice { get; set; }
public decimal Total { get; set; }
public Items Itemes { get; set; }
public SalesHeader SaleHeaders { get; set; }

1 Ответов

Рейтинг:
2

Maciej Los

Я уже говорил вам, что ваша модель неверна. Прочесть мой ответ[^] внимательно.