示例#1
0
        static void Main(string[] args)
        {
            Console.WriteLine("*** ERPCRAFT - Control your Minecraft world from the real world, anywhere, realtime. ***");
            Console.WriteLine("[[[ https://github.com/Itzanh/ERPCraft ]]]");
            Console.WriteLine("");
            config = Configuracion.readConfiguracion();
            db     = new DBStorage(config);
            // clean the database on start - allow the program to be called from a cron command to clean the DB
            if (args.Length > 0 && args[0].Equals("clean"))
            {
                ajuste = db.getAjuste();
                Console.WriteLine("CLEANING THE DATABASE FOLLOWING THE ACTIVE CONFIG...");
                db.limpiar();
                Console.WriteLine("OK!");
                return;
            }
            db.createDB();
            initDb();

            websocketPubSub = new PubSub(new string[] { "robots", "articulos", "articulosImg", "electrico", "generador", "bateria", "ordenMinado", "almacen", "drones", "usuarios", "config", "apiKeys", "servers", "notificaciones" });

            // admin management (web)
            Thread threadWS = new Thread(new ThreadStart(WaitForWebSocket.Run));

            threadWS.Start();

            // accept OC communication
            GameController.Run();
        }
示例#2
0
 static void Main(string[] args)
 {
     try
     {
         Console.Write("Insira seu salário bruto: R$");
         double salario = double.Parse(Console.ReadLine());
         Console.Write("Insira quantas horas você trabalha por mês: ");
         int horas = int.Parse(Console.ReadLine());
         Console.Write("Insira a quantidade de horas extras feitas em sábados: ");
         int hExtraSabado = int.Parse(Console.ReadLine());
         Console.Write("Insira a quantidade de horas extras feitas em dias de semana: ");
         int    hExtraSemana = int.Parse(Console.ReadLine());
         Ajuste ajuste       = new Ajuste(salario, hExtraSabado, hExtraSemana, horas); //Manda os dados para a classe Ajuste
         Console.WriteLine(ajuste.ToString());                                         //Exibe os dados formatados
     }
     catch (FormatException)                                                           //Erro de formato dos dados inseridos
     {
         Console.WriteLine("Valor inserido não reconhecido, insira apenas números.");
         Console.WriteLine();
         Main(args);
     }
     catch (Exception e) //Erro genérico
     {
         Console.WriteLine("Erro inesperado!");
         Console.WriteLine(e.Message);
         Main(args);
     }
 }
示例#3
0
        public async Task <IActionResult> Edit(int id, [Bind("AjusteID,Nome,Nivel,TempoEstimado")] Ajuste ajuste)
        {
            if (id != ajuste.AjusteID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _unitOfWork.Ajustes.Update(ajuste);
                    await _unitOfWork.SaveAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AjusteExists(ajuste.AjusteID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(ajuste));
        }
示例#4
0
        private void CarregaGrid()
        {
            DateTime data = Convert.ToDateTime(txtdtAjuste.Text.Trim());
            var      dia  = data.ToString("dd/MM/yyyy");

            Grid.Columns["QUANTIDADE"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

            //define um array de strings com nCOlunas
            string[] linhaDados = new string[4];

            //LIMPAR GRID
            Grid.Rows.Clear();
            Grid.Refresh();

            var dr = Ajuste.SelectAjuste(int.Parse(Usuario.Codempresa), cmbDepartamento.SelectedIndex, dia);

            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    linhaDados[0] = dr.GetString(dr.GetOrdinal("CODPRODUTO"));
                    linhaDados[1] = dr.GetString(dr.GetOrdinal("NOMEPRODUTO"));
                    linhaDados[2] = dr.GetString(dr.GetOrdinal("QUANTIDADE"));
                    linhaDados[3] = dr.GetString(dr.GetOrdinal("MOTIVO"));

                    Grid.Rows.Add(linhaDados);
                }
            }

            dr.Close();
            dr.Dispose();
        }
示例#5
0
        public ActionResult DeleteConfirmed(int id)
        {
            Ajuste ajuste = db.Ajustes.Find(id);

            db.Ajustes.Remove(ajuste);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Ajuste ajuste = db.Ajustes
                            .Include(a => a.Atual)
                            .Include(a => a.TipoAlteracao)
                            .SingleOrDefault(a => a.AjusteId == id);

            return(View("Erase", ajuste));
        }
