예제 #1
0
        public OOB.Resultado.Ficha Pendiente_DejarCta(OOB.Pendiente.DejarCta.Ficha ficha)
        {
            var result = new OOB.Resultado.Ficha();

            var fichaDTO = new DtoLibPos.Pendiente.Dejar.Ficha()
            {
                cirifCliente  = ficha.cirifCliente,
                idCliente     = ficha.idCliente,
                idOperador    = ficha.idOperador,
                monto         = ficha.monto,
                montoDivisa   = ficha.montoDivisa,
                nombreCliente = ficha.nombreCliente,
                renglones     = ficha.renglones,
                items         = ficha.items.Select(s =>
                {
                    var nr = new DtoLibPos.Pendiente.Dejar.FichaItem()
                    {
                        idItem = s.idItem,
                    };
                    return(nr);
                }).ToList(),
            };
            var r01 = MyData.Pendiente_DejarCta(fichaDTO);

            if (r01.Result == DtoLib.Enumerados.EnumResult.isError)
            {
                result.Mensaje = r01.Mensaje;
                result.Result  = OOB.Resultado.Enumerados.EnumResult.isError;
                return(result);
            }

            return(result);
        }
        public DtoLib.Resultado Pendiente_DejarCta(DtoLibPos.Pendiente.Dejar.Ficha ficha)
        {
            var result = new DtoLib.Resultado();

            try
            {
                using (var cn = new PosEntities(_cnPos.ConnectionString))
                {
                    using (var ts = new TransactionScope())
                    {
                        var fechaSistema = cn.Database.SqlQuery <DateTime>("select now()").FirstOrDefault();

                        var ent = new p_pendiente()
                        {
                            auto_cliente   = ficha.idCliente,
                            cirif_cliente  = ficha.cirifCliente,
                            feche          = fechaSistema.Date,
                            hora           = fechaSistema.ToShortTimeString(),
                            id_p_operador  = ficha.idOperador,
                            monto          = ficha.monto,
                            monto_divisa   = ficha.montoDivisa,
                            nombre_cliente = ficha.nombreCliente,
                            renglones      = ficha.renglones,
                        };
                        cn.p_pendiente.Add(ent);
                        cn.SaveChanges();

                        foreach (var it in ficha.items)
                        {
                            var entItem = cn.p_venta.Find(it.idItem);
                            if (entItem == null)
                            {
                                result.Mensaje = "[ ID] ITEM NO ENCONTRADO";
                                result.Result  = DtoLib.Enumerados.EnumResult.isError;
                                return(result);
                            }
                            entItem.id_p_pendiente = ent.id;
                            cn.SaveChanges();
                        }

                        ts.Complete();
                    }
                };
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
예제 #3
0
 public DtoLib.Resultado Pendiente_DejarCta(DtoLibPos.Pendiente.Dejar.Ficha ficha)
 {
     return(ServiceProv.Pendiente_DejarCta(ficha));
 }