Ejemplo n.º 1
0
        public HttpResponseMessage Save(string sellInvoceJson, string invoiceDetailsJson)
        {
            string             invoiceId  = "";
            string             errMessage = "";
            SelInvoiceContract invoiceDTO = JsonConvert.DeserializeObject <SelInvoiceContract>(sellInvoceJson);

            SelInvoiceDetailContract[] invoiceDetailDTOs = JsonConvert.DeserializeObject <SelInvoiceDetailContract[]>(invoiceDetailsJson);
            SqlTransaction             tran = DataProvider.beginTrans();

            try
            {
                businessRule.RegistInstants(invoiceDTO);
                if (invoiceDTO.Id > 0)
                {
                    invoiceId = invoiceDT.Update(invoiceDTO, tran);
                    changeDetail(invoiceDTO.Id, invoiceDTO.Code, (int)invoiceDTO.Storeid, invoiceDetailDTOs, tran);
                }
                else
                {
                    businessRule.RegistRule("Insert");
                    if (businessRule.CheckRules(out errMessage))
                    {
                        invoiceId = invoiceDT.Insert(invoiceDTO, tran);
                    }
                    else
                    {
                        return(handleBRFailed(errMessage, tran));
                    }
                }
                if (Converter.ToInt32(invoiceId) > 0)
                {
                    invoiceDetailDT.DeleteViaCond("InvoiceId=" + invoiceId);
                    foreach (SelInvoiceDetailContract invoiceDetailDTO in invoiceDetailDTOs)
                    {
                        invoiceDetailDTO.Invoiceid = Converter.ToInt32(invoiceId);
                        invoiceDetailDT.Insert(invoiceDetailDTO, tran);
                        errMessage = StoreModel.Export(invoiceDTO.Storeid.ToString(), invoiceDTO.Code, Converter.ToInt32(invoiceDetailDTO.Quantity), invoiceDetailDTO.Productid.ToString(), tran);
                        if (errMessage != "")
                        {
                            DataProvider.RollbackTrans(tran);
                            return(Request.CreateResponse <string>(HttpStatusCode.OK, errMessage));
                        }
                    }
                }
                DataProvider.CommitTrans(tran);
            }
            catch (Exception e)
            {
                DataProvider.RollbackTrans(tran);
                ExceptionHandler.Log(e);
            }
            return(Request.CreateResponse <string>(HttpStatusCode.OK, errMessage != string.Empty ? errMessage : invoiceId));
        }
Ejemplo n.º 2
0
        public HttpResponseMessage Save(string exportJson, string exportDetailsJson)
        {
            string            exportId   = "";
            string            errMessage = "";
            StoExportContract exportDTO  = JsonConvert.DeserializeObject <StoExportContract>(exportJson);

            StoExportDetailContract[] exportDetailDTOs = JsonConvert.DeserializeObject <StoExportDetailContract[]>(exportDetailsJson);
            SqlTransaction            tran             = DataProvider.beginTrans();

            try
            {
                businessRule.RegistInstants(exportDTO);
                if (exportDTO.Id > 0)
                {
                    exportId = exportDT.Update(exportDTO, tran);
                }
                else
                {
                    businessRule.RegistRule("Insert");
                    if (businessRule.CheckRules(out errMessage))
                    {
                        exportId = exportDT.Insert(exportDTO, tran);
                    }
                    else
                    {
                        return(handleBRFailed(errMessage, tran));
                    }
                }
                if (Converter.ToInt32(exportId) > 0)
                {
                    foreach (StoExportDetailContract exportDetailDTO in exportDetailDTOs)
                    {
                        exportDetailDTO.Exportid = Converter.ToInt32(exportId);
                        exportDetailDT.Insert(exportDetailDTO, tran);
                        errMessage = StoreModel.Export(exportDTO.Storeid.ToString(), exportDTO.Code, Converter.ToInt32(exportDetailDTO.Quantity), exportDetailDTO.Productid.ToString(), tran);
                        if (errMessage != "")
                        {
                            DataProvider.RollbackTrans(tran);
                            return(Request.CreateResponse <string>(HttpStatusCode.OK, errMessage));
                        }
                    }
                }
                DataProvider.CommitTrans(tran);
            }
            catch (Exception e)
            {
                DataProvider.RollbackTrans(tran);
                ExceptionHandler.Log(e);
            }
            return(Request.CreateResponse <string>(HttpStatusCode.OK, errMessage != string.Empty ? errMessage : exportId));
        }