示例#7
0
        public async Task <IActionResult> Create([Bind("AjusteID,Nome,Nivel,TempoEstimado")] Ajuste ajuste)
        {
            if (ModelState.IsValid)
            {
                _unitOfWork.Ajustes.Add(ajuste);
                await _unitOfWork.SaveAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(ajuste));
        }
        public ActionResult Erase(int id)
        {
            Ajuste ajuste = db.Ajustes
                            .Include(a => a.Atual)
                            .Include(a => a.TipoAlteracao)
                            .SingleOrDefault(a => a.AjusteId == id);

            db.Ajustes.Remove(ajuste);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#9
0
 public ActionResult Edit([Bind(Include = "AjusteId,OrigemId,UnidadeDeId,AtualId,UnidadeParaId,Fator,TipoAlteracaoId,Medida")] Ajuste ajuste)
 {
     if (ModelState.IsValid)
     {
         db.Entry(ajuste).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.AtualId         = new SelectList(db.Produtos, "Id", "Apelido", ajuste.AtualId);
     ViewBag.TipoAlteracaoId = new SelectList(db.TiposAlteracao, "TipoAlteracaoId", "Descricao", ajuste.TipoAlteracaoId);
     return(View(ajuste));
 }
示例#10
0
        public void carga()
        {
            dtAjustes.Rows.Clear();
            Ajuste ajuste = new Ajuste();

            using (ajuste)
            {
                List <Ajuste> resultado = ajuste.getAjustes();
                foreach (Ajuste item in resultado)
                {
                    dtAjustes.Rows.Add(item.Id, item.Fecha, item.Total);
                }
            }
        }
示例#11
0
        // GET: Ajustes/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ajuste ajuste = db.Ajustes.Find(id);

            if (ajuste == null)
            {
                return(HttpNotFound());
            }
            ViewBag.AtualId         = new SelectList(db.Produtos, "Id", "Apelido", ajuste.AtualId);
            ViewBag.TipoAlteracaoId = new SelectList(db.TiposAlteracao, "TipoAlteracaoId", "Descricao", ajuste.TipoAlteracaoId);
            return(View(ajuste));
        }
示例#12
0
 private static void initDb()
 {
     // establecer como offline todos los servers y robots
     db.updateAllOffline();
     // intentar cargar ajustes, si no es posible, guardar unos nuevos ajustes y cargar
     ajuste = db.getAjuste();
     if (ajuste == null)
     {
         ajuste = new Ajuste();
         ajuste.defaultAjustes();
         short id = db.addAjuste(ajuste);
         db.activarAjuste(id);
         ajuste = db.getAjuste();
     }
     // si no existe el usuario con ID 1, crearlo con los datos por defecto
     db.initUsers();
 }
示例#13
0
        // GET: Ajustes/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Ajuste ajuste = db.Ajustes
                            .Include(a => a.Atual)
                            .Include(a => a.TipoAlteracao)
                            .SingleOrDefault(a => a.AjusteId == id);

            if (ajuste == null)
            {
                return(HttpNotFound());
            }
            return(View(ajuste));
        }
示例#14
0
        private void Form_ajustes_Load(object sender, EventArgs e)
        {
            dtFecha.Format       = DateTimePickerFormat.Custom;
            dtFecha.CustomFormat = "yyyy-MM-dd";
            txtFolio.Enabled     = false;
            dtFecha.Enabled      = false;
            if (folio != "0")
            {
                txtCosto.Enabled       = false;
                txtCodigo.Enabled      = false;
                txtCantidad.Enabled    = false;
                txtDescripcion.Enabled = false;
                txtCodigo.Enabled      = false;
                btnAgregar.Enabled     = false;
                btnGuardar.Enabled     = false;
                dtProductos.Columns["cantidad"].ReadOnly = true;
                Ajuste ajuste = new Ajuste();
                using (ajuste)
                {
                    List <Ajuste> result = ajuste.getAjustesbyId(Convert.ToInt16(folio));
                    foreach (Ajuste item in result)
                    {
                        dtFecha.Value = Convert.ToDateTime(item.Fecha);
                        txtTotal.Text = item.Total.ToString();
                        txtFolio.Text = item.Id.ToString();
                    }
                }



                det_ajustes detalles = new det_ajustes();
                using (detalles)
                {
                    Product            producto = new Product();
                    List <det_ajustes> res      = detalles.getDet_ajustes(Convert.ToInt16(folio));
                    foreach (det_ajustes it in res)
                    {
                        List <Product> prod = producto.getProductById(it.Id_producto);
                        dtProductos.Rows.Add(it.Id_producto, it.Cantidad, prod[0].Code1, prod[0].Description, it.P_u, it.Total);
                    }
                }
            }
        }
