Exemplo n.º 1
0
        public void Save(IEntityManager em, Transaction tx, Sales sales)
        {
            Guid ID = Guid.NewGuid();

            string[] columns = { "ID",            "SalesCode",    "SalesDate",    "CustomerId",    "SalesmanId", "PaymentMethod", "Status", "Notes", "GrandTotal",
                                 "AmountInWords", "DueDate",      "PrintCounter", "TermOfPayment",
                                 "CreatedDate",   "ModifiedDate", "CreatedBy",    "ModifiedBy" };

            object[] values = { ID,                               sales.Code,                        sales.Date.ToShortDateString(), sales.CustomerId,    sales.SalesmanId, sales.PaymentMethod,
                                sales.Status == true?1:0,         sales.Notes,                       sales.GrandTotal,
                                sales.AmountInWords,              sales.DueDate.ToShortDateString(), sales.PrintCounter,             sales.TermOfPayment,
                                DateTime.Now.ToShortDateString(), DateTime.Now.ToShortDateString(),  Store.ActiveUser,               Store.ActiveUser };

            var q = new Query().Select(columns).From(tableName).Insert(values);

            em.ExecuteNonQuery(q.ToSql(), tx);

            foreach (var salesItem in sales.SalesItems)
            {
                salesItem.SalesId = ID;

                salesItemRepository.Save(em, tx, salesItem);
                productQtyRepository.UpdateQtyOut(Store.ActiveMonth, Store.ActiveYear, salesItem.ProductId, salesItem.Qty, true);
            }

            recordCounterRepository.UpdateSalesCounter(em, tx, sales.Date.Month, sales.Date.Year);
        }
        public async Task <IActionResult> UploadSalesItem([FromBody] List <SalesItemRequest> items)
        {
            try
            {
                var rt = new List <SalesItemResponse>();
                foreach (var item in items)
                {
                    var obj = _mapper.Map <SalesItem>(item);
                    _salesItem.Add(obj);
                    rt.Add(_mapper.Map <SalesItemResponse>(obj));
                }

                await _salesItem.Save(User.Identity.Name, _accessor.ActionContext.HttpContext.Connection.RemoteIpAddress.ToString());

                return(Ok(rt));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }