コード例 #1
0
        public bool Guardar(uFacturaEDatos.Comprobante comprobante, uFacturaEDatos.Operaciones.Recibo.Recibos recibo)
        {
            bool resultado = false;

            try
            {
                var vComprobante = from cf in _db.Comprobantes where cf.idComprobante == comprobante.idComprobante select cf;
                if (vComprobante.Count() == 0)
                {
                    comprobante.Folio = Convert.ToInt32(_db.GenerarFolioComprobante(comprobante.idDocumento, comprobante.idSucursal));
                    _db.Comprobantes.InsertOnSubmit(comprobante);

                    if (recibo != null)
                    {
                        if (recibo.Cuotas != null)
                        {
                            foreach (uFacturaEDatos.T_Cuotas cuota in recibo.Cuotas)
                            {
                                cuota.Facturado = 'S';
                                cuota.NoFactura = comprobante.Folio;
                                cuota.FecPago   = comprobante.FechaEmision;
                                cuota.Cantidad  = cuota.Cantidad;

                                var vCuota = from ct in _db.T_Cuotas where ct.ID == cuota.ID select ct;
                                if (vCuota.Count() > 0)
                                {
                                    //verificamos si ya se facturo una vez
                                    if (vCuota.First().Cantidad == null)
                                    {
                                        vCuota.First().Facturado = 'S';
                                        vCuota.First().NoFactura = comprobante.Folio;
                                        vCuota.First().FecPago   = comprobante.FechaEmision;
                                        vCuota.First().Cantidad  = cuota.Cantidad;
                                    }
                                    else
                                    {
                                        if (vCuota.First().Cantidad == "")
                                        {
                                            vCuota.First().Facturado = 'S';
                                            vCuota.First().NoFactura = comprobante.Folio;
                                            vCuota.First().FecPago   = comprobante.FechaEmision;
                                            vCuota.First().Cantidad  = cuota.Cantidad;
                                        }
                                        else
                                        {
                                            uFacturaEDatos.T_Cuotas ncuota = new T_Cuotas();
                                            ncuota.Facturado  = 'S';
                                            ncuota.NoFactura  = comprobante.Folio;
                                            ncuota.FecPago    = comprobante.FechaEmision;
                                            ncuota.Cantidad   = cuota.Cantidad;
                                            ncuota.FecPago    = vCuota.First().FecPago;
                                            ncuota.SocioID    = vCuota.First().SocioID;
                                            ncuota.SucursalID = vCuota.First().SucursalID;
                                            ncuota.MesID      = vCuota.First().MesID;
                                            ncuota.Linea      = vCuota.First().Linea;
                                            ncuota.Fecha      = vCuota.First().Fecha;
                                            _db.T_Cuotas.InsertOnSubmit(ncuota);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                _db.SubmitChanges();

                resultado = true;
            }
            catch (Exception ex)
            {
                resultado            = false;
                _mensajeErrorSistema = ex.Message;
                GrabarLogError(ex);
                throw new Exception("No fué posible guardar el comprobante.:" + ex.Message);
            }

            return(resultado);
        }
コード例 #2
0
        public bool Guardar(Recibos recibo)
        {
            bool resultado = false;

            try
            {
                // Obtenemos El Folio del recibo
                if (recibo.bCambioFol)
                {
                    //Eliminamos el registro anterior
                    Eliminar(recibo.recibo.SucursalID, recibo.recibo.RemRecId);

                    //
                }
                else
                {
                    var vfolio = from fol in _db.T_Folios
                                 where fol.IdSucursal == recibo.recibo.SucursalID && fol.FolioId == recibo.tipo
                                 select fol;
                    vfolio.First().Contador = recibo.recibo.RemRecId + 1;
                }

                var vConcepto = from recip in _db.T_RemRec where recip.RemRecId == recibo.recibo.RemRecId && recip.SucursalID == recibo.recibo.SucursalID select recip;
                if (vConcepto.Count() == 0)
                {
                    _db.T_RemRec.InsertOnSubmit(recibo.recibo);
                    foreach (T_RemRecDet x in recibo.ReciboDet)
                    {
                        x.RemRecId = recibo.recibo.RemRecId;
                        _db.T_RemRecDet.InsertOnSubmit(x);
                    }
                    if (recibo.Cuotas != null)
                    {
                        foreach (T_Cuotas c in recibo.Cuotas)
                        {
                            var vCuota = from cuot in _db.T_Cuotas where cuot.ID == c.ID select cuot;
                            if (vCuota.Count() == 0)
                            {
                                _db.T_Cuotas.InsertOnSubmit(c);
                            }
                            else
                            {
                                if (vCuota.First().NoRemision == null)
                                {
                                    vCuota.First().FecPago    = c.FecPago;
                                    vCuota.First().NoRemision = recibo.recibo.RemRecId;
                                    vCuota.First().Cantidad   = decimal.Parse(c.Cantidad).ToString("$##,##0.00");
                                    vCuota.First().SucursalID = c.SucursalID;
                                }
                                else
                                {
                                    T_Cuotas cuo = new T_Cuotas();
                                    cuo.FecPago    = c.FecPago;
                                    cuo.NoRemision = recibo.recibo.RemRecId;
                                    cuo.Cantidad   = decimal.Parse(c.Cantidad).ToString("$##,##0.00");
                                    cuo.SucursalID = c.SucursalID;
                                    cuo.Fecha      = vCuota.First().Fecha;
                                    cuo.MesID      = vCuota.First().MesID;
                                    cuo.SocioID    = vCuota.First().SocioID;
                                    _db.T_Cuotas.InsertOnSubmit(cuo);
                                }
                            }
                        }
                    }
                    if (recibo.formadepago != null)
                    {
                        List <T_Pagos> pagos = new List <T_Pagos>();
                        foreach (DetPago c in recibo.formadepago)
                        {
                            T_Pagos pago = new T_Pagos();
                            pago.Importe   = c.Importe;
                            pago.PagoID    = c.PagoID;
                            pago.ReciboID  = recibo.recibo.RemRecId;
                            pago.Cancelado = 'N';
                            pago.Fecha     = (DateTime)recibo.recibo.Fecha;
                            pagos.Add(pago);
                        }
                        _db.T_Pagos.InsertAllOnSubmit(pagos);
                    }
                    _db.SubmitChanges();
                    resultado = true;
                }
                else
                {
                    resultado            = false;
                    _mensajeErrorSistema = "";
                }
            }
            catch (Exception ex)
            {
                resultado            = false;
                _mensajeErrorSistema = ex.Message;
                GrabarLogError(ex);
                throw new Exception("No fué posible guardar el recibo");
            }

            return(resultado);
        }
コード例 #3
0
        public void creacuotas(int socioID, int Mes, int año, bool Nuevo, int SucursalID, Boolean anual)
        {
            int mes = Mes;

            int reno = 0;


            if (anual)
            {
                if (Nuevo)
                {
                    elminacuotas(socioID, SucursalID);
                    uFacturaEDatos.T_Cuotas cuot = new T_Cuotas();
                    cuot.SocioID    = socioID;
                    cuot.Fecha      = DateTime.Parse("01/" + Mes + "/" + año);
                    cuot.MesID      = "INS";
                    cuot.SucursalID = SucursalID;
                    Guardar(cuot);
                }
                else
                {
                    var    vreins = from concept in _db.T_Cuotas where concept.SocioID == socioID && (concept.MesID.Contains("INS") || concept.MesID.Contains("Re")) orderby concept.Fecha descending select concept;
                    string strRe  = "";
                    string Tipo   = "INS";
                    string gratis = "";
                    if (vreins.Count() > 0)
                    {
                        strRe = vreins.First().MesID.Substring(2);

                        bool isInt = int.TryParse(strRe, out reno);
                        if (!isInt)
                        {
                            Tipo = "Re1";
                            reno = 1;
                        }
                        else
                        {
                            reno++;
                            Tipo = "Re" + reno.ToString();
                            if (reno > 2)
                            {
                                gratis = "Cortesia";
                            }
                        }
                        //eliminamos las otras cuotas y creamos las nuevas
                        elminacuotas(socioID, SucursalID);
                        uFacturaEDatos.T_Cuotas cuot = new T_Cuotas();
                        cuot.SocioID    = socioID;
                        cuot.Fecha      = DateTime.Parse("01/" + Mes + "/" + año);
                        cuot.MesID      = Tipo;
                        cuot.SucursalID = SucursalID;
                        cuot.Cantidad   = gratis;
                        if (cuot.Cantidad == "Cortesia")
                        {
                            cuot.FecPago = DateTime.Today;
                        }
                        Guardar(cuot);
                    }
                }
            }
            if (!anual)
            {
                int      dia   = 1;
                DateTime fecha = DateTime.Parse("01/" + mes + "/" + año);
                for (int i = 1; i <= lastMonthDay(fecha); i++)
                {
                    uFacturaEDatos.T_Cuotas cuot = new T_Cuotas();
                    cuot.SocioID    = socioID;
                    cuot.SucursalID = SucursalID;

                    cuot.Fecha = DateTime.Parse(dia + "/" + mes + "/" + año);
                    if (dia < 10)
                    {
                        cuot.MesID = '0' + dia.ToString();
                    }
                    else
                    {
                        cuot.MesID = dia.ToString();
                    }

                    if (cuot.Fecha.Value.DayOfWeek != DayOfWeek.Sunday)
                    {
                        Guardar(cuot);
                    }
                    dia++;
                }
            }
            else
            {
                string gratis = "";
                for (int i = 1; i <= 12; i++)
                {
                    uFacturaEDatos.T_Cuotas cuot = new T_Cuotas();
                    cuot.SocioID    = socioID;
                    cuot.SucursalID = SucursalID;
                    cuot.Fecha      = DateTime.Parse("02/" + mes + "/" + año);
                    cuot.MesID      = DateTime.Parse("02/" + mes + "/" + año).ToString("MMM").ToUpper();

                    mes++;
                    if (mes > 12)
                    {
                        mes = 1;
                        año++;
                    }
                    Guardar(cuot);
                }
            }
        }