示例#15
0
        public void Retorno()
        {
            var nomeautoriza    = Parametros.Nome.ToString();
            var senha           = "";
            var autorizado      = "N";
            var codempresa      = Usuario.Codempresa;
            var coddepartamento = Usuario.Coddepartamento;
            var dataajuste      = txtdtAjuste.Text;
            var dataautoriza    = DateTime.Now.ToString();

            autorizado = Parametros.Valor.ToString();


            if (autorizado == "S")
            {
                var aj = new Ajuste();
                aj.AutorizaAjuste(int.Parse(codempresa), int.Parse(coddepartamento), dataajuste, autorizado, nomeautoriza, dataautoriza);

                Gravar();
            }
        }
示例#16
0
        public int BuscarConsecutivo(string tipoDoc, string sucursal_act, string empresaDB)
        {
            using var db = new ProfitAdmin2K8(conn.GetDbContextOptions(empresaDB));
            int numero = 0;

            #region Verificar si maneja sucursales
            if (db.ParEmp.Select(p => p.PFactAlm).FirstOrDefault())
            {
                Almacen obj = db.Almacen.FirstOrDefault(a => a.CoAlma == sucursal_act);
                numero = BuscarCampoProximoNumeroTabla(obj, tipoDoc);
            }
            else
            {
                ParEmp obj = db.ParEmp.FirstOrDefault();
                numero = BuscarCampoProximoNumeroTabla(obj, tipoDoc);
            }
            #endregion

            #region Buscar consecutivo en tablas
            while (true)
            {
                #region Busqueda movimientos en documentos
                if (tipoDoc != "DEVO" && tipoDoc != "AJUS" && tipoDoc != "COBR" && tipoDoc != "MOVC" && tipoDoc != "MOVB" && tipoDoc != "NREC")
                {
                    DocumCc documcc = DocumCCRepositorio.GetDocumento(numero, tipoDoc, empresaDB);
                    if (documcc != null)
                    {
                        numero++;
                    }
                    else
                    {
                        break;
                    }
                }
                #endregion

                #region Busqueda movimientos en ajustes de inventario
                if (tipoDoc == "AJUS")
                {
                    Ajuste ajuste = db.Ajuste.FirstOrDefault(a => a.AjueNum == numero);
                    if (ajuste != null)
                    {
                        numero++;
                    }
                    else
                    {
                        break;
                    }
                }
                #endregion

                #region Busqueda movimientos en devoluciones de clientes
                if (tipoDoc == "DEVO")
                {
                    DevCli devCli = db.DevCli.FirstOrDefault(dc => dc.FactNum == numero);
                    if (devCli != null)
                    {
                        numero++;
                    }
                    else
                    {
                        break;
                    }
                }
                #endregion

                #region Busqueda movimientos en cobros
                if (tipoDoc == "COBR")
                {
                    //EncabCobro cobro = cobrosRepositorio.Find(numero, empresaDB);
                    Cobros cobro = db.Cobros.FirstOrDefault(c => c.CobNum == numero);
                    if (cobro != null)
                    {
                        numero++;
                    }
                    else
                    {
                        break;
                    }
                }
                #endregion

                #region Busqueda movimientos en caja
                if (tipoDoc == "MOVC")
                {
                    MovCaj movcaja = MovCRepositorio.Find(numero, empresaDB);
                    if (movcaja != null)
                    {
                        numero++;
                    }
                    else
                    {
                        break;
                    }
                }
                #endregion

                #region Busqueda movimientos en bancos
                if (tipoDoc == "MOVB")
                {
                    MovBan movbanco = MovBRepositorio.Find(numero, empresaDB);
                    if (movbanco != null)
                    {
                        numero++;
                    }
                    else
                    {
                        break;
                    }
                }
                #endregion

                #region Busqueda notas de recepcion
                if (tipoDoc == "NREC")
                {
                    EncabNotRec notRec = NotRRepositorio.Find(numero, empresaDB);
                    if (notRec != null)
                    {
                        numero++;
                    }
                    else
                    {
                        break;
                    }
                }
                #endregion
            }
            #endregion

            return(numero);
        }
