public Boolean GuardarDB(prd_Ensamblado_CusCider_Info Info, List <prd_Ensamblado_Det_CusCider_Info> Det, ref decimal idEnsamblado, ref string msg) { try { List <prd_Ensamblado_CusCider_Info> Lst = new List <prd_Ensamblado_CusCider_Info>(); prd_Ensamblado_Det_CusCider_Data DetData = new prd_Ensamblado_Det_CusCider_Data(); using (EntitiesProduccion_Cidersus Context = new EntitiesProduccion_Cidersus()) { var Address = new prd_Ensamblado_CusCider(); idEnsamblado = getId(Info.IdEmpresa, Info.IdSucursal); Address.IdEmpresa = Info.IdEmpresa; Address.IdSucursal = Info.IdSucursal; Address.IdEnsamblado = idEnsamblado; Address.IdBodega = Info.IdBodega; Address.IdGrupoTrabajo = Info.IdGrupoTrabajo; Address.IdProducto = Info.IdProducto; Address.CodigoBarra = "A" + DateTime.Now.Year + "M" + DateTime.Now.Month + "D" + DateTime.Now.Day + "E" + Info.IdEmpresa + "N" + idEnsamblado + "O" + Info.CodObra + "T" + Info.IdOrdenTaller + "P" + Info.IdProducto + "G" + Info.IdGrupoTrabajo; Address.CodObra = Info.CodObra; Address.IdOrdenTaller = Info.IdOrdenTaller; Address.IdUsuario = Info.IdUsuario; Address.FechaTransac = Info.FechaTransac; Address.IdDespacho = Info.IdDespacho; Address.Estado = "A"; if (Info.Observacion.Length > 1000) { Address.Observacion = Info.Observacion.Substring(0, 1000); } else { Address.Observacion = Info.Observacion; } Context.prd_Ensamblado_CusCider.Add(Address); Context.SaveChanges(); Det.ForEach(var => { var.IdEnsamblado = Address.IdEnsamblado; var.IdEmpresa = Info.IdEmpresa; var.IdSucursal = Info.IdSucursal; }); return(DetData.GuardarDB(Det, ref msg)); } } catch (Exception ex) { string arreglo = ToString(); tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now); msg = ex.ToString() + " " + ex.Message; oDataLog.Guardar_Log_Error(Log_Error_sis, ref msg); throw new Exception(ex.ToString()); } }
//modificado por pedro salinas, se le cambio el First por el FirstOrDefault y se agrego una pregunta para identificar si el query esta en null public Boolean AnularDB(prd_Ensamblado_CusCider_Info ensamblado, ref string msg) { try { using (EntitiesProduccion_Cidersus context = new EntitiesProduccion_Cidersus()) { var contact = context.prd_Ensamblado_CusCider.FirstOrDefault(obj => obj.IdEnsamblado == ensamblado.IdEnsamblado && obj.IdSucursal == ensamblado.IdSucursal && obj.IdEmpresa == ensamblado.IdEmpresa); if (contact != null) { contact.Estado = "I"; contact.FechaAnu = ensamblado.FechaAnu; contact.IdUsuarioAnu = ensamblado.IdUsuarioAnu; contact.MotivoAnu = ensamblado.MotivoAnu; context.SaveChanges(); prd_Ensamblado_Det_CusCider_Data datadet = new prd_Ensamblado_Det_CusCider_Data(); List <prd_Ensamblado_Det_CusCider_Info> det = new List <prd_Ensamblado_Det_CusCider_Info>(); det = datadet.ConsultaEnsamblado(ensamblado.IdEmpresa, ensamblado.IdSucursal, ensamblado.IdEnsamblado, ref msg); if (datadet.eliminaregistrotabla(det, ref msg)) { det.ForEach(var => { var.en_cantidad = 0; var.Observacion = "**ANULADO***" + var.Observacion; }); if (datadet.GuardarDB(det, ref msg)) { msg = "Se ha procedido a anular el Ensamblado No: " + ensamblado.IdEnsamblado.ToString() + " exitosamente"; } else { return(false); } } else { return(false); } } } return(true); } catch (Exception ex) { string arreglo = ToString(); tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now); msg = ex.ToString() + " " + ex.Message; oDataLog.Guardar_Log_Error(Log_Error_sis, ref msg); throw new Exception(ex.ToString()); } }