public rptNewTercero InsertSinIdentificacion(ieEntities ctx, tercerosDto Reg, int idult_ter, int idult_tip_ter, List<string> tipos_tercero) { rptNewTercero rpt = new rptNewTercero(); terceros tercero; idult_ter++; Reg.id = idult_ter; tercero = new terceros(); Mapper.Map(Reg, tercero); foreach (string tipo_tercero in tipos_tercero) { idult_tip_ter++; detalles_tipos_tercero tp_ter = new detalles_tipos_tercero(); tp_ter.id = idult_tip_ter; tp_ter.id_tercero = tercero.id; tp_ter.nombre_tipo = tipo_tercero; tercero.detalles_tipos_tercero.Add(tp_ter); } rpt.tercero = tercero; rpt.ultid_ter = idult_ter; rpt.ultid_tip_ter = idult_tip_ter; return rpt; }
public rptNewTercero InsertOrUpdateXId(ieEntities ctx, tercerosDto Reg, int idult_ter, int idult_tip_ter, List<string> tipos_tercero) { rptNewTercero rpt = new rptNewTercero(); terceros tercero; if (Reg.id == 0) { idult_ter++; Reg.id = idult_ter; tercero = new terceros(); Mapper.Map(Reg, tercero); foreach (string tipo_tercero in tipos_tercero) { idult_tip_ter++; detalles_tipos_tercero tp_ter = new detalles_tipos_tercero(); tp_ter.id = idult_tip_ter; tp_ter.id_tercero = tercero.id; tp_ter.nombre_tipo = tipo_tercero; tercero.detalles_tipos_tercero.Add(tp_ter); } rpt.tercero = tercero; rpt.ultid_ter = idult_ter; rpt.ultid_tip_ter = idult_tip_ter; return rpt; }else{ tercero = ctx.terceros.Where(t => t.id == Reg.id).FirstOrDefault(); Reg.id = tercero.id; Mapper.Map(Reg, tercero); foreach (string tipo_tercero in tipos_tercero) { detalles_tipos_tercero tipo = tercero.detalles_tipos_tercero.Where(t => t.nombre_tipo == tipo_tercero).FirstOrDefault(); if (tipo == null) { idult_tip_ter++; detalles_tipos_tercero tp_ter = new detalles_tipos_tercero(); tp_ter.id = idult_tip_ter; tp_ter.id_tercero = tercero.id; tp_ter.nombre_tipo = tipo_tercero; tercero.detalles_tipos_tercero.Add(tp_ter); } } rpt.tercero = tercero; rpt.ultid_ter = idult_ter; rpt.ultid_tip_ter = idult_tip_ter; return rpt; } }