示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public async Task <string> RegistroMovimiento(MovimientoRequest request)
        {
            try
            {
                Guid _Company = Guid.Empty;
                //Antes de llamar al procedimiento realizamos un inserccion en la tabla CajaMovimiento ,
                //Esto se hace ya que hay un trigerr en dicha tabla y se debe de lanzar
                if (request.uidtipoMovimiento.ToUpper() == "75F161D7-419E-4FD2-BB4C-88F5483752D9")
                {
                    Company_Caja dtoCompany = new Company_Caja();
                    dtoCompany.UID_Company      = Guid.Parse(request.uicompany);
                    dtoCompany.Fecha            = DateTime.Now;
                    dtoCompany.Importe_Apertura = request.importe;
                    await _iunitOfWork.CompanyCajaRepository.InsertEntity(dtoCompany);

                    await _iunitOfWork.CompanyCajaRepository.SaverChangeAsyc();

                    _Company = dtoCompany.UID;
                }
                else
                {
                    var companyCaja = _iunitOfWork.CompanyCajaRepository.FindAllAsync(x => x.UID_Company == Guid.Parse(request.uicompany) && x.Fecha <= DateTime.Now).Result.FirstOrDefault();
                    if (companyCaja != null)
                    {
                        _Company = companyCaja.UID;
                    }
                }
                if (_Company != Guid.Empty)
                {
                    await _iunitOfWork.CajaMovimientoRepository.InsertEntity(new Company_Caja_Movimientos()
                    {
                        Descripcion        = request.descripcion,
                        Importe            = request.importe,
                        UID_TipoMovimiento = Guid.Parse(request.uidtipoMovimiento),
                        UID_User           = Guid.Parse(request.uiperson),
                        Fecha    = DateTime.Now,
                        UID_Caja = _Company
                    });

                    await _iunitOfWork.CajaMovimientoRepository.SaverChangeAsyc();
                }
            }
            catch (CError e)
            {
                throw _errorManager.AddError("RegistroEvento", "Maestros_RegistroEvento", e, MethodBase.GetCurrentMethod(), null);
            }
            catch (System.Exception ex)
            {
                _log.Debug(ex.GetBaseException().ToString());
                throw _errorManager.AddError("Error Generico", "Maestros_RegistroEvento", ex, MethodBase.GetCurrentMethod(), null);
            }

            // return await Task.Run(() => "OK");
            return("OK");
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public CajaSituacionResponse Parse(Company_Caja dto)
        {
            CajaSituacionResponse response = new CajaSituacionResponse();

            response.dtInit      = dto.Fecha.Value;
            response.dcApertura  = dto.Importe_Apertura == null ? 0 : dto.Importe_Apertura.Value;
            response.dcMetalico  = dto.Importe_Metalico == null ? 0 : dto.Importe_Metalico.Value;
            response.dcTarjeta   = dto.Importe_Tarjeta == null ? 0 : dto.Importe_Tarjeta.Value;
            response.dcRetirado  = dto.Importe_Retirado == null ? 0 : dto.Importe_Retirado.Value;
            response.dcCierre    = dto.Importe_Cierre == null ? 0 : dto.Importe_Cierre.Value;
            response.dcIngresos  = dto.Importe_Ingresos == null ? 0 : dto.Importe_Ingresos.Value;
            response.dcPagos     = dto.Importe_Pagos == null ? 0 : dto.Importe_Pagos.Value;
            response.dcDescuadre = dto.Importe_Descuadre == null ? 0 : dto.Importe_Descuadre.Value;
            return(response);
        }