public ActionResult Delete(ImpuestosModel model)
        {
            if (sesion == null)
            {
                sesion = SessionDB.start(Request, Response, false, db);
            }
            model.sesion = sesion;

            if (!sesion.permisos.havePermission(Privileges[0].Permiso))
            {
                return(Json(new { msg = Notification.notAccess() }));
            }

            try
            {
                if (model.Delete())
                {
                    Log.write(this, "Delete", LOG.BORRADO, "SQL:" + model.sql, sesion);
                    return(Json(new { msg = Notification.Succes("Rango de impuestos ELIMINADO con exito: " + model.Rango) }));
                }
                else
                {
                    Log.write(this, "Delete", LOG.ERROR, "SQL:" + model.sql, sesion);
                    return(Json(new { msg = Notification.Error("Error al Eliminar el Rango de impuestos = " + model.Rango) }));
                }
            }
            catch (Exception e)
            {
                return(Json(new { msg = Notification.Error(e.Message) }));
            }
        }
        public ActionResult Save(ImpuestosModel model)
        {
            if (sesion == null)
            {
                sesion = SessionDB.start(Request, Response, false, db);
            }
            model.sesion = sesion;

            if (!sesion.permisos.havePermission(Privileges[0].Permiso))
            {
                return(Json(new { msg = Notification.notAccess() }));
            }

            try
            {
                if (model.Save())
                {
                    Log.write(this, "Save", LOG.EDICION, "SQL:" + model.sql, sesion);
                    return(Json(new { msg = Notification.Succes("Rango guardado con exito: " + model.Rango) }));
                }
                else
                {
                    Log.write(this, "Save", LOG.ERROR, "SQL:" + model.sql, sesion);
                    return(Json(new { msg = Notification.Error(" Error al guardar Rango = " + model.Rango) }));
                }
            }
            catch (Exception e)
            {
                return(Json(new { msg = Notification.Error(e.Message) }));
            }
        }
        public ActionResult Add(ImpuestosModel model)
        {
            if (sesion == null)
            {
                sesion = SessionDB.start(Request, Response, false, db);
            }
            model.sesion = sesion;

            if (!sesion.permisos.havePermission(Privileges[0].Permiso))
            {
                return(Json(new { msg = Notification.notAccess() }));
            }

            try
            {
                if (model.Add())
                {
                    Log.write(this, "Add", LOG.REGISTRO, "SQL:" + model.sql, sesion);
                    return(Json(new { msg = Notification.Succes("Registro agregado con exito: " + model.Rango) }));
                }
                else
                {
                    Log.write(this, "Add", LOG.ERROR, "SQL:" + model.sql, sesion);
                    return(Json(new { msg = Notification.Error("Error al agregar:" + model.Rango) }));
                }
            }
            catch (Exception e)
            {
                return(Json(new { msg = Factory.Notification.Error(e.Message) }));
            }
        }
 public ActionResult Edit(ImpuestosModel model)
 {
     if (model.Edit())
     {
         return(Json(new JavaScriptSerializer().Serialize(model)));
     }
     return(View());
 }
        public async Task <IActionResult> Actualizar(int id, [FromBody] ImpuestosModel impuesto)
        {
            var impuestoActualizado = await _impuestosService.ActualizarImpuesto(id, Mapper.Map <Impuesto>(impuesto));

            if (impuestoActualizado != null)
            {
                return(Ok(impuestoActualizado));
            }
            else
            {
                return(NotFound());
            }
        }
        public async Task <IActionResult> Nuevo(int nominaId, [FromBody] ImpuestosModel impuesto)
        {
            var impuestoGrabado = await _impuestosService.NuevoImpuesto(nominaId, Mapper.Map <Impuesto>(impuesto));

            if (impuestoGrabado != null)
            {
                return(Ok(impuestoGrabado));
            }
            else
            {
                return(BadRequest());
            }
        }