示例#17
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            Ajuste ajutes = new Ajuste(
                0,
                dtFecha.Text + " 00:00:00",
                Convert.ToDouble(txtTotal.Text),
                "",
                "A"
                );

            using (ajutes) {
                ajutes.createAjuste();
                List <Ajuste> general = ajutes.getlastAjustes(dtFecha.Text + " 00:00:00", Convert.ToDouble(txtTotal.Text));
                det_ajustes   detalle = new det_ajustes();
                detalle.Id        = 0;
                detalle.Id_ajuste = general[0].Id;
                Kardex     kardex   = new Kardex();
                Product    producto = new Product();
                Afecta_inv afecta   = new Afecta_inv();
                int        nuevo    = 0;
                folio = general[0].Id.ToString();
                foreach (DataGridViewRow row in dtProductos.Rows)
                {
                    detalle.Id_producto = Convert.ToInt16(row.Cells["id_producto"].Value.ToString());
                    detalle.P_u         = Convert.ToDouble(row.Cells["costo"].Value.ToString());
                    detalle.Cantidad    = Convert.ToInt16(row.Cells["cantidad"].Value.ToString());
                    detalle.Total       = Convert.ToDouble(row.Cells["total"].Value.ToString());
                    using (detalle)
                    {
                        detalle.craeteDet_ajuste();
                        using (producto)
                        {
                            List <Product> prod = producto.getProductById(Convert.ToInt16(row.Cells["id_producto"].Value.ToString()));
                            nuevo = Convert.ToInt16(row.Cells["cantidad"].Value.ToString());
                            while (prod[0].Parent != "0")
                            {
                                nuevo = nuevo * Convert.ToInt16(prod[0].C_unidad);
                                prod  = producto.getProductById(Convert.ToInt16(prod[0].Parent));
                            }
                            kardex.Fecha        = Convert.ToDateTime(dtFecha.Text).ToString();
                            kardex.Id_producto  = prod[0].Id;
                            kardex.Tipo         = "A";
                            kardex.Cantidad     = nuevo;
                            kardex.Antes        = prod[0].Existencia;
                            kardex.Id           = 0;
                            kardex.Id_documento = Convert.ToInt16(folio);
                            using (kardex)
                            {
                                kardex.CreateKardex();
                                List <Kardex> numeracion = kardex.getidKardex(prod[0].Id, Convert.ToInt16(folio), "A");
                                using (afecta)
                                {
                                    afecta.Ajusta(numeracion[0].Id);
                                }
                            }
                        }
                    }
                }
            }



            this.Close();
        }
示例#18
0
        public static string ParadaDados(int qtdDados, Facilidade facilidade, Ajuste bonus, Ajuste penalidade)
        {
            jogada   = new StringBuilder();
            sucessos = 0;
            noveFora = 0;

            int resultadoDado = 0;
            int zeroOuro      = 0;

            int dificuldade = ((int)facilidade + (int)bonus) - (int)penalidade;

            if (dificuldade == 0)
            {
                dificuldade = 1;
            }

            if (dificuldade > 0)
            {
                for (int i = 1; i <= qtdDados; i++)
                {
                    resultadoDado = RolarDados(Dado.D10);

                    if (resultadoDado <= dificuldade)
                    {
                        sucessos++;
                    }

                    if (resultadoDado == 0)
                    {
                        zeroOuro++;
                    }

                    if (resultadoDado == 9)
                    {
                        noveFora++;
                    }

                    FormatarResultadoDado(resultadoDado, i == qtdDados);
                }

                if (zeroOuro > 0)
                {
                    jogada.AppendLine("");
                    jogada.Append("Dados extra: ");

                    for (int i = 0; i < zeroOuro; i++)
                    {
                        resultadoDado = RolarDados(Dado.D10);

                        if (resultadoDado <= dificuldade)
                        {
                            sucessos++;
                        }

                        if (resultadoDado == 9)
                        {
                            noveFora++;
                        }

                        FormatarResultadoDado(resultadoDado, i == zeroOuro);
                    }
                }

                VerificarResultado();
            }
            else
            {
                jogada.Clear();
                jogada.Append("Falha crítica automática!");
            }

            return(jogada.ToString());
        }
