static void CheckBeforePatch(ComprobanteEgreso oldData, ComprobanteEgreso request, DALProxy proxy, int idUsuario, string operacion) { oldData.ValidateAndThrowHttpError(operacion); CEs ces= new CEs(){Nuevo=request, Viejo=oldData}; CEsValidator ev = new CEsValidator(); ev.ValidateAndThrowHttpError(ces,operacion); oldData.CheckSucursal(proxy,idUsuario); oldData.CheckPeriodo(proxy); request.PopulateWith(oldData); }
private static void CheckOldAndNew(ComprobanteEgreso oldData, ComprobanteEgreso request, DALProxy proxy, int idUsuario) { oldData.ValidateAndThrowHttpError(Operaciones.Update); CEs ces= new CEs(){Nuevo=request, Viejo=oldData}; CEsValidator ev = new CEsValidator(); ev.ValidateAndThrowHttpError(ces,Operaciones.Update); oldData.CheckSucursal(proxy, idUsuario); var data = new ComprobanteEgreso(); data.PopulateWith(oldData); if( request.Fecha!=default(DateTime) && request.Fecha!=data.Fecha) { data.Fecha=request.Fecha; data.Periodo= data.Fecha.ObtenerPeriodo(); } data.CheckPeriodo(proxy); //if(request.IdTercero!=default(int) && request.IdTercero!=data.IdTercero) //{ // data.IdTercero=request.IdTercero; // data.CheckTercero(proxy); //} if(request.IdTerceroReceptor!=default(int) && request.IdTerceroReceptor!=data.IdTerceroReceptor ) { data.IdTerceroReceptor=request.IdTerceroReceptor; var tr= data.CheckTerceroReceptor(proxy); data.DocumentoReceptor= tr.Documento; data.NombreDocumentoReceptor= tr.NombreDocumento; data.NombreReceptor=tr.Nombre; data.DVReceptor= tr.DigitoVerificacion; } if(!request.Descripcion.IsNullOrEmpty() && request.Descripcion!=data.Descripcion) data.Descripcion=request.Descripcion; bool checkcg=false; if(request.IdCuentaGiradora!=default(int) && request.IdCuentaGiradora!=data.IdCuentaGiradora) { data.IdCuentaGiradora= request.IdCuentaGiradora; checkcg=true; } if((request.IdTerceroGiradora.HasValue && request.IdTerceroGiradora.Value!=default(int)) && ( !data.IdTerceroGiradora.HasValue || (data.IdTerceroGiradora.HasValue && request.IdTerceroGiradora.Value!=data.IdTerceroGiradora.Value))) { data.IdTerceroGiradora= request.IdTerceroGiradora; checkcg=true; } if(checkcg){ var pi = data.CheckUsuarioGiradora(proxy, idUsuario); data.CodigoItem= pi.Codigo; data.NombreItem = pi.Nombre; } request.PopulateWith(data); }