public List <Compañia> listarCompañias()
        {
            List <Compañia>    listado     = new List <Compañia>();
            AccesoDatosManager accesoDatos = new AccesoDatosManager();
            Compañia           Compañia    = new Compañia();

            try
            {
                accesoDatos.setearConsulta("select ID,Nombre,CP,Pais,Provincia,Localidad from COMPAÑIAS");
                accesoDatos.abrirConexion();
                accesoDatos.ejecutarConsulta();
                while (accesoDatos.Lector.Read())
                {
                    Compañia           = new Compañia();
                    Compañia.ID        = (int)accesoDatos.Lector["ID"];
                    Compañia.Nombre    = accesoDatos.Lector["Nombre"].ToString();
                    Compañia.Pais      = accesoDatos.Lector["Pais"].ToString();
                    Compañia.Provincia = accesoDatos.Lector["Provincia"].ToString();
                    Compañia.Localidad = accesoDatos.Lector["Localidad"].ToString();
                    Compañia.CP        = (short)accesoDatos.Lector["CP"];
                    listado.Add(Compañia);
                }
                return(listado);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                accesoDatos.cerrarConexion();
            }
        }
Esempio n. 2
0
        public Boolean Update(ref Cuenta cuenta, Usuario user, String nuevoNombre, Compañia compañia, String nuevaDesc, out String mensaje)
        {
            try
            {
                if (String.IsNullOrWhiteSpace(nuevoNombre))
                {
                    mensaje = "INGRESE UN NOMBRE VALIDO";
                    return(false);
                }
                else
                {
                    mensaje = "";

                    if (cuentaDao.VerificarNombre(cuenta, nuevoNombre, compañia))
                    {
                        cuenta.Nombre  = nuevoNombre;
                        cuenta.Detalle = nuevaDesc;


                        return(cuentaDao.UpdateNameInfo(cuenta, user, out mensaje));
                    }
                    else
                    {
                        mensaje = "Ya existe otra cuenta con este nombre, intente uno diferente";
                        return(false);
                    }
                }
            }
            catch (Exception ex)
            {
                mensaje = ex.Message;
                return(false);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// con esta función vamos a generar un nuevo consecutivo para los asientos,
        /// la idea es que se pueda comparar con el  que tenemos para que los datos
        /// sean lo mas exactos posibles.
        /// </summary>
        /// <param name="compania"></param>
        /// <param name="mesCurso"></param>
        /// <param name="tr"></param>
        /// <returns></returns>
        public int GetConsecutivo(Compañia compania, DateTime mesCurso)
        {
            var sql = "SELECT AC.entry_id+1 FROM accounting_months AS AM " +
                      "JOIN accounting_entries AS AC ON AM.accounting_months_id = AC.accounting_months_id AND AC.convalidated = false " +
                      "AND MONTH(AM.month_report) = @month_report AND YEAR(AM.month_report) = @year_report AND AM.company_id = @company_id GROUP BY AC.entry_id ORDER BY AC.entry_id DESC LIMIT 1";

            using (MySqlTransaction tr = manejador.GetConnection().BeginTransaction(IsolationLevel.Serializable))
            {
                using (MySqlCommand cmd = new MySqlCommand(sql, tr.Connection, tr))
                {
                    cmd.Parameters.AddWithValue("@company_id", compania.Codigo);
                    cmd.Parameters.AddWithValue("@month_report", mesCurso.Month);
                    cmd.Parameters.AddWithValue("@year_report", mesCurso.Year);
                    MySqlDataAdapter da = new MySqlDataAdapter
                    {
                        SelectCommand = cmd
                    };
                    //el siguiente codigo ayuda cuando es el primer registro
                    //al ser el primero la bbdd ratorna vacio y el programa interpreta como nulo
                    //si es nulo cre uno nuevo
                    var retorno = "";
                    if (cmd.ExecuteScalar() != null)
                    {
                        retorno = cmd.ExecuteScalar().ToString();
                    }
                    else
                    {
                        retorno = "1";
                    }
                    return(Convert.ToInt32(retorno));
                }
            }
        }
Esempio n. 4
0
        //1 tipo cuenta 2 guia ,3 cuenta padre
        public void GenerarCuentasDefault(Compañia c, Usuario user)
        {
            var sql = "INSERT INTO accounts (account_name_id,father_account,company_id,account_type,account_guide,editable,updated_by) VALUES" +
                      "(@account_name_id,@father_account,@company_id,@account_type,@account_guide,0,@updated_by);SELECT LAST_INSERT_ID();";

            using var connect      = new MySqlConnection(Manejador.GetConnectionString());
            using MySqlCommand cmd = new MySqlCommand(sql, connect);

            var gestor = new Double[60];

            for (int j = 1; j <= 57; j++)
            {
                MySqlDataAdapter da = new MySqlDataAdapter {
                    SelectCommand = cmd
                };

                var r = EstablecerHijos(gestor, j);
                if (r.Item3 == 0.0)
                {
                    cmd.Parameters.AddWithValue("@father_account", null);
                }
                else
                {
                    cmd.Parameters.AddWithValue("@father_account", r.Item3);
                }

                cmd.Parameters.AddWithValue("@account_name_id", r.Item4);
                cmd.Parameters.AddWithValue("@company_id", c.Codigo);
                cmd.Parameters.AddWithValue("@account_type", r.Item1);
                cmd.Parameters.AddWithValue("@account_guide", r.Item2);
                cmd.Parameters.AddWithValue("@updated_by", 1);
                gestor[j] = Convert.ToDouble(cmd.ExecuteScalar());
                cmd.Parameters.Clear();
            }
        }
Esempio n. 5
0
        public void CuentaConSaldos(List <Cuenta> cuentas, Compañia compañia, DateTime dateTime1, DateTime dateTime2)
        {
            var sql = "SELECT account_id, SUM(debito),SUM(credito),SUM(debito_USD), SUM(credito_USD), SUM(cuadrado)  " +
                      "FROM account_info WHERE company_id = @company_id " +
                      "AND month_report between @date1 and @date2 " +
                      "GROUP BY account_id";

            var parametros = new List <Parametro>()
            {
                new Parametro("@company_id", compañia.Codigo),
                new Parametro("@date1", $"{dateTime1.Year}{String.Format("{0, 0:D2}", dateTime1.Month)}"),
                new Parametro("@date2", $"{dateTime2.Year}{String.Format("{0, 0:D2}", dateTime2.Month)}")
            };
            var dt = manejador.Listado(sql, parametros, CommandType.Text);

            foreach (DataRow item in dt.Rows)
            {
                Object[] vs = item.ItemArray;

                cuentas.ForEach((Cuenta) =>
                {
                    if (Cuenta.Id == Convert.ToDouble(vs[0]))
                    {
                        Cuenta.DebitosColones  = Convert.ToDecimal(vs[1]);
                        Cuenta.CreditosColones = Convert.ToDecimal(vs[2]);
                        Cuenta.DebitosDolares  = Convert.ToDecimal(vs[3]);
                        Cuenta.CreditosDolares = Convert.ToDecimal(vs[4]);
                        Cuenta.Cuadrada        = (Convert.ToInt32(vs[5]) == 0) ? false : true;
                        return;
                    }
                });
            }
        }
        public async Task <ActionResult> PostAJob(PuestoTrabajo puesto, Compañia company)
        {
            //confirmando que no vengan datos vacios
            if (company != null && puesto != null)
            {
                puesto.estado = true;
                //agregando puesto
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(Baseurl);
                    client.DefaultRequestHeaders.Clear();
                    //Define request data format
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    var userContent = JsonConvert.SerializeObject(puesto);
                    var buffer      = System.Text.Encoding.UTF8.GetBytes(userContent);
                    var byteContent = new ByteArrayContent(buffer);
                    //definiendo header
                    byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");

                    //Sending request to find web api REST service resource Usuario using HttpClient
                    HttpResponseMessage Res = await client.PostAsync($"api/v1/PuestoTrabajo", byteContent);

                    //Checking the response is successful or not which is sent using HttpClient
                    if (Res.IsSuccessStatusCode)
                    {
                        ViewBag.mensaje = "Se ha agregado un nuevo puesto correctamente.";
                        return(RedirectToAction("Index", "Home", ViewBag.mensaje));
                    }
                }
            }

            return(await PostAJob());
        }
        public void Delete(int id)
        {
            Compañia value = db.Compañia.Find(id);

            db.Compañia.Remove(value);
            db.SaveChanges();
        }
Esempio n. 8
0
        public async Task <IActionResult> Edit(int id, [Bind("CompañiaID,NombreCompañia,DescripcionCompañia,DireccionCompañia,TelefonoCompañia,CompanyEmail,CompanyCreateDate,CiudadID")] Compañia compañia)
        {
            if (id != compañia.CompañiaID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(compañia);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CompañiaExists(compañia.CompañiaID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CiudadID"] = new SelectList(_context.Ciudad, "CiudadID", "CityName", compañia.CiudadID);
            return(View(compañia));
        }
Esempio n. 9
0
        public bool VerificarNombre(Cuenta cuenta, string nuevoNombre, Compañia compañia)
        {
            try
            {
                var sql = "SELECT COUNT(*) FROM accounts AS ac JOIN accounts_names AS an ON ac.account_name_id = an.account_name_id " +
                          "WHERE ac.account_id <> @account_id AND company_id = @company_id AND ac.account_type = 1 AND an.name = @name";
                using (MySqlCommand cmd = new MySqlCommand(sql, manejador.GetConnection()))
                {
                    cmd.Parameters.AddWithValue("@account_id", cuenta.Id);
                    cmd.Parameters.AddWithValue("@company_id", compañia.Codigo);
                    cmd.Parameters.AddWithValue("@name", nuevoNombre);
                    var cot = Convert.ToInt32(cmd.ExecuteScalar());

                    if (cot == 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 10
0
        public ActionResult AddOrEdit(Compañia compañia)
        {
            if (compañia.CompañiaId == 0)
            {
                db.Compañias.Add(compañia);
                var response = DBHelper.SaveChanges(db);
                if (response.Succeeded)
                {
                    CargarImagen(compañia);

                    //return View("Index");
                    return(Json(new { success = true, message = "COMPAÑIA AGREGADA" }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { success = true, message = response.Message }, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                db.Entry(compañia).State = EntityState.Modified;
                var response = DBHelper.SaveChanges(db);
                if (response.Succeeded)
                {
                    CargarImagen(compañia);

                    //return View("Index");
                    return(Json(new { success = true, message = "COMPAÑIA ACTUALIZADA" }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { success = true, message = response.Message }, JsonRequestBehavior.AllowGet));
                }
            }
        }
Esempio n. 11
0
        public List <FechaTransaccion> GetAll(Compañia t, Usuario user)
        {
            try
            {
                List <FechaTransaccion> retorno = new List <FechaTransaccion>();
                var       sql = "SELECT accounting_months_id, month_report, closed FROM accounting_months WHERE company_id = @company_id AND active = 1 ";
                DataTable dt  = manejador.Listado(sql, new Parametro("@company_id", t.Codigo), CommandType.Text);

                foreach (DataRow item in dt.Rows)
                {
                    object[] vs = item.ItemArray;

                    retorno.Add(new FechaTransaccion(
                                    id: Convert.ToDecimal(vs[0]),
                                    fecha: Convert.ToDateTime(vs[1]),
                                    cerrada: Convert.ToBoolean(vs[2])
                                    ));
                }
                return(retorno);
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 12
0
        //static HttpClient client = new HttpClient();

        public Boolean Insert(Compañia t, Usuario user, Compañia copiarDe, out String mensaje)
        {
            try
            {
                ///Mandemos estas verificaciones a la capa entida
                if (!VerificaString.VerificarID(t.NumeroCedula, t.TipoId, out mensaje))
                {
                    return(false);
                }
                if (!VerificaString.IsNullOrWhiteSpace(t.Nombre, "Nombre", out mensaje))
                {
                    return(false);
                }
                if (!VerificaString.ValidarEmail(t.Correo))
                {
                    mensaje = "Formato de correo invalido";
                    return(false);
                }

                if (compañiaDao.Insert(t, user, copiarDe, out mensaje))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                mensaje = ex.Message;
                return(false);
            }
        }
Esempio n. 13
0
        public Boolean Insert(Compañia compania, Usuario user, Compañia copiarMAestroCuenta, out String mensaje)
        {
            if (!Guachi.Consultar(user, VentanaInfo.FormMaestroCompanias, CRUDName.Insertar))
            {
                mensaje = "Acceso denegado!!!";
                return(false);
            }

            var sql = "INSERT INTO companies(company_id,type_id,number_id,name,money_type,op1,op2,address,website,mail,phone_number1,phone_number2,notes,user_id)" +
                      "VALUES(@company_id,@type_id,@number_id,@name,@money_type,@op1,@op2,@address,@website,@mail,@phone_number1,@phone_number2,@notes,@user_id);";

            try
            {
                List <Parametro> lst = new List <Parametro>();
                compania.Codigo = NuevoCodigo();

                lst.Add(new Parametro("@company_id", compania.Codigo));
                lst.Add(new Parametro("@type_id", (int)compania.TipoId));
                lst.Add(new Parametro("@number_id", compania.NumeroCedula));
                lst.Add(new Parametro("@name", compania.Nombre));
                lst.Add(new Parametro("@money_type", (int)compania.TipoMoneda));
                lst.Add(new Parametro("@address", compania.Direccion));
                lst.Add(new Parametro("@website", compania.Web));
                lst.Add(new Parametro("@mail", compania.Correo));
                lst.Add(new Parametro("@phone_number1", compania.Telefono[0]));
                lst.Add(new Parametro("@phone_number2", compania.Telefono[1]));
                lst.Add(new Parametro("@notes", compania.Observaciones));
                lst.Add(new Parametro("@user_id", user.UsuarioId));
                lst.Add(new Parametro("@op1", ((compania is PersonaJuridica) ? ((PersonaJuridica)compania).MyIDRepresentanteLegal : ((PersonaFisica)compania).MyApellidoPaterno)));
                lst.Add(new Parametro("@op2", ((compania is PersonaJuridica) ? ((PersonaJuridica)compania).MyRepresentanteLegal : ((PersonaFisica)compania).MyApellidoMaterno)));

                if (manejador.Ejecutar(sql, lst, CommandType.Text) != 0)
                {
                    if (copiarMAestroCuenta.Codigo == "POR DEFECTO")
                    {
                        GenerarCuentasDefault(compania, user);
                    }
                    else
                    {
                        if (!CopiarMaestroDeCuenta(copiarMAestroCuenta, user, compania))
                        {
                            mensaje = "No se pudo clonar el maestro de cuentas";
                            return(false);
                        }
                    }
                    mensaje = "Se registro la compañia correctamente";
                    return(true);
                }
                else
                {
                    mensaje = "No se pudo ingresar la compañia";
                    return(false);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 14
0
 /// <summary>
 /// Carga los datos!!!
 /// </summary>
 /// <param name="lst"></param>
 /// <param name="compañia"></param>
 /// <param name="usuario"></param>
 private void CargarDatos(Compañia compañia, Usuario usuario)
 {
     _compania   = compañia;
     _lstCuentas = _cuentaCL.GetAll(compañia);;
     _usuario    = usuario;
     lstFechas   = _fechaTransaccion.GetAllActive(compañia, null);
     this.lstMesesAbiertos.DataSource = lstFechas;
     LlenarTabla(false);
 }
Esempio n. 15
0
        public static void GenerarReporte(List <Cuenta> list, Compañia compañia, Usuario usuario,
                                          TipoMonedaCompañia tipoMoneda, String direccion)
        {
            ///Generamos el encabezado

            using (var workbook = new XLWorkbook())
            {
                var worksheet = workbook.Worksheets.Add("Sample Sheet");
                ///Creamos el encabezado
                var column = 1;
                var row    = 1;
                var tpmda  = (compañia.TipoMoneda == TipoMonedaCompañia.Solo_Dolares) ? "Dolares y Colones" : "Colones";
                worksheet.Cell(row++, column).Value = $"{compañia} {compañia.Codigo}";
                worksheet.Cell(row++, column).Value = $"Balance Comprobación en {tpmda} al mes de";
                worksheet.Cell(row++, column).Value = usuario;

                switch (tipoMoneda)
                {
                case TipoMonedaCompañia.Dolares_y_Colones:
                    LLenarNombreCuentas(ref worksheet, 5, ref column, list);
                    LlenarTitulosUnaDivisa(ref worksheet, row, column, list);
                    LlenarSaldoCuentasColones(ref worksheet, 6, column, list);
                    break;

                case TipoMonedaCompañia.Solo_Colones:
                    LLenarNombreCuentas(ref worksheet, 5, ref column, list);
                    LlenarTitulosUnaDivisa(ref worksheet, row, column, list);
                    LlenarSaldoCuentasColones(ref worksheet, 6, column, list);
                    break;

                case TipoMonedaCompañia.Solo_Dolares:
                    LLenarNombreCuentas(ref worksheet, 6, ref column, list);
                    LlenarTitulosAmbasDivisas(ref worksheet, row, column, list);
                    LlenarSaldoCuentasColonesDolares(ref worksheet, 7, column, list);
                    break;

                default:
                    break;
                }


                // var direccion = @"balance_comprobacion_" + compañia.MyNombre.Replace(' ', '_') + ".xlsx";
                workbook.SaveAs(direccion);
                ////Show report
                Process.Start(new ProcessStartInfo(direccion)
                {
                    UseShellExecute = true
                });


                /**
                 *      LLenarNombreCuentas(ref worksheet, 5, ref column, list);
                 *      LlenarTitulosUnaDivisa(ref worksheet, row, column, list);
                 *      LlenarSaldoCuentasColones(ref worksheet, 6, column, list);
                 */
            }
        }
Esempio n. 16
0
 private void CargarCompaniaFormulario(Compañia compañia)
 {
     // lstCompanias.SelectedIndex = -1;
     txtCompaniaBuscada.Text    = compañia.ToString();
     txtCompaniaBuscada.Visible = true;
     txtIdentificacion.Text     = compañia.NumeroCedula;
     txtIdentificacion.Visible  = true;
     btnAceptar.Tag             = compañia;
 }
Esempio n. 17
0
        public DataTable ListadoAsientosDescuadrados(Compañia compañia, FechaTransaccion fechaTransaccion)
        {
            var parametros = new List <Parametro> {
                new Parametro("@company_id", compañia.Codigo),
                new Parametro("@fecha_contable", $"{fechaTransaccion.Fecha.Year}{String.Format("{0, 0:D2}", fechaTransaccion.Fecha.Month)}")
            };
            var sql = "SELECT fecha_contable, entry_id, debito, credito, status FROM estado_asientos WHERE company_id = @company_id AND fecha_contable = @fecha_contable AND debito <> credito; ";

            return(manejador.Listado(sql, parametros, CommandType.Text));
        }
Esempio n. 18
0
 private void CrearMaestroCuenta(string copifromid, Usuario usuario, Compañia newCompany)
 {
     if (copifromid == "POR DEFECTO")
     {
         GenerarCuentasDefault(newCompany, usuario);
     }
     else
     {
         new CuentaDao().CopiarCuentas(copifromid, newCompany, usuario);
     }
 }
Esempio n. 19
0
 public Asiento(int numeroAsiento, List <Transaccion> transaccions, DateTime fechaRegistro, FechaTransaccion fechaAiento,
                Compañia compania, EstadoAsiento estado = EstadoAsiento.Proceso, int Id = 0)
 {
     this.NumeroAsiento = numeroAsiento;
     this.Transaccions  = transaccions;
     this.FechaRegistro = fechaRegistro;
     this.FechaAsiento  = fechaAiento;
     this.Convalidado   = Convalidado;
     this.Compania      = compania;
     this.Id            = Id;
 }
Esempio n. 20
0
        public async Task <IActionResult> Create([Bind("CompañiaID,NombreCompañia,DescripcionCompañia,DireccionCompañia,TelefonoCompañia,CompanyEmail,CompanyCreateDate,CiudadID")] Compañia compañia)
        {
            if (ModelState.IsValid)
            {
                _context.Add(compañia);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CiudadID"] = new SelectList(_context.Ciudad, "CiudadID", "CityName", compañia.CiudadID);
            return(View(compañia));
        }
        /// <summary>
        /// Carga datos y eventos al formulario
        /// </summary>
        /// <param name="usuario"></param>
        public async Task CargarDatos()
        {
            this.lstCompanias.DataSource = new List <Compañia>();

            lstTipoId.SelectedIndex = 0;
            txtCodigoCia.Text       = await Task.Run(() => compañiaCL.NuevoCodigo());

            var lstCompanies = await Task.Run(() => compañiaCL.GetAllAsync(GlobalConfig.Usuario));

            //eventos
            this.lstTipoId.KeyPress              += new System.Windows.Forms.KeyPressEventHandler(this.SiguienteEnter);
            this.txtBoxID.KeyPress               += new System.Windows.Forms.KeyPressEventHandler(this.SiguienteEnter);
            this.txtBoxNombre.KeyPress           += new System.Windows.Forms.KeyPressEventHandler(this.SiguienteEnter);
            this.txtBoxOp1.KeyPress              += new System.Windows.Forms.KeyPressEventHandler(this.SiguienteEnter);
            this.txtBoxOp2.KeyPress              += new System.Windows.Forms.KeyPressEventHandler(this.SiguienteEnter);
            this.txtBoxDireccion.KeyPress        += new System.Windows.Forms.KeyPressEventHandler(this.SiguienteEnter);
            this.txtBoxTelefono1.KeyPress        += new System.Windows.Forms.KeyPressEventHandler(this.SiguienteEnter);
            this.txtBoxTelefono2.KeyPress        += new System.Windows.Forms.KeyPressEventHandler(this.SiguienteEnter);
            this.lstMovimientosRegistro.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.SiguienteEnter);
            // this.panelOps.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.SiguienteEnter);
            //this.btnAgregaTelefono.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.SiguienteEnter);
            this.txtBoxWeb.KeyPress           += new System.Windows.Forms.KeyPressEventHandler(this.SiguienteEnter);
            this.txtBoxMail.KeyPress          += new System.Windows.Forms.KeyPressEventHandler(this.SiguienteEnter);
            this.txtBoxObservaciones.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.SiguienteEnter);
            //this.txtBoxID.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtBoxID_KeyPress);

            lst = (from alias in lstCompanies orderby alias.Codigo descending select alias).ToList <Compañia>();
            this.lstMovimientosRegistro.SelectedIndex = 0;
            this.lstCompanias.DataSource = lst;

            /**
             *
             * en eL paso de asignar la lista de compañias al control de donde se podra seleccionar para crear un maestro de
             * cuentas a partir de la compañia seleccionada, se tuvo que duplicar la copia, porque el copilador interpreta esta como solo una
             * y cuando se selecciona una opcion en un control en el otro cambia, esto porque ambas listas apuntas al mismo espacio en memoria
             *
             */

            ///Creamos una nueva lista para almacenar las compañias que podran ser usadas para duplicar su maestro de cuentas
            ///Y agregamos una nueva compañia con el nombre maestro  de cuentas por defecto, esta sera la opcion que el
            ///usuario puede marcar para que no duplique de ninguna otra compañia
            var lstMCuentas = new Compañia[lst.Count + 1];

            lstMCuentas[0] = new PersonaJuridica()
            {
                Nombre = "", Codigo = "POR DEFECTO"
            };
            ///Copiamos la lista de cuentas a la nueva lista para guardarla en el seleccionador de maestros de cuenta
            lst.CopyTo(lstMCuentas, 1);
            lstCopiarMaestroCuentas.DataSource      = lstMCuentas;
            this.lstCompanias.SelectedIndex         = -1;
            this.lstCompanias.SelectedIndexChanged += new System.EventHandler(this.LstCompanias_SelectedIndexChanged);
        }
Esempio n. 22
0
        public async Task <bool> UpdateAsync(Compañia t, Usuario user)
        {
            try
            {
                HttpResponseMessage response = await RESTClient.ApiClient.PutAsJsonAsync(
                    $"api/products/{t.Codigo}", t);

                response.EnsureSuccessStatusCode();
                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    return(true);
                }
                else
                {
                    throw new Exception("No se pudo actualizar");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            //try
            //{
            //    if (!VerificaString.VerificarID(t.NumeroCedula, t.TipoId, out mensaje))
            //    {
            //        return false;
            //    }
            //    if (!VerificaString.IsNullOrWhiteSpace(t.Nombre, "Nombre", out mensaje))
            //    {
            //        return false;
            //    }
            //    if (!VerificaString.ValidarEmail(t.Correo))
            //    {
            //        mensaje = "Formato de correo invalido";
            //        return false;
            //    }

            //    if (compañiaDao.Update(t, user, out mensaje))
            //    {
            //        return true;
            //    }
            //    else
            //    {
            //        return false;
            //    }
            //}
            //catch (Exception ex)
            //{
            //    mensaje = ex.Message;
            //    return false;
            //}
        }
Esempio n. 23
0
        public DataTable GetDataTable(Compañia t, Usuario user)
        {
            var sql = "SET lc_time_names = 'es_ES';" +
                      "SELECT DATE_FORMAT(ac.month_report,'%M %Y') AS 'Mes'," +
                      "IF(ac.closed, 'Cerrado','Abierto') AS 'Estado'," +
                      "DATE_FORMAT(ac.created_at,'%d %M %Y') AS 'Creado '," +
                      "IF(ac.closed,DATE_FORMAT(ac.updated_at,'%d %M %Y'), '') AS 'Cerrado'," +
                      "(SELECT user_name FROM users us WHERE  us.user_id = ac.updated_by  LIMIT 1) AS 'Usuario' " +
                      "FROM accounting_months ac " +
                      "WHERE ac.company_id = @company_id AND ac.active = 1 ORDER BY ac.month_report DESC";

            return(manejador.Listado(sql, new Parametro("@company_id", t.Codigo), CommandType.Text));
        }
Esempio n. 24
0
        public bool GenerarSaldosEnCeroParaCierreDeAsieto(Cuenta cuentaSaldoAsiento, Compañia compañia, Usuario usuario, int limitSecy)
        {
            using (MySqlTransaction tr = manejador.GetConnection().BeginTransaction(IsolationLevel.Serializable))
            {
                try
                {
                    var sql1 = "UPDATE accounts SET previous_balance_c = 0 , previous_balance_d = 0, updated_by = @updated_by WHERE company_id = @company_id LIMIT @limit_sec";
                    using (MySqlCommand cmd = new MySqlCommand(sql1, tr.Connection, tr))
                    {
                        MySqlDataAdapter da = new MySqlDataAdapter
                        {
                            SelectCommand = cmd
                        };
                        cmd.Parameters.AddWithValue("@updated_by", usuario.UsuarioId);
                        cmd.Parameters.AddWithValue("@company_id", compañia.Codigo);
                        cmd.Parameters.AddWithValue("@limit_sec", limitSecy);
                        cmd.ExecuteNonQuery();
                    }


                    ///Insertamos la cuenta en  la base de datos
                    ///este query nos devuelve el id de la nueva cuenta
                    var sql2 = "UPDATE accounts SET previous_balance_c = @previous_balance_c , previous_balance_d = @previous_balance_c, updated_by = @updated_by WHERE account_id = @account_id AND company_id = @company_id LIMIT 1";
                    using (MySqlCommand cmd = new MySqlCommand(sql2, tr.Connection, tr))
                    {
                        cmd.CommandType = CommandType.Text;
                        cmd.Parameters.AddWithValue("@previous_balance_c", cuentaSaldoAsiento.SaldoActualColones);
                        cmd.Parameters.AddWithValue("@previous_balance_d", cuentaSaldoAsiento.SaldoActualDolares);
                        cmd.Parameters.AddWithValue("@updated_by", usuario.UsuarioId);
                        cmd.Parameters.AddWithValue("@account_id", cuentaSaldoAsiento.Id);
                        cmd.Parameters.AddWithValue("@company_id", compañia.Codigo);
                        MySqlDataAdapter da = new MySqlDataAdapter
                        {
                            SelectCommand = cmd
                        };

                        if (cmd.ExecuteNonQuery() != 1)
                        {
                            throw new Exception("Ocurrio un error al guardar el saldo del asiento de cierre");
                        }
                        tr.Commit();
                        return(true);
                    }
                }
                catch (Exception ex)
                {
                    tr.Rollback();
                    throw ex;
                }
            }
        }
Esempio n. 25
0
        public static void GenerarReporte(List <Cuenta> list, String direccion, Compañia compañia, Usuario usuario,
                                          FechaTransaccion mesFinal, Boolean GenerarSaldo = false)
        {
            using (var workbook = new XLWorkbook())
            {
                var worksheet = workbook.Worksheets.Add("Sample Sheet");
                ///Creamos el encabezado
                var column = 1;
                var row    = 1;
                var tpmda  = (compañia.TipoMoneda == TipoMonedaCompañia.Solo_Dolares) ? "Dolares y Colones" : "Colones";
                worksheet.Cell(row++, column).Value = $"{compañia}";
                worksheet.Cell(row++, column).Value = $"Maestro de Cuentas en {tpmda},  a {mesFinal}";
                worksheet.Cell(row++, column).Value = $"usuario {usuario.ToString()}";


                LLenarNombreCuentas(ref worksheet, row, ref column, list);


                if (GenerarSaldo)
                {
                    switch (compañia.TipoMoneda)
                    {
                    case TipoMonedaCompañia.Dolares_y_Colones:
                        LlenarTitulosUnaDivisa(ref worksheet, row, column, list);
                        LlenarSaldoCuentasColones(ref worksheet, row, column, list);
                        break;

                    case TipoMonedaCompañia.Solo_Colones:
                        LlenarTitulosUnaDivisa(ref worksheet, row, column, list);
                        LlenarSaldoCuentasColones(ref worksheet, row, column, list);
                        break;

                    case TipoMonedaCompañia.Solo_Dolares:
                        LlenarTitulosAmbasDivisas(ref worksheet, row, column, list);
                        LlenarSaldoCuentasColonesDolares(ref worksheet, row, column, list);
                        break;

                    default:
                        break;
                    }
                }


                workbook.SaveAs(direccion);
                ////Show report
                Process.Start(new ProcessStartInfo(direccion)
                {
                    UseShellExecute = true
                });
            }
        }
Esempio n. 26
0
        /// <summary>
        /// Esta funcion nos permite conocer si todos los asientos estas cuadrados
        /// o si hay alguno que este pendiente de cuadrar
        /// nos devovera los asientos pendientes de cuadrar
        /// </summary>
        /// <param name="fecha"></param>
        /// <param name="compania"></param>
        /// <returns></returns>
        public List <Asiento> GetMesesPendientes(FechaTransaccion fecha, Compañia compania)
        {
            var dummy = new List <Asiento>();

            foreach (var item in GetPorFecha(fecha, compania, traerInfoCompleta: true))
            {
                if (item.Estado == EstadoAsiento.Proceso)
                {
                    dummy.Add(item);
                }
            }

            return(dummy);
        }
Esempio n. 27
0
        public Boolean Update(Compañia compania, Usuario user, out String mensaje)
        {
            if (!Guachi.Consultar(user, VentanaInfo.FormMaestroCompanias, CRUDName.Actualizar))
            {
                mensaje = "Acceso denegado!!!";
                return(false);
            }


            var message = compania.Nombre + " ACTUAIZADA CORRECTAMENTE";
            var sql     = "UPDATE companies SET " +
                          "name=@name,money_type=@money_type,op1=@op1,op2=@op2,address=@address,website=@website,mail=@mail,phone_number1=@phone_number1," +
                          "phone_number2=@phone_number2,notes=@notes,user_id=@user_id,active=@active WHERE company_id=@company_id";

            try
            {
                List <Parametro> lst = new List <Parametro>();

                lst.Add(new Parametro("@company_id", compania.Codigo));
                lst.Add(new Parametro("@name", compania.Nombre));
                lst.Add(new Parametro("@money_type", compania.TipoMoneda));
                lst.Add(new Parametro("address", compania.Direccion));
                lst.Add(new Parametro("@website", compania.Web));
                lst.Add(new Parametro("@mail", compania.Correo));
                lst.Add(new Parametro("@phone_number1", compania.Telefono[0]));
                lst.Add(new Parametro("@phone_number2", compania.Telefono[1]));
                lst.Add(new Parametro("@notes", compania.Observaciones));
                lst.Add(new Parametro("@user_id", user.UsuarioId));
                lst.Add(new Parametro("@active", compania.Activo));
                lst.Add(new Parametro("@op1", ((compania is PersonaJuridica) ? ((PersonaJuridica)compania).MyRepresentanteLegal : ((PersonaFisica)compania).MyApellidoPaterno)));
                lst.Add(new Parametro("@op2", ((compania is PersonaJuridica) ? ((PersonaJuridica)compania).MyIDRepresentanteLegal : ((PersonaFisica)compania).MyApellidoMaterno)));

                if (manejador.Ejecutar(sql, lst, CommandType.Text) == 0)
                {
                    mensaje = "No se pudo actualizar la compañia";
                    return(false);
                }
                else
                {
                    mensaje = "Se actualizo la compañia";
                    return(true);
                }
            }
            catch (Exception ex)
            {
                mensaje = ex.Message;
                return(false);
            }
        }
Esempio n. 28
0
        public IActionResult Put([FromBody] Compañia compania)
        {
            Usuario user = new Usuario()
            {
                UsuarioId = 1
            };

            try {
                _companyDao.Update(compania, user);
                return(Ok());
            } catch (System.Exception) {
                //todo log
                return(NotFound());
            }
        }
Esempio n. 29
0
        public ActionResult Delete(int id)
        {
            Compañia compañia = db.Compañias.Where(x => x.CompañiaId == id).FirstOrDefault();

            db.Compañias.Remove(compañia);
            var response = DBHelper.SaveChanges(db);

            if (response.Succeeded)
            {
                return(Json(new { success = true, message = "COMPAÑIA ELIMINADA" }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { success = true, message = response.Message }, JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 30
0
        public List <FechaTransaccion> GetAllActive(Compañia t, Usuario user, Boolean traerAsientos = false)
        {
            List <FechaTransaccion> retorno = GetAll(t, user);
            var Lstretorno = (from c in retorno where c.Cerrada == false select c).ToList <FechaTransaccion>();

            if (traerAsientos)
            {
                foreach (var item in Lstretorno)
                {
                    var lstAsiento = _asientoCL.GetPorFecha(item, t, traerInfoCompleta: true, traerNuevo: false);

                    item.Asientos = lstAsiento;
                }
            }

            return(Lstretorno);
        }