예제 #1
0
        public int Grabar(ordenpedido item)
        {
            int i = 0;

            using (ispDB db = new ispDB())
            {
                try
                {
                    db.BeginTransaction();
                    PagoPr.Instancia.Grabar(item.fkidentificadorespago.fkconveniospago);
                    if (item.id == 0)
                    {
                        item.id = db.ordenespedidos.Max(x => x.id);
                        item.id++;
                    }
                    i = db.InsertOrReplace(item);

                    db.detallesordenespedidos.Where(x => x.idordenpedido == item.id).Delete();

                    for (int ix = 0; ix < item.fkdetallesordenespedido.Count(); ix++)
                    {
                        detalleordenpedido detalle = item.fkdetallesordenespedido.ElementAt(ix);
                        if (detalle.idordenpedido == 0)
                        {
                            detalle.idordenpedido = item.id;
                        }
                    }
                    db.BulkCopy(item.fkdetallesordenespedido);
                    db.CommitTransaction();
                }
                catch (Exception)
                {
                    db.RollbackTransaction();
                    throw;
                }
            }
            return(i);
        }