示例#19
0
        private void Gravar()
        {
            var hoje            = DateTime.Now;
            var codempresa      = Usuario.Codempresa.ToString();
            var dataajuste      = txtdtAjuste.Text.Trim();
            var coddepartamento = Usuario.Coddepartamento.ToString();
            var respinclusao    = Usuario.Nomeusuario.ToString();
            var datainclusao    = hoje.ToString();

            DateTime data = Convert.ToDateTime(txtdtAjuste.Text.Trim());

            var vmes = data.ToString("MM");
            int mes  = int.Parse(vmes);

            var vano = data.ToString("yyyy");
            int ano  = int.Parse(vano);

            var Est = new Estoque();

            var mesanterior = Est.BuscaMesAnterior(mes, ano);

            vmes = mesanterior.Substring(0, 2);
            vano = mesanterior.Substring(2, 4);

            try
            {
                int total = Grid.Rows.Count;
                int i;
                var Produto    = "";
                var nome       = "";
                var qt         = "0";
                var motivo     = "";
                var qtestava   = "0";
                var qtajustada = "0";
                var acao       = "";

                DialogResult result = MessageBox.Show("Deseja Realmente Ajustar o Estoque Desses Itens ?", "Atenção !!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                if (result == DialogResult.Yes)
                {
                    var Linhas = Grid.Rows.Count;

                    foreach (DataGridViewRow linha1 in Grid.Rows)
                    {
                        Produto    = linha1.Cells[0].Value.ToString();
                        nome       = linha1.Cells[1].Value.ToString();
                        qt         = linha1.Cells[2].Value.ToString();
                        qtajustada = qt;
                        motivo     = linha1.Cells[3].Value.ToString();

                        //-> Buscando a quantidade do mes anterior
                        qtestava = Est.Anterior(int.Parse(codempresa), int.Parse(coddepartamento), int.Parse(vmes), int.Parse(vano), int.Parse(Produto)).ToString();

                        int NumLetras = motivo.Trim().Length;
                        if (NumLetras < 27)
                        {
                            MessageBox.Show("Quantidade caracteres insuficientes na descrição de Motivo "); txtMotivo.Focus(); return;
                        }

                        var item = new Ajuste(int.Parse(codempresa), int.Parse(coddepartamento), dataajuste, int.Parse(Produto), int.Parse(qt), motivo, respinclusao.ToString(), datainclusao);

                        var dr_i = Ajuste.SelectAjuste(int.Parse(codempresa), int.Parse(coddepartamento), dataajuste, int.Parse(Produto));
                        if (dr_i.HasRows)
                        {
                            while (dr_i.Read())
                            {
                                var vqtestava  = dr_i.GetString(dr_i.GetOrdinal("QUANTIDADE"));
                                var autorizado = dr_i.GetString(dr_i.GetOrdinal("AUTORIZADO"));

                                if (autorizado == "S")
                                {
                                    acao = "ALTERAÇÃO";
                                }
                                else
                                {
                                    acao = "INCLUSÃO";
                                }

                                if (int.Parse(vqtestava) != int.Parse(qtajustada))
                                {
                                    var Log = new Ajuste_Log(int.Parse(codempresa), dataajuste, int.Parse(Produto), int.Parse(coddepartamento), qtestava, qtajustada, motivo, acao, respinclusao, datainclusao);
                                    Log.Insert();
                                }
                                item.Update();
                            }
                        }
                        else
                        {
                            acao = "INCLUSÃO";
                            var Log = new Ajuste_Log(int.Parse(codempresa), dataajuste, int.Parse(Produto), int.Parse(coddepartamento), qtestava, qtajustada, motivo, acao, respinclusao, datainclusao);

                            Log.Insert();
                            item.Insert();
                        }

                        dr_i.Dispose();
                        dr_i.Close();

                        FechaEstoque(Produto);
                    }
                }
                //MessageBox.Show("Registro Gravado com Sucesso !");
            }
            catch (Exception erro)
            {
                MessageBox.Show("Erro na Persistência");
            }

            LimpaTela();
        }