Exemple #7
0
        private void Factura_Load(object sender, EventArgs e)
        {
            string[] str = Properties.Resources.Campos_Factura.Replace("\r", "").Split('\n');

            TablaGrilla = new DataTable();
            TablaGrilla.Columns.Add(new DataColumn()
            {
                ColumnName = "Marca", DataType = typeof(bool)
            });
            foreach (string valor in str)
            {
                string strValor = valor.Split('|')[0];
                FacturaModel.AddField(strValor);
                TablaGrilla.Columns.Add(new DataColumn()
                {
                    ColumnName = strValor
                });
            }

            TablaGrilla.Columns.Add(new DataColumn()
            {
                ColumnName = "RUC", DataType = typeof(string)
            });
            TablaGrilla.Columns.Add(new DataColumn()
            {
                ColumnName = "data", DataType = typeof(OdooRecord)
            });
            TablaGrilla.Columns.Add(new DataColumn()
            {
                ColumnName = "tipo_doc", DataType = typeof(string)
            });


            str = Properties.Resources.Campos_Linea_Impresora.Replace("\r", "").Split('\n');

            TablaImpresora = new DataTable();
            foreach (string valor in str)
            {
                string strCampo = valor.Split('|')[0];
                ImpresoraModel.AddField(strCampo);
                TablaImpresora.Columns.Add(new DataColumn()
                {
                    ColumnName = strCampo
                });
            }
            TablaImpresora.Columns.Add(new DataColumn()
            {
                ColumnName = "data", DataType = typeof(OdooRecord)
            });


            str           = Properties.Resources.Campos_Detalles.Replace("\r", "").Split('\n');
            TablaDetalles = new DataTable();
            foreach (string valor in str)
            {
                string strCampo = valor.Split('|')[0];
                DetalleModel.AddField(strCampo);
                TablaDetalles.Columns.Add(new DataColumn()
                {
                    ColumnName = strCampo
                });
            }


            str            = Properties.Resources.Campos_Impuestos.Replace("\r", "").Split('\n');
            TablaImpuestos = new DataTable();
            foreach (string valor in str)
            {
                string strCampo = valor.Split('|')[0];
                ImpuestosModel.AddField(strCampo);
                TablaImpuestos.Columns.Add(new DataColumn()
                {
                    ColumnName = strCampo
                });
            }


            spcPrincipal.Panel2Collapsed = true;
            this.Size = new Size(676, this.Size.Height);

            tsbBajarFacturas_Click(null, null);
        }
