void btnCrear_Click(object sender, EventArgs e) { completo = 0; for (int i = 0; i < orden.Rows.Count; i++) { if (0 < Convert.ToInt32(orden.Rows[i]["quantity"])) { miss = i; faltante = orden.Rows[miss]["itemcode"].ToString(); if (MessageBox.Show("Orden incompleta falta " + faltante + " ¿Desea continuar con el registro?", "Scaneo", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { orden.Rows[miss]["quantity"] = 0; } } completo = completo + Convert.ToInt32(orden.Rows[i]["quantity"]); } if (completo == 0) { if (tbOrdencompra.Text == orden.Rows[0]["docentry"].ToString()) { DataTable diapi = new DataTable(); SqlDataAdapter ordenc = new SqlDataAdapter("Select Orden from ContadorDIAPI WHERE Orden = '" + tbOrdencompra.Text + "'", cn); ordenc.Fill(diapi); if (diapi.Rows.Count == 1) { MessageBox.Show("La orden de compra ya esta registrada", "Scaneo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { DataTable contador = new DataTable(); int conta; SqlDataAdapter datos = new SqlDataAdapter("Select * from ContadorDIAPI", cn); datos.Fill(contador); conta = 100 + contador.Rows.Count; CompanyService companyservice = ClaseCompartida.company.GetCompanyService(); GeneralService generalservice = companyservice.GetGeneralService("SCAN"); GeneralDataParams dataparams = null; dataparams = (GeneralDataParams)generalservice.GetDataInterface(GeneralServiceDataInterfaces.gsGeneralDataParams); //Create data for new row in main UDO GeneralData DATA = (GeneralData)generalservice.GetDataInterface(GeneralServiceDataInterfaces.gsGeneralData); GeneralDataCollection children = DATA.Child("SCAN_DET"); // Add DATA.SetProperty("Code", conta.ToString()); DATA.SetProperty("U_ALM", tbOrdencompra.Text); DATA.SetProperty("U_Fecha", DateTime.Now); for (int i = 0; i < final.Rows.Count; i++) { GeneralData child = children.Add(); child.SetProperty("U_CBB", final.Rows[i][0].ToString()); child.SetProperty("U_QTY", final.Rows[i][3].ToString()); child.SetProperty("U_ITEMCODE", final.Rows[i][1].ToString()); } generalservice.Add(DATA); sql.Contador(conta, Convert.ToInt32(tbOrdencompra.Text)); MessageBox.Show("Producto Registrado", "Scaneo", MessageBoxButtons.OK, MessageBoxIcon.Information); dataGridView1.DataSource = null; tbOrdencompra.Text = ""; } } else { MessageBox.Show("Los productos no pertenecen a esta orden", "Scaneo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } //Update //oUDO_Name.SetProperty("Code", sCode); //oUDO_Name.SetProperty("Name", sName); //oUDO_Name.SetProperty("U_Remark", sRemark); //oUDO_Name.SetProperty("U_ActiveYN", sActiveYN); //generalservice.Update(oUDO_Name); ////Delete //dataparams.SetProperty("Code", sCode); //generalservice.Delete(dataparams); }
/// <summary> /// Ingresa un nuevo registro a la tabla @TFESOB y su hija /// @TFESOBDET. /// </summary> /// <param name="comp"></param> /// <param name="maestro"></param> /// <returns></returns> public bool AlmacenarMaestro(SobreReporte sobre) { bool resultado = false; GeneralService servicioGeneral = null; GeneralData dataGeneral = null; GeneralData dataDetalle = null; GeneralDataCollection detalle = null; try { //Obtener el servicio general de la compañia servicioGeneral = ProcConexion.Comp.GetCompanyService().GetGeneralService("TTFESOB"); //Apuntar a la cabecera del udo dataGeneral = servicioGeneral.GetDataInterface(GeneralServiceDataInterfaces.gsGeneralData); //Establecer los valores para cada una de las propiedades del udo dataGeneral.SetProperty("U_VerSobre", sobre.Version); dataGeneral.SetProperty("U_RucRec", sobre.RucReceptor.ToString()); dataGeneral.SetProperty("U_RucEmi", sobre.RucEmisor.ToString()); dataGeneral.SetProperty("U_IdResp", sobre.IdRespuesta.ToString()); dataGeneral.SetProperty("U_NomArc", sobre.NombreArchivo); dataGeneral.SetProperty("U_FeHoEnRe", sobre.FechaHoraRecepcion); dataGeneral.SetProperty("U_IdEmi", sobre.IdEmisor.ToString()); dataGeneral.SetProperty("U_IdRec", sobre.IdReceptor.ToString()); dataGeneral.SetProperty("U_CantComp", sobre.CantidadComprobantes); dataGeneral.SetProperty("U_FeHoFiEl", sobre.FechaHoraFirma); if (sobre.DetalleSobre != null) { detalle = dataGeneral.Child("TFESOBDET"); foreach (DetSobre detalleSobre in sobre.DetalleSobre) { dataDetalle = detalle.Add(); dataDetalle.SetProperty("U_EstRecEnv", detalleSobre.EstadoRecepcion); dataDetalle.SetProperty("U_CodMotRec", detalleSobre.CodigoMotivoRechazo); dataDetalle.SetProperty("U_GloMotRec", detalleSobre.GlosaMotivoRechazo); dataDetalle.SetProperty("U_DetRec", detalleSobre.DetalleRechazo); } } //Agregar el nuevo registro a la base de dato utilizando el servicio general de la compañia servicioGeneral.Add(dataGeneral); resultado = true; } catch (Exception ex) { AdminEventosUI.mostrarMensaje("Error: Al guardar información del Sobre" + ex.ToString(), AdminEventosUI.tipoMensajes.error); } finally { if (dataGeneral != null) { //Liberar memoria utlizada por el objeto dataGeneral System.Runtime.InteropServices.Marshal.ReleaseComObject(dataGeneral); System.GC.Collect(); } if (dataDetalle != null) { //Liberar memoria utlizada por el objeto dataDetalle System.Runtime.InteropServices.Marshal.ReleaseComObject(dataDetalle); System.GC.Collect(); } if (detalle != null) { //Liberar memoria utlizada por el objeto detalle System.Runtime.InteropServices.Marshal.ReleaseComObject(detalle); System.GC.Collect(); } if (servicioGeneral != null) { ////Liberar memoria utlizada por el objeto servicioGeneral System.Runtime.InteropServices.Marshal.ReleaseComObject(servicioGeneral); System.GC.Collect(); } } return(resultado); }
/// <summary> /// Ingresa un nuevo registro a la tabla @TFECEANU y su hija /// @TFECEANUDET. /// </summary> /// <param name="comp"></param> /// <param name="maestro"></param> /// <returns></returns> public bool AlmacenarMaestro(Anulado certRechazado) { bool resultado = false; GeneralService servicioGeneral = null; GeneralData dataGeneral = null; GeneralData dataDetalle = null; GeneralDataCollection detalle = null; try { //Obtener el servicio general de la compañia servicioGeneral = ProcConexion.Comp.GetCompanyService().GetGeneralService("TTFECEANU"); //Apuntar a la cabecera del udo dataGeneral = servicioGeneral.GetDataInterface(GeneralServiceDataInterfaces.gsGeneralData); //Establecer los valores para cada una de las propiedades del udo dataGeneral.SetProperty("U_SerieCert", certRechazado.SerieCertificado); dataGeneral.SetProperty("U_NumDoc", certRechazado.NumeroDocumento); dataGeneral.SetProperty("U_Version", certRechazado.Version); dataGeneral.SetProperty("U_RucEmisor", certRechazado.RucEmisor); dataGeneral.SetProperty("U_RucRecep", certRechazado.RucReceptor); dataGeneral.SetProperty("U_CantComp", certRechazado.CantidadComprobantes); dataGeneral.SetProperty("U_FeHoFir", certRechazado.FechaHoraFirma); detalle = dataGeneral.Child("TFECEANUDET"); foreach (DetAnulado razonRechazo in certRechazado.DetalleRechazo) { dataDetalle = detalle.Add(); dataDetalle.SetProperty("U_TipoCFE", razonRechazo.TipoCFE); dataDetalle.SetProperty("U_SerieComp", razonRechazo.SerieComprobante); dataDetalle.SetProperty("U_NumComp", razonRechazo.NumeroComprobante); dataDetalle.SetProperty("U_FecComp", razonRechazo.FechaComprobante); dataDetalle.SetProperty("U_CodAnu", razonRechazo.CodigoAnulacion); dataDetalle.SetProperty("U_GlosaDoc", razonRechazo.GlosaRechazo); } ////Agregar el nuevo registro a la base de dato utilizando el servicio general de la compañia servicioGeneral.Add(dataGeneral); resultado = true; } catch (Exception) { } finally { if (servicioGeneral != null) { ////Liberar memoria utlizada por el objeto servicioGeneral System.Runtime.InteropServices.Marshal.ReleaseComObject(servicioGeneral); System.GC.Collect(); } if (dataGeneral != null) { ////Liberar memoria utlizada por el objeto dataGeneral System.Runtime.InteropServices.Marshal.ReleaseComObject(dataGeneral); System.GC.Collect(); } if (dataDetalle != null) { ////Liberar memoria utlizada por el objeto dataDetalle System.Runtime.InteropServices.Marshal.ReleaseComObject(dataDetalle); System.GC.Collect(); } if (detalle != null) { ////Liberar memoria utlizada por el objeto detalle System.Runtime.InteropServices.Marshal.ReleaseComObject(detalle); System.GC.Collect(); } } return(resultado); }
/// <summary> /// Ingresa un nuevo registro a la tabla @TFERPTD. /// </summary> /// <param name="comp"></param> /// <param name="fechaReporte"></param> /// <param name="secuenciaEnvio"></param> /// <param name="fechaResumen"></param> /// <returns></returns> public bool Almacenar(MonitorRPTD rptd) { bool resultado = false; GeneralService servicioGeneral = null; GeneralData dataGeneral = null; GeneralData dataDetalle = null; GeneralDataCollection detalle = null; try { //Obtener el servicio general de la compañia servicioGeneral = ProcConexion.Comp.GetCompanyService().GetGeneralService("TTFERPTD"); //Apuntar a la cabecera del udo dataGeneral = servicioGeneral.GetDataInterface(GeneralServiceDataInterfaces.gsGeneralData); //Establecer los valores a las propiedades del udo dataGeneral.SetProperty("U_Version", rptd.Version); dataGeneral.SetProperty("U_RucRec", rptd.RucReceptor); dataGeneral.SetProperty("U_RucEmi", rptd.RucEmisor); dataGeneral.SetProperty("U_NomArc", rptd.NombreArchivo); dataGeneral.SetProperty("U_FecRPTD", rptd.FechaRptd); dataGeneral.SetProperty("U_IdEmi", rptd.IdEmisor); dataGeneral.SetProperty("U_IdRec", rptd.IdReceptor); dataGeneral.SetProperty("U_SecEnvio", rptd.SecuenciaEnvio); dataGeneral.SetProperty("U_FecResum", rptd.FechaResumen); dataGeneral.SetProperty("U_Estado", rptd.Estado); detalle = dataGeneral.Child("TFERPTDDET"); foreach (MonitorRPTDDET detalleRptd in rptd.Detalle) { dataDetalle = detalle.Add(); dataDetalle.SetProperty("U_CodRec", detalleRptd.CodigoRechazo); dataDetalle.SetProperty("U_GloRec", detalleRptd.GlosaRechazo); dataDetalle.SetProperty("U_DetRec", detalleRptd.DetalleRechazo); } //Agregar el nuevo registro a la base de datos mediante el servicio general de la compañia servicioGeneral.Add(dataGeneral); resultado = true; } catch (Exception) { } finally { if (dataGeneral != null) { //Liberar memoria utlizada por el objeto dataGeneral System.Runtime.InteropServices.Marshal.ReleaseComObject(dataGeneral); System.GC.Collect(); } if (servicioGeneral != null) { //Liberar la memoria utilizada por el objeto servicioGeneral System.Runtime.InteropServices.Marshal.ReleaseComObject(servicioGeneral); System.GC.Collect(); } if (detalle != null) { //Liberar la memoria utilizada por el objeto servicioGeneral System.Runtime.InteropServices.Marshal.ReleaseComObject(detalle); System.GC.Collect(); } if (dataDetalle != null) { //Liberar la memoria utilizada por el objeto servicioGeneral System.Runtime.InteropServices.Marshal.ReleaseComObject(dataDetalle); System.GC.Collect(); } } return(resultado); }
/// <summary> /// Ingresa un nuevo registro a la tabla @TFESOBREC y su hija /// @TFESOBRECDET. /// </summary> /// <param name="comp"></param> /// <param name="maestro"></param> /// <returns></returns> public bool AlmacenarMaestro(CertificadoRecibido certificado, string correo, string nombreSobre) { bool resultado = false; GeneralService servicioGeneral = null; GeneralData dataGeneral = null; GeneralData dataDetalle = null; GeneralDataCollection detalle = null; try { //Obtener el servicio general de la compañia servicioGeneral = ProcConexion.Comp.GetCompanyService().GetGeneralService("TTFESOBREC"); //Apuntar a la cabecera del udo dataGeneral = servicioGeneral.GetDataInterface(GeneralServiceDataInterfaces.gsGeneralData); //Establecer los valores para cada una de las propiedades del udo dataGeneral.SetProperty("U_RucEmi", certificado.RucEmisor); dataGeneral.SetProperty("U_RucRec", certificado.RucReceptor); dataGeneral.SetProperty("U_FeSob", certificado.FechaSobre); dataGeneral.SetProperty("U_FeFir", certificado.FechaFirma); dataGeneral.SetProperty("U_TipoCFE", certificado.TipoCFE); dataGeneral.SetProperty("U_NumCom", certificado.NumeroComprobante); dataGeneral.SetProperty("U_SerCom", certificado.SerieComprobante); dataGeneral.SetProperty("U_DNroCAE", certificado.DNroCAE); dataGeneral.SetProperty("U_HNroCAE", certificado.HNroCAE); dataGeneral.SetProperty("U_FVenCAE", certificado.FVenCAE); dataGeneral.SetProperty("U_IdCons", certificado.IdConsecutio); dataGeneral.SetProperty("U_IdEmisor", certificado.IdEmisor); dataGeneral.SetProperty("U_NomSob", nombreSobre); dataGeneral.SetProperty("U_CorEmi", correo); dataGeneral.SetProperty("U_CanCfe", certificado.CantCFE); dataGeneral.SetProperty("U_RazSoc", certificado.RazonSocial); detalle = dataGeneral.Child("TFESOBRECDET"); foreach (DetCertificadoRecibido certificadoDetalle in certificado.DetalleCertificadoRecibido) { dataDetalle = detalle.Add(); dataDetalle.SetProperty("U_NumCom", certificadoDetalle.NumeroComprobante); dataDetalle.SetProperty("U_SerCom", certificadoDetalle.SerieComprobante); dataDetalle.SetProperty("U_TipCFE", certificadoDetalle.TipoCFE); dataDetalle.SetProperty("U_NomItem", certificadoDetalle.NombreItem); string temp = certificadoDetalle.Cantidad.ToString(); temp = temp.Replace(".", ","); dataDetalle.SetProperty("U_Cant", temp);// dataDetalle.SetProperty("U_PreUni", certificadoDetalle.PrecioUnitario); dataDetalle.SetProperty("U_MonIte", certificadoDetalle.MontoItem); dataDetalle.SetProperty("U_TpoMon", certificadoDetalle.TipoMoneda); } ////Agregar el nuevo registro a la base de dato utilizando el servicio general de la compañia servicioGeneral.Add(dataGeneral); resultado = true; } catch (Exception ex) { //SAPbouiCOM.Framework.Application.SBO_Application.MessageBox("ManteUdoCertificadoRecibido/Error: " + ex.ToString()); } finally { if (dataGeneral != null) { //Liberar memoria utlizada por el objeto dataGeneral System.Runtime.InteropServices.Marshal.ReleaseComObject(dataGeneral); System.GC.Collect(); } if (dataDetalle != null) { //Liberar memoria utlizada por el objeto dataDetalle System.Runtime.InteropServices.Marshal.ReleaseComObject(dataDetalle); System.GC.Collect(); } if (detalle != null) { //Liberar memoria utlizada por el objeto detalle System.Runtime.InteropServices.Marshal.ReleaseComObject(detalle); System.GC.Collect(); } if (servicioGeneral != null) { //Liberar memoria utlizada por el objeto servicioGeneral System.Runtime.InteropServices.Marshal.ReleaseComObject(servicioGeneral); System.GC.Collect(); } } return(resultado); }
/// <summary> /// Ingresa un nuevo registro a la tabla @TFECOMP y sus tablas de detalle /// @TFECOMPDET y @TFECOMPDET2. /// </summary> /// <param name="comp"></param> /// <param name="maestro"></param> /// <returns></returns> public bool AlmacenarMaestro(Comprobantes comprobante) { bool resultado = false; GeneralService servicioGeneral = null; GeneralData dataGeneral = null; GeneralData dataDetalle = null; GeneralDataCollection detalle = null; GeneralDataCollection detalle2 = null; try { //Obtener el servicio general de la compañia servicioGeneral = ProcConexion.Comp.GetCompanyService().GetGeneralService("TTFECOMP"); //Apuntar a la cabecera del udo dataGeneral = servicioGeneral.GetDataInterface(GeneralServiceDataInterfaces.gsGeneralData); //Establecer los valores para cada una de las propiedades del udo dataGeneral.SetProperty("U_VerComp", comprobante.Version); dataGeneral.SetProperty("U_RucRec", comprobante.RucReceptor.ToString()); dataGeneral.SetProperty("U_RucEmi", comprobante.RucEmisor.ToString()); dataGeneral.SetProperty("U_IdResp", comprobante.IdRespuesta.ToString()); dataGeneral.SetProperty("U_NomArc", comprobante.NombreArchivo); dataGeneral.SetProperty("U_FeHoEnRe", comprobante.FechaHoraRecepcion); dataGeneral.SetProperty("U_IdEmi", comprobante.IdEmisor.ToString()); dataGeneral.SetProperty("U_IdRec", comprobante.IdReceptor.ToString()); dataGeneral.SetProperty("U_CanComSob", comprobante.CantidadComprobantesSobre.ToString()); dataGeneral.SetProperty("U_CanComRes", comprobante.CantidadComprobantesResponden.ToString()); dataGeneral.SetProperty("U_CanCFEAce", comprobante.CantidadCFEAceptados.ToString()); dataGeneral.SetProperty("U_CanCFERec", comprobante.CantidadCFERechazados.ToString()); dataGeneral.SetProperty("U_CanCFCAce", comprobante.CantidadCFCAceptados.ToString()); dataGeneral.SetProperty("U_CanCFCObs", comprobante.CantidadCFCObservados.ToString()); dataGeneral.SetProperty("U_CanOTRRec", comprobante.CantidadOtrosRechazados.ToString()); dataGeneral.SetProperty("U_FeHoFiEl", comprobante.FechaHoraFirma); detalle2 = dataGeneral.Child("TFECOMPDET2"); //Agregar datos a la tabla de detalle foreach (DetComprobanteGlosa detalleGlosa in comprobante.DetalleGlosa) { dataDetalle = detalle2.Add(); dataDetalle.SetProperty("U_CodMotRec", detalleGlosa.CodigoMotivoRechazo); dataDetalle.SetProperty("U_GloMotRec", detalleGlosa.GlosaMotivo); dataDetalle.SetProperty("U_DetRec", detalleGlosa.DetalleRechazo); } detalle = dataGeneral.Child("TFECOMPDET"); //Agregar datos a la tabla de detalle foreach (DetComprobante detalleComprobante in comprobante.DetalleComprobante) { dataDetalle = detalle.Add(); dataDetalle.SetProperty("U_NroOrd", detalleComprobante.NumeroOrdinal.ToString()); dataDetalle.SetProperty("U_TipoCFE", detalleComprobante.TipoCFE.ToString()); dataDetalle.SetProperty("U_SerComp", detalleComprobante.SerieComprobante); dataDetalle.SetProperty("U_NumComp", detalleComprobante.NumeroComprobante.ToString()); dataDetalle.SetProperty("U_FecComp", detalleComprobante.FechaComprobante); dataDetalle.SetProperty("U_FecFirEle", detalleComprobante.FechaHoraFirma); dataDetalle.SetProperty("U_EstRec", detalleComprobante.EstadoRecepcion); dataDetalle.SetProperty("U_TipoRec", detalleComprobante.TipoReceptor.ToString()); } //Agregar el nuevo registro a la base de dato utilizando el servicio general de la compañia servicioGeneral.Add(dataGeneral); resultado = true; } catch (Exception ex) { // SAPbouiCOM.Framework.Application.SBO_Application.MessageBox("Error almacenar maestro " + ex.ToString()); } finally { if (servicioGeneral != null) { //Liberar memoria utlizada por el objeto servicioGeneral System.Runtime.InteropServices.Marshal.ReleaseComObject(servicioGeneral); System.GC.Collect(); } if (dataGeneral != null) { //Liberar memoria utlizada por el objeto dataGeneral System.Runtime.InteropServices.Marshal.ReleaseComObject(dataGeneral); System.GC.Collect(); } if (dataDetalle != null) { //Liberar memoria utlizada por el objeto dataDetalle System.Runtime.InteropServices.Marshal.ReleaseComObject(dataDetalle); System.GC.Collect(); } if (detalle != null) { //Liberar memoria utlizada por el objeto detalle System.Runtime.InteropServices.Marshal.ReleaseComObject(detalle); System.GC.Collect(); } if (detalle2 != null) { //Liberar memoria utlizada por el objeto detalle2 System.Runtime.InteropServices.Marshal.ReleaseComObject(detalle2); System.GC.Collect(); } } return(resultado); }
/// <summary> /// 가져온 선수금 리스트를 선수금 GeneralDataCollection 에 설정하고 광고수금정산의 선수금 잔액을 갱신합니다. /// </summary> /// <param name="oChildren"></param> private void SetGeneralDataToChildrenForKIS_SD00502_HRD(ref GeneralDataCollection oChildren) { SAPbobsCOM.GeneralData oChild = null; try { //광고수금정산 엔트리번호 string U_TENTRY = string.Empty; //적용된 선수금 금액 string U_APPLAMT = "0"; XDocument root = XDocument.Parse(oForm.DataSources.DataTables.Item("i_dt").SerializeAsXML(BoDataTableXmlSelect.dxs_DataOnly)); var query = from c in root.Descendants("Row") where c.Elements("Cells").Elements("Cell").Any(o => o.Element("ColumnUid").Value == "U_CHK" && o.Element("Value").Value == "Y") select c; foreach (XElement r in query) { oChild = oChildren.Add(); foreach (XElement c in r.Descendants("Cell")) { switch (c.Element("ColumnUid").Value) { case "OBJECT": oChild.SetProperty("U_TTYPE", c.Element("Value").Value); break; case "DOCENTRY": oChild.SetProperty("U_TENTRY", c.Element("Value").Value); U_TENTRY = c.Element("Value").Value; break; case "U_APPLAMT": oChild.SetProperty("U_APPLAMT", c.Element("Value").Value); U_APPLAMT = c.Element("Value").Value; break; default: break; } } //광고수금 정산 문서에 처리된 선수금액 갱신 FN.GetRecordsetValue(string.Format("UPDATE T SET U_APPLAMT = U_APPLAMT + CONVERT(NUMERIC(19,6),'{0}') FROM [dbo].[@KIS_SD00802_HRD]T WHERE DocEntry = {1}", U_APPLAMT, U_TENTRY)); oChild = null; } } catch (Exception) { throw; } finally { oChild = null; } }
public void CreateModelList(object parentCode) { Recordset rstExistsParent = (Recordset)SBOApp.Company.GetBusinessObject(BoObjectTypes.BoRecordset); string sql = "SELECT TOP 1 1 FROM [{0}] WHERE Code = '{1}'"; sql = String.Format(sql, ParentTableName, parentCode); try { rstExistsParent.DoQuery(sql); if (rstExistsParent.RecordCount == 0) { throw new Exception(String.Format("Código {0} do item pai não encontrado", parentCode)); } } finally { Marshal.ReleaseComObject(rstExistsParent); rstExistsParent = null; } CompanyService oCompanyService = SBOApp.Company.GetCompanyService(); GeneralService oGeneralService = oCompanyService.GetGeneralService(ParentTableName.Replace("@", "")); GeneralDataParams oGeneralParams = (GeneralDataParams)oGeneralService.GetDataInterface(SAPbobsCOM.GeneralServiceDataInterfaces.gsGeneralDataParams); oGeneralParams.SetProperty("Code", parentCode); GeneralData oGeneralData = oGeneralService.GetByParams(oGeneralParams); GeneralDataCollection oChildren = oGeneralData.Child(TableName.Replace("@", "")); GeneralData oChild = null; try { foreach (object model in ModelList) { Model = model; oChild = oChildren.Add(); ModelControllerAttribute modelController; object value; // Percorre as propriedades do Model foreach (PropertyInfo property in Model.GetType().GetProperties()) { // Busca os Custom Attributes foreach (Attribute attribute in property.GetCustomAttributes(true)) { modelController = attribute as ModelControllerAttribute; if (property.GetType() != typeof(DateTime)) { value = property.GetValue(Model, null); } else { value = ((DateTime)property.GetValue(Model, null)).ToString("yyyy-MM-dd HH:mm:ss"); } if (modelController != null) { // Se não for DataBaseField não seta nas properties if (!modelController.DataBaseFieldYN) { break; } if (String.IsNullOrEmpty(modelController.ColumnName)) { modelController.ColumnName = property.Name; } if (modelController.ColumnName == "Code" || modelController.ColumnName == "LineId") { continue; } if (value == null) { if (property.PropertyType == typeof(string)) { value = String.Empty; } else if (property.PropertyType != typeof(DateTime) && property.PropertyType != typeof(Nullable <DateTime>)) { value = 0; } else { value = new DateTime(); } } if (property.PropertyType != typeof(decimal) && property.PropertyType != typeof(Nullable <decimal>)) { oChild.SetProperty(modelController.ColumnName, value); } else { oChild.SetProperty(modelController.ColumnName, Convert.ToDouble(value)); } break; } } } } oGeneralService.Update(oGeneralData); } catch (Exception e) { throw e; } finally { Marshal.ReleaseComObject(oGeneralService); Marshal.ReleaseComObject(oGeneralData); Marshal.ReleaseComObject(oCompanyService); oGeneralService = null; oGeneralData = null; oCompanyService = null; if (oChildren != null) { Marshal.ReleaseComObject(oChildren); oChildren = null; } if (oChild != null) { Marshal.ReleaseComObject(oChild); oChild = null; } } }