Ejemplo n.º 1
0
        protected override object Run(CajaAsentar request)
        {
            AsentadorCaja aCaja = new AsentadorCaja()
            {
                Id          = request.Id,
                AsentadoPor = Int16.Parse(Session.UserId),
                TrasladarA  = request.TrasladarA
            };

            DbFactory.Exec(dbCmd =>
                           dbCmd.Update(aCaja));

            Caja caja = DbFactory.Caja(request.Id);

            try{
                var uc = DbFactory.UsuariosCorreos("Caja.Asentar").
                         Where(r => !r.Correo.IsNullOrEmpty()).ToList();
                if (uc.Count > 0)
                {
                    Mail = new Mailer(Config);
                    foreach (var r in uc)
                    {
                        Mail.Message.To.Add(r.Correo);
                    }

                    Mail.Message.Subject    = string.Format("Caja Cerrada {0}", caja.Fecha.ToString("dd.MM.yyyy"));
                    Mail.Message.IsBodyHtml = true;
                    List <DeCajaClasificacion> decajas = DbFactory.DeCajasClasificacion(caja.Id);
                    Mail.Message.Body = decajas.ToHtml(caja.Fecha, caja.SaldoAnterior);
                    Mail.Send();
                }

                if (caja.Fecha.DayOfWeek == Config.DiaDeCierre)
                {
                    EnviarMailCajaConsolidado(caja.Fecha.AddDays(-6), caja.Fecha);
                }

                if (caja.Fecha.Day == DateTime.DaysInMonth(caja.Fecha.Year, caja.Fecha.Month))
                {
                    EnviarMailCajaConsolidado(new DateTime(caja.Fecha.Year, caja.Fecha.Month, 1),
                                              caja.Fecha);
                }
            }
            catch (Exception e) {
                Log.Error(e);
            }


            return(new CajaAsentarResponse()
            {
                Caja = caja,
                Success = true
            });
        }
Ejemplo n.º 2
0
        protected override object Run(CajaCierreGet request)
        {
            Caja caja = DbFactory.Caja(request.Fecha);

            if (caja == default(Caja))
            {
                return(new CajaCierreGetResponse()
                {
                    Success = false,
                    ResponseStatus = new ResponseStatus()
                    {
                        Message = "No se encontro caja cerrada para: " + request.Fecha.ToString("dd.MM.yyyy"),
                        ErrorCode = "NoCajaAsentadaEnFecha"
                    }
                });
            }

            List <DeCajaClasificacion> decajas = DbFactory.DeCajasClasificacion(caja.Id);

            CajaCierreGetResponse response = new CajaCierreGetResponse()
            {
                Success      = true,
                HtmlResponse = decajas.ToHtml(caja.Fecha, caja.SaldoAnterior)
            };

            if (request.SendMail)
            {
                try{
                    var uc = DbFactory.UsuariosCorreos("Caja.Asentar").
                             Where(r => !r.Correo.IsNullOrEmpty()).ToList();
                    if (uc.Count > 0)
                    {
                        Mail = new Mailer(Config);
                        foreach (var r in uc)
                        {
                            Mail.Message.To.Add(r.Correo);
                        }

                        Mail.Message.Subject    = string.Format("Caja Cerrada {0}", caja.Fecha.ToString("dd.MM.yyyy"));
                        Mail.Message.IsBodyHtml = true;
                        Mail.Message.Body       = response.HtmlResponse;
                        Mail.Send();
                        Mail.Message.To.Clear();
                    }
                }
                catch (Exception e) {
                    Log.Error(e);
                }
            }

            return(response);
        }
Ejemplo n.º 3
0
        protected override object Run(CajaDesasentar request)
        {
            AsentadorCaja aCaja = new AsentadorCaja()
            {
                Id          = request.Id,
                AsentadoPor = null
            };

            DbFactory.Exec(dbCmd =>
                           dbCmd.Update(aCaja));

            Caja caja = DbFactory.Caja(request.Id);


            try{
                var uc = DbFactory.UsuariosCorreos("Caja.Desasentar");
                if (uc.Count > 0)
                {
                    Mail = new Mailer(Config);
                    foreach (var r in uc)
                    {
                        Mail.Message.To.Add(r.Correo);
                    }
                    Mail.Message.Subject    = string.Format("Caja Abierta {0}", caja.Fecha.ToString("dd.MM.yyyy"));
                    Mail.Message.IsBodyHtml = true;
                    Mail.Message.Body       = "";
                    Mail.Send();
                }
            }
            catch (Exception e) {
                Log.Error(e);
            }

            return(new CajaDesasentarResponse()
            {
                Caja = caja,
                Success = true
            });
        }