Exemple #8
0
        private void InicializarTablas()
        {
            Cursor = Cursors.WaitCursor;

            TablaGrilla.Clear();
            TablaDetalles.Clear();
            TablaImpresora.Clear();
            TablaImpuestos.Clear();

            #region Facturas
            object[] filter = new object[] {
                new object[] { "state", "!=", "proforma" },
                new object[] { "state", "!=", "proforma2" },
                new object[] { "state", "!=", "cancel" },
                new object[] { "state", "!=", "draft" },
                new object[] { "type", "like", "out" },
                new object[] { "date_invoice", ">=", dtpFiltroFecha.Value.ToString("yyyy-MM-dd HH:mm:ss") },
                new object[] { "date_invoice", "<", dtpFechaHasta.Value.AddDays(1).ToString("yyyy-MM-dd HH:mm:ss") }
            };

            //Inicializar Tablas


            /*****************************************/
            string[]          str     = Properties.Resources.Campos_Factura.Replace("\r", "").Split('\n');
            List <OdooRecord> records = FacturaModel.Search(filter);

            List <List <object> > lista = new List <List <object> >();

            foreach (OdooRecord record in records)
            {
                int           intIdPartner = 0;
                List <object> listaInterna = new List <object>();
                listaInterna.Add(false);

                foreach (string strDato in str)
                {
                    string[] strValores = strDato.Split('|');
                    string   strValor   = strValores[0];

                    object objDato = record.GetValue(strValor);

                    if (objDato is object[])
                    {
                        object[] objValArr = objDato as object[];

                        if (objValArr.Length == 0)
                        {
                            listaInterna.Add(DBNull.Value);
                        }
                        else
                        {
                            int intIndex = Convert.ToInt32(strValores[1]);
                            listaInterna.Add(objValArr[intIndex]);

                            if (strValor == "partner_id")
                            {
                                intIdPartner = Convert.ToInt32(objValArr[0]);
                            }
                        }
                    }
                    else
                    {
                        if (strDato == "date_invoice")
                        {
                            DateTime dt = DateTime.MinValue;
                            DateTime.TryParse(objDato.ToString(), out dt);
                            objDato = dt.ToString("dd/MM/yyyy");
                        }
                        else if (strDato == "amount_total")
                        {
                            decimal dec = decimal.MinValue;
                            decimal.TryParse(objDato.ToString(), out dec);
                            objDato = dec.ToString("$#,##0.00");
                        }

                        listaInterna.Add(objDato);
                    }
                }

                listaInterna.Add(TomarRUCPartner(intIdPartner));

                listaInterna.Add(record);

                lista.Add(listaInterna);
            }

            //dtgPrincipal.Columns.Add(new DataGridViewCheckBoxColumn() { HeaderText = "Marca", DataPropertyName = "Marca", Width = 50 });
            lista.ForEach(s => TablaGrilla.Rows.Add(s.ToArray()));



            TablaGrilla.AsEnumerable().ToList().ForEach(s => s["tipo_doc"] = s["refund_type"].ToString() == "credit" || s["type"].ToString().Contains("refund") ? "Nota de Crédito" : s["refund_type"].ToString() == "debit" ? "Nota de Débito" : "Factura");

            dtgPrincipal.DataSource          = new DataView(TablaGrilla, "printer_list_ids is  null", "Id", DataViewRowState.CurrentRows);
            ColFecha.DefaultCellStyle.Format = "dd/MM/yyyy";
            dtgTodas.DataSource = new DataView(TablaGrilla, "printer_list_ids is not null", "Id Desc", DataViewRowState.CurrentRows);

            tsbImprimir.Enabled = dtgPrincipal.Rows.Count > 0;

            #endregion

            #region Referencias de la factura



            foreach (DataRow dtr in TablaGrilla.Rows)
            {
                str    = Properties.Resources.Campos_Linea_Impresora.Replace("\r", "").Split('\n');
                filter = new object[] {
                    new object[] { "account_id.id", "=", dtr["Id"].ToString() },
                };

                records = ImpresoraModel.Search(filter);
                List <List <object> > listaImpresora = new List <List <object> >();
                List <List <object> > listaDetalle   = new List <List <object> >();

                foreach (OdooRecord record in records)
                {
                    List <object> listaInterna = new List <object>();

                    foreach (string strDato in str)
                    {
                        string[] strValores = strDato.Split('|');
                        string   strValor   = strValores[0];

                        object objDato = record.GetValue(strValor);

                        if (objDato is object[])
                        {
                            object[] objValArr = objDato as object[];

                            if (objValArr.Length == 0)
                            {
                                listaInterna.Add(DBNull.Value);
                            }
                            else
                            {
                                int intIndex = Convert.ToInt32(strValores[1]);
                                listaInterna.Add(objValArr[intIndex]);
                            }
                        }
                        else
                        {
                            listaInterna.Add(objDato);
                        }
                    }

                    listaInterna.Add(record);
                    listaImpresora.Add(listaInterna);
                }

                listaImpresora.ForEach(s => TablaImpresora.Rows.Add(s.ToArray()));


                str = Properties.Resources.Campos_Detalles.Replace("\r", "").Split('\n');

                filter = new object[] {
                    new object[] { "invoice_id.id", "=", dtr["Id"].ToString() },
                };
                records = DetalleModel.Search(filter);

                foreach (OdooRecord record in records)
                {
                    List <object> listaInterna = new List <object>();

                    foreach (string strDato in str)
                    {
                        string[] strValores = strDato.Split('|');
                        string   strValor   = strValores[0];

                        object objDato = record.GetValue(strValor);

                        if (objDato is object[] || objDato is int[])
                        {
                            dynamic objValArr = objDato;

                            if (objValArr.Length == 0)
                            {
                                listaInterna.Add(DBNull.Value);
                            }
                            else
                            {
                                if (strValores.Length > 1)
                                {
                                    int intIndex = Convert.ToInt32(strValores[1]);
                                    listaInterna.Add(objValArr[intIndex]);
                                }
                                else
                                {
                                    listaInterna.Add(objValArr[0]);
                                }
                            }
                        }
                        else
                        {
                            listaInterna.Add(objDato);
                        }
                    }


                    listaDetalle.Add(listaInterna);
                }

                listaDetalle.ForEach(s => TablaDetalles.Rows.Add(s.ToArray()));
            }

            #endregion

            #region Impuestos

            str = Properties.Resources.Campos_Impuestos.Replace("\r", "").Split('\n');

            foreach (DataRow dtrDet in TablaDetalles.Rows)
            {
                if (string.IsNullOrEmpty(dtrDet["invoice_line_tax_ids"].ToString()))
                {
                    continue;
                }

                int intIdTax = Convert.ToInt32(dtrDet["invoice_line_tax_ids"]);

                if (TablaImpuestos.AsEnumerable().ToList().Exists(s => Convert.ToInt32(s["id"]) == intIdTax))
                {
                    continue;
                }

                filter = new object[] {
                    new object[] { "id", "=", intIdTax.ToString() }
                };

                records = ImpuestosModel.Search(filter);

                lista = new List <List <object> >();

                foreach (OdooRecord record in records)
                {
                    List <object> listaInterna = new List <object>();

                    foreach (string strDato in str)
                    {
                        string[] strValores = strDato.Split('|');
                        string   strValor   = strValores[0];

                        object objDato = record.GetValue(strValor);

                        if (objDato is object[])
                        {
                            object[] objValArr = objDato as object[];

                            if (objValArr.Length == 0)
                            {
                                listaInterna.Add(DBNull.Value);
                            }
                            else
                            {
                                int intIndex = Convert.ToInt32(strValores[1]);
                                listaInterna.Add(objValArr[intIndex]);
                            }
                        }
                        else
                        {
                            listaInterna.Add(objDato);
                        }
                    }


                    lista.Add(listaInterna);
                }

                //dtgPrincipal.Columns.Add(new DataGridViewCheckBoxColumn() { HeaderText = "Marca", DataPropertyName = "Marca", Width = 50 });
                lista.ForEach(s => TablaImpuestos.Rows.Add(s.ToArray()));
            }


            //Inicializar Tablas


            /*****************************************/



            #endregion

            Cursor = Cursors.Default;
        }