Ejemplo n.º 1
0
 public Eventos()
     : this(new SaxRepositoryContext())
 {
     evtempService  = new EventosTemp();
     InjectIemp     = new Empresa();
     InjectIareaOpe = new AreaOperativa();
     InjectIctaCont = new CuentaContable();
 }
Ejemplo n.º 2
0
        private ICollection <SAX_PARTIDAS> ReferenceAsign(int tipoOperacion, ICollection <SAX_PARTIDAS> partidasList, string userName, int idPartida)
        {
            string          codeOperacion = string.Empty;
            CuentaContable  cuentas       = new CuentaContable();
            Empresa         emp           = new Empresa();
            AreaOperativa   area          = new AreaOperativa();
            RegistroControl regCtrl       = new RegistroControl();

            if (tipoOperacion == Convert.ToInt16(BusinessEnumerations.TipoOperacion.CARGA_INICIAL))
            {
                codeOperacion = "I";
            }
            else if (tipoOperacion == Convert.ToInt16(BusinessEnumerations.TipoOperacion.CARGA_MASIVA))
            {
                codeOperacion = "D";
            }
            else if (tipoOperacion == Convert.ToInt16(BusinessEnumerations.TipoOperacion.CAPTURA_MANUAL))
            {
                codeOperacion = "M";
            }

            DateTime todays = DateTime.Now.Date;

            var refAut = Convert.ToInt16(BusinessEnumerations.TipoReferencia.AUTOMATICO);

            partidas = partidas ?? new Partidas();
            var aproveed = Convert.ToInt16(BusinessEnumerations.EstatusCarga.APROBADO);

            switch (tipoOperacion)
            {
            case 21:
                var groupByFechaTrx = partidasList.GroupBy(c => c.PA_FECHA_TRX);



                foreach (var item in groupByFechaTrx)
                {
                    //int intcounter = 1;
                    var counterRecord = partidas.Count(c => DbFunctions.TruncateTime(c.PA_FECHA_TRX) == DbFunctions.TruncateTime(item.Key) &&
                                                       c.PA_STATUS_PARTIDA == aproveed && c.PA_ORIGEN_REFERENCIA == refAut) + 1;
                    var itemgroup = item.Key;
                    foreach (var internalcol in item)
                    {
                        if (string.IsNullOrEmpty(internalcol.PA_REFERENCIA) | internalcol.PA_REFERENCIA == "")
                        {
                            if (internalcol.PA_ORIGEN_REFERENCIA == refAut)
                            {
                                internalcol.PA_REFERENCIA = itemgroup.ToString(refFormat) + counterRecord.ToString().PadLeft(5, '0');
                                counterRecord++;
                            }
                        }

                        internalcol.PA_FECHA_APROB    = DateTime.Now;
                        internalcol.PA_USUARIO_APROB  = userName;
                        internalcol.PA_STATUS_PARTIDA = Convert.ToInt16(BusinessEnumerations.EstatusCarga.APROBADO);
                        //intcounter++;
                    }
                }
                break;

            case 22:
                var groupByFechaTrx2 = partidasList.GroupBy(c => c.PA_FECHA_TRX);


                foreach (var item in groupByFechaTrx2)
                {
                    //int intcounter = 1;
                    var counterRecord = partidas.Count(c => DbFunctions.TruncateTime(c.PA_FECHA_TRX) == DbFunctions.TruncateTime(item.Key) &&
                                                       c.PA_STATUS_PARTIDA == aproveed && c.PA_ORIGEN_REFERENCIA == refAut) + 1;
                    var itemgroup = item.Key;
                    foreach (var internalcol in item)
                    {
                        if (string.IsNullOrEmpty(internalcol.PA_REFERENCIA) | internalcol.PA_REFERENCIA == "")
                        {
                            if (internalcol.PA_ORIGEN_REFERENCIA == refAut)
                            {
                                internalcol.PA_REFERENCIA = itemgroup.ToString(refFormat) + counterRecord.ToString().PadLeft(5, '0');
                                counterRecord++;
                            }
                        }
                        internalcol.PA_FECHA_APROB    = DateTime.Now;
                        internalcol.PA_USUARIO_APROB  = userName;
                        internalcol.PA_STATUS_PARTIDA = Convert.ToInt16(BusinessEnumerations.EstatusCarga.APROBADO);
                        //intcounter++;
                    }
                }
                break;

            case 23:
                var groupByFechaTrx3 = partidasList.GroupBy(c => c.PA_FECHA_TRX);


                foreach (var item in groupByFechaTrx3)
                {
                    //int intcounter = 1;
                    var counterRecord = partidas.Count(c => DbFunctions.TruncateTime(c.PA_FECHA_TRX) == DbFunctions.TruncateTime(item.Key) &&
                                                       c.PA_STATUS_PARTIDA == aproveed && c.PA_ORIGEN_REFERENCIA == refAut) + 1;
                    var itemgroup = item.Key;
                    foreach (var internalcol in item)
                    {
                        if (string.IsNullOrEmpty(internalcol.PA_REFERENCIA) | internalcol.PA_REFERENCIA == "")
                        {
                            if (internalcol.PA_ORIGEN_REFERENCIA == refAut)
                            {
                                internalcol.PA_REFERENCIA = itemgroup.ToString(refFormat) + counterRecord.ToString().PadLeft(5, '0');
                                counterRecord++;
                            }
                        }
                        internalcol.PA_FECHA_APROB    = DateTime.Now;
                        internalcol.PA_USUARIO_APROB  = userName;
                        internalcol.PA_STATUS_PARTIDA = Convert.ToInt16(BusinessEnumerations.EstatusCarga.APROBADO);
                        //intcounter++;
                    }
                }
                break;

            default:
                break;
            }

            return(partidasList);
        }