Пример #1
0
        public bool update(ComprobanteDTO Comprobante)
        {
            using (var context = getContext())
            {
                try
                {
                    var row = context.Comprobante.Where(x => x.IdComprobante == Comprobante.IdComprobante).SingleOrDefault();
                    row.IdTipoComprobante = Comprobante.IdTipoComprobante;
                    row.IdTipoDocumento = Comprobante.IdTipoDocumento;
                    row.IdEntidadResponsable = Comprobante.IdEntidadResponsable;
                    row.IdEntidadResponsable2 = Comprobante.IdEntidadResponsable2;
                    row.IdMoneda = Comprobante.IdMoneda;
                    row.IdEmpresa = Comprobante.IdEmpresa;
                    row.NroDocumento = Comprobante.NroDocumento;
                    row.Monto = Comprobante.Monto;
                    row.IdArea = Comprobante.IdArea;
                    row.IdResponsable = Comprobante.IdResponsable;
                    row.IdCategoria = Comprobante.IdCategoria;
                    //row.IdProyecto = Comprobante.IdProyecto;
                    if (Comprobante.IdTipoComprobante == 1 || Comprobante.IdTipoComprobante == 3)
                    {
                        if (row.Proyecto.FirstOrDefault() != null && row.Proyecto.FirstOrDefault().IdProyecto != Comprobante.IdProyecto)
                        {
                            var zProyecto = row.Proyecto.FirstOrDefault();
                            row.Proyecto.Remove(zProyecto);
                            if (Comprobante.IdProyecto > 0)
                            {
                                var xProyecto = context.Proyecto.Where(x => x.IdProyecto == Comprobante.IdProyecto).FirstOrDefault();
                                row.Proyecto.Add(xProyecto);
                            }
                        }
                        else if (row.Proyecto.FirstOrDefault() == null)
                        {
                            var xProyecto = context.Proyecto.Where(x => x.IdProyecto == Comprobante.IdProyecto).FirstOrDefault();
                            row.Proyecto.Add(xProyecto);
                        }
                    }
                    else if(Comprobante.IdEntidadResponsable2 > 0)
                    {
                        if (row.Proyecto.FirstOrDefault() != null && row.Proyecto.FirstOrDefault().IdProyecto != Comprobante.IdProyecto)
                        {
                            var zProyecto = row.Proyecto.FirstOrDefault();
                            row.Proyecto.Remove(zProyecto);
                            if (Comprobante.IdProyecto > 0)
                            {
                                var xProyecto = context.Proyecto.Where(x => x.IdProyecto == Comprobante.IdProyecto).FirstOrDefault();
                                row.Proyecto.Add(xProyecto);
                            }
                        }
                        else if (row.Proyecto.FirstOrDefault() == null)
                        {
                            var xProyecto = context.Proyecto.Where(x => x.IdProyecto == Comprobante.IdProyecto).FirstOrDefault();
                            row.Proyecto.Add(xProyecto);
                        }
                    }
                        
                    row.FechaEmision = Comprobante.FechaEmision;
                    row.FechaConclusion = Comprobante.FechaConclusion;
                    row.Comentario = Comprobante.Comentario;
                    row.Estado = Comprobante.Estado;
                    row.IdHonorario = Comprobante.IdHonorario;
                    row.MontoSinIGV = Comprobante.MontoSinIGV;
                    row.TipoCambio = Comprobante.TipoCambio;
                    row.UsuarioCreacion = Comprobante.UsuarioCreacion;

                    var allmontos = from m in context.AreaPorComprobante
                                    where m.IdComprobante == row.IdComprobante
                                    select m;

                    foreach (var item in allmontos)
                    {
                        row.AreaPorComprobante.Remove(item);
                    }

                    foreach (var item in Comprobante.lstMontos)
                    {
                        AreaPorComprobante novo = new AreaPorComprobante();
                        novo.IdArea = item.IdArea;
                        novo.IdComprobante = row.IdComprobante;
                        novo.Monto = item.Monto;
                        row.AreaPorComprobante.Add(novo);
                    }

                    context.SaveChanges();
                    return true;
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
Пример #2
0
        public bool add(ComprobanteDTO Comprobante)
        {
            using (var context = getContext())
            {
                try
                {
                    Comprobante nuevo = new Comprobante();
                    nuevo.IdTipoComprobante = Comprobante.IdTipoComprobante;
                    nuevo.IdTipoDocumento = Comprobante.IdTipoDocumento;
                    nuevo.IdEntidadResponsable = Comprobante.IdEntidadResponsable;
                    nuevo.IdEntidadResponsable2 = Comprobante.IdEntidadResponsable2;
                    nuevo.IdMoneda = Comprobante.IdMoneda;
                    nuevo.IdEmpresa = Comprobante.IdEmpresa;
                    nuevo.NroDocumento = Comprobante.NroDocumento;
                    nuevo.Monto = Comprobante.Monto;
                    nuevo.IdArea = Comprobante.IdArea;
                    nuevo.IdResponsable = Comprobante.IdResponsable;
                    nuevo.IdCategoria = Comprobante.IdCategoria;
                    //nuevo.IdProyecto = Comprobante.IdProyecto;
                    if(Comprobante.IdTipoComprobante == 1 || Comprobante.IdTipoComprobante == 3)
                    { 
                        if (Comprobante.IdProyecto > 0)
                        {
                            var pProyecto = context.Proyecto.Where(x => x.IdProyecto == Comprobante.IdProyecto).FirstOrDefault();
                            nuevo.Proyecto.Add(pProyecto);
                        }
                    }
                    else if(Comprobante.IdEntidadResponsable2 > 0)
                    {
                        if (Comprobante.IdProyecto > 0)
                        {
                            var pProyecto = context.Proyecto.Where(x => x.IdProyecto == Comprobante.IdProyecto).FirstOrDefault();
                            nuevo.Proyecto.Add(pProyecto);
                        }
                    }
                    nuevo.FechaEmision = Comprobante.FechaEmision;
                    nuevo.FechaConclusion = Comprobante.FechaConclusion;
                    nuevo.Comentario = Comprobante.Comentario;
                    nuevo.Estado = true;
                    nuevo.Ejecutado = false;
                    nuevo.IdHonorario = Comprobante.IdHonorario;
                    nuevo.MontoSinIGV = Comprobante.MontoSinIGV;
                    nuevo.TipoCambio = Comprobante.TipoCambio;
                    nuevo.UsuarioCreacion = Comprobante.UsuarioCreacion;
                    
                    context.Comprobante.Add(nuevo);

                    foreach (var item in Comprobante.lstMontos)
                    {
                        AreaPorComprobante novo = new AreaPorComprobante();
                        novo.IdArea = item.IdArea;
                        novo.IdComprobante = nuevo.IdComprobante;
                        novo.Monto = item.Monto;
                        nuevo.AreaPorComprobante.Add(novo);
                    }

                    context.SaveChanges();
                    return true;
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }