protected void btn_aceptar_eliminacion_Click(object sender, EventArgs e) { string str_id_categoria = Request.QueryString["cat"]; string str_mes = Request.QueryString["m"]; string str_anio = Request.QueryString["a"]; int id_categoria = Convert.ToInt32(str_id_categoria); int mes = Convert.ToInt32(str_mes); int anio = Convert.ToInt32(str_anio); int id_item = Convert.ToInt32(hidden_id_item_io.Value); int id_detalle = Convert.ToInt32(hidden_id_item_por_eliminar.Value); if (hidden_equipo.Value != "Asociado a la categoria") { int id_valor_item_mes = 0; using (var cxt = new Model1Container()) { Detalle_valor_item_mes detalle = cxt.Detalle_valores_items_mes.First(x => x.id_detalle_valor_item_mes == id_detalle); Valor_mes vm = detalle.Valor_item_mes; id_valor_item_mes = vm.id; Ingreso_egreso_mensual_equipo ioequipo = cxt.Ingresos_egresos_mensuales_equipos.First(x => x.id_ingreso_egreso_mensual == detalle.Valor_item_mes.id_ingreso_egreso_mensual); mes = ioequipo.mes; anio = ioequipo.anio; cxt.Detalle_valores_items_mes.Remove(detalle); cxt.SaveChanges(); decimal valor = vm.Detalle.Sum(x => x.monto); vm.valor = valor; //Accesorios hs extra if (vm.Item.nombre == "Horas Extra Chofer" && vm.Item.Padre.nombre == "Costos Variables") { int id_item_impuesto = cxt.Items_ingresos_egresos.First(x => x.nombre == "Accesorios Hs Extra 24% (1/12x2)" && x.Padre.nombre == "Costos Variables").id_item; Valor_mes vm_impuesto = cxt.Valores_meses.FirstOrDefault(ii => ii.id_ingreso_egreso_mensual == vm.id_ingreso_egreso_mensual && ii.id_item == id_item_impuesto); Detalle_valor_item_mes detalle_impuesto = new Detalle_valor_item_mes(); detalle_impuesto.fecha = new DateTime(ioequipo.anio, ioequipo.mes, 1); detalle_impuesto.descripcion = "Calculado automáticamente"; detalle_impuesto.monto = valor * (Convert.ToDecimal(-5) / Convert.ToDecimal(100)); if (vm_impuesto.Detalle.Count > 1) { vm_impuesto.Detalle.Clear(); cxt.SaveChanges(); } if (vm_impuesto.Detalle.Count == 0) { vm_impuesto.Detalle.Add(detalle_impuesto); cxt.SaveChanges(); } else { vm_impuesto.Detalle.First().monto = detalle_impuesto.monto; cxt.SaveChanges(); } } } } else { int id_valor_item_mes = 0; using (var cxt = new Model1Container()) { Detalle_valor_item_mes_categoria detalle = cxt.Detalle_valor_item_meses_categoria.First(x => x.id_detalle_valor_item_mes_categoria == id_detalle); Valor_mes_categoria vm = detalle.Valor_mes_categoria; id_valor_item_mes = vm.id_valor_mes_categoria_item; Aux_total_categoria_mes iocategoria = cxt.Aux_total_categoria_meses.First(x => x.id_aux_total_categoria_mes == detalle.Valor_mes_categoria.id_aux_total_categoria_mes); mes = iocategoria.mes; anio = iocategoria.anio; cxt.Detalle_valor_item_meses_categoria.Remove(detalle); cxt.SaveChanges(); decimal valor = vm.Detalle.Sum(x => x.monto); vm.valor = valor; //Accesorios hs extra if (vm.Item_ingreso_egreso.nombre == "Horas Extra Chofer" && vm.Item_ingreso_egreso.Padre.nombre == "Costos Variables") { int id_item_impuesto = cxt.Items_ingresos_egresos.First(x => x.nombre == "Accesorios Hs Extra 24% (1/12x2)" && x.Padre.nombre == "Costos Variables").id_item; Valor_mes_categoria vm_impuesto = cxt.Valor_mes_categorias.FirstOrDefault(ii => ii.id_aux_total_categoria_mes == vm.id_aux_total_categoria_mes && ii.id_item == id_item_impuesto); Detalle_valor_item_mes_categoria detalle_impuesto = new Detalle_valor_item_mes_categoria(); detalle_impuesto.fecha = new DateTime(iocategoria.anio, iocategoria.mes, 1); detalle_impuesto.descripcion = "Calculado automáticamente"; detalle_impuesto.monto = valor * (Convert.ToDecimal(-5) / Convert.ToDecimal(100)); if (vm_impuesto.Detalle.Count > 1) { vm_impuesto.Detalle.Clear(); cxt.SaveChanges(); } if (vm_impuesto.Detalle.Count == 0) { vm_impuesto.Detalle.Add(detalle_impuesto); cxt.SaveChanges(); } else { vm_impuesto.Detalle.First().monto = detalle_impuesto.monto; cxt.SaveChanges(); } } } } div_alert.Visible = true; Ver_editar_valores_mes(id_item); }
protected void btn_agregar_detalle_ServerClick(object sender, EventArgs e) { string str_id_categoria = Request.QueryString["cat"]; string str_mes = Request.QueryString["m"]; string str_anio = Request.QueryString["a"]; int id_categoria = Convert.ToInt32(str_id_categoria); int mes = Convert.ToInt32(str_mes); int anio = Convert.ToInt32(str_anio); int id_valor_item_mes = Convert.ToInt32(hidden_id_valor_mes.Value); int id_detalle = Convert.ToInt32(hidden_id_detalle_01.Value); int id_item = Convert.ToInt32(hidden_id_item_01.Value); hidden_id_detalle_01.Value = "0"; Validate(); if (IsValid) { using (var cxt = new Model1Container()) { if (ddl_equipo.SelectedItem.Text != "Asociado a la categoria") { Ingreso_egreso_mensual_equipo ioequipo; Valor_mes vm; int idEquipo = Convert.ToInt32(ddl_equipo.SelectedItem.Value); ioequipo = cxt.Ingresos_egresos_mensuales_equipos.FirstOrDefault(x => x.mes == mes && x.anio == anio && x.id_equipo == idEquipo); if (ioequipo == null) { ioequipo = new Ingreso_egreso_mensual_equipo(); ioequipo.anio = anio; ioequipo.mes = mes; ioequipo.id_equipo = idEquipo; vm = new Valor_mes(); vm.valor = 0; vm.id_item = id_item; ioequipo.Valores_meses.Add(vm); cxt.Ingresos_egresos_mensuales_equipos.Add(ioequipo); } else { vm = ioequipo.Valores_meses.FirstOrDefault(x => x.id_item == id_item); if (vm == null) { vm = new Valor_mes(); vm.valor = 0; vm.id_item = id_item; ioequipo.Valores_meses.Add(vm); } } cxt.SaveChanges(); ioequipo = cxt.Ingresos_egresos_mensuales_equipos.First(x => x.mes == mes && x.anio == anio && x.id_equipo == idEquipo); vm = ioequipo.Valores_meses.First(x => x.id_item == id_item); if (id_detalle > 0) { Detalle_valor_item_mes detalle = cxt.Detalle_valores_items_mes.First(x => x.id_detalle_valor_item_mes == id_detalle); detalle.monto = Convert.ToDecimal(tb_detalle_monto.Text.Replace(".", ",").Replace("$", "")); detalle.descripcion = tb_detalle_descripcion.Text; detalle.fecha = Convert.ToDateTime(tb_detalle_fecha.Value); } else { Detalle_valor_item_mes detalle = new Detalle_valor_item_mes(); detalle.monto = Convert.ToDecimal(tb_detalle_monto.Text.Replace(".", ",")); detalle.descripcion = tb_detalle_descripcion.Text; detalle.fecha = Convert.ToDateTime(tb_detalle_fecha.Value); vm.Detalle.Add(detalle); } decimal valor = vm.Detalle.Sum(x => x.monto); vm.valor = valor; Item_ingreso_egreso item = cxt.Items_ingresos_egresos.First(x => x.id_item == id_item); //Accesorios hs extra if (item.nombre == "Horas Extra Chofer" && item.Padre.nombre == "Costos Variables") { int id_item_impuesto = cxt.Items_ingresos_egresos.First(x => x.nombre == "Accesorios Hs Extra 24% (1/12x2)" && x.Padre.nombre == "Costos Variables").id_item; Valor_mes vm_impuesto = cxt.Valores_meses.FirstOrDefault(ii => ii.id_ingreso_egreso_mensual == vm.id_ingreso_egreso_mensual && ii.id_item == id_item_impuesto); vm_impuesto = new Valor_mes(); vm_impuesto.valor = 0; vm_impuesto.id_item = id_item_impuesto; ioequipo.Valores_meses.Add(vm); Detalle_valor_item_mes detalle_impuesto = new Detalle_valor_item_mes(); detalle_impuesto.fecha = new DateTime(ioequipo.anio, ioequipo.mes, 1); detalle_impuesto.descripcion = "Calculado automáticamente"; detalle_impuesto.monto = valor * (Convert.ToDecimal(-5) / Convert.ToDecimal(100)); if (vm_impuesto.Detalle.Count > 1) { vm_impuesto.Detalle.Clear(); cxt.SaveChanges(); } if (vm_impuesto.Detalle.Count == 0) { vm_impuesto.Detalle.Add(detalle_impuesto); cxt.SaveChanges(); } else { vm_impuesto.Detalle.First().monto = detalle_impuesto.monto; cxt.SaveChanges(); } } cxt.SaveChanges(); } else { Aux_total_categoria_mes iocategoria; Valor_mes_categoria vm; iocategoria = cxt.Aux_total_categoria_meses.FirstOrDefault(x => x.mes == mes && x.anio == anio && x.id_categoria_equipo == id_categoria); if (iocategoria == null) { iocategoria = new Aux_total_categoria_mes(); iocategoria.anio = anio; iocategoria.mes = mes; iocategoria.id_categoria_equipo = id_categoria; vm = new Valor_mes_categoria(); vm.valor = 0; vm.id_item = id_item; iocategoria.Valores_mes.Add(vm); cxt.Aux_total_categoria_meses.Add(iocategoria); } else { vm = iocategoria.Valores_mes.FirstOrDefault(x => x.id_item == id_item); if (vm == null) { vm = new Valor_mes_categoria(); vm.valor = 0; vm.id_item = id_item; iocategoria.Valores_mes.Add(vm); } } cxt.SaveChanges(); iocategoria = cxt.Aux_total_categoria_meses.First(x => x.mes == mes && x.anio == anio && x.id_categoria_equipo == id_categoria); vm = iocategoria.Valores_mes.First(x => x.id_item == id_item); if (id_detalle > 0) { Detalle_valor_item_mes_categoria detalle = cxt.Detalle_valor_item_meses_categoria.First(x => x.id_detalle_valor_item_mes_categoria == id_detalle); detalle.monto = Convert.ToDecimal(tb_detalle_monto.Text.Replace(".", ",").Replace("$", "")); detalle.descripcion = tb_detalle_descripcion.Text; detalle.fecha = Convert.ToDateTime(tb_detalle_fecha.Value); } else { Detalle_valor_item_mes_categoria detalle = new Detalle_valor_item_mes_categoria(); detalle.monto = Convert.ToDecimal(tb_detalle_monto.Text.Replace(".", ",")); detalle.descripcion = tb_detalle_descripcion.Text; detalle.fecha = Convert.ToDateTime(tb_detalle_fecha.Value); vm.Detalle.Add(detalle); } decimal valor = vm.Detalle.Sum(x => x.monto); vm.valor = valor; Item_ingreso_egreso item = cxt.Items_ingresos_egresos.First(x => x.id_item == id_item); //Accesorios hs extra if (item.nombre == "Horas Extra Chofer" && item.Padre.nombre == "Costos Variables") { int id_item_impuesto = cxt.Items_ingresos_egresos.First(x => x.nombre == "Accesorios Hs Extra 24% (1/12x2)" && x.Padre.nombre == "Costos Variables").id_item; Valor_mes_categoria vm_impuesto = cxt.Valor_mes_categorias.FirstOrDefault(ii => ii.id_aux_total_categoria_mes == vm.id_aux_total_categoria_mes && ii.id_item == id_item_impuesto); vm_impuesto = new Valor_mes_categoria(); vm_impuesto.valor = 0; vm_impuesto.id_item = id_item_impuesto; iocategoria.Valores_mes.Add(vm); Detalle_valor_item_mes_categoria detalle_impuesto = new Detalle_valor_item_mes_categoria(); detalle_impuesto.fecha = new DateTime(iocategoria.anio, iocategoria.mes, 1); detalle_impuesto.descripcion = "Calculado automáticamente"; detalle_impuesto.monto = valor * (Convert.ToDecimal(-5) / Convert.ToDecimal(100)); if (vm_impuesto.Detalle.Count > 1) { vm_impuesto.Detalle.Clear(); cxt.SaveChanges(); } if (vm_impuesto.Detalle.Count == 0) { vm_impuesto.Detalle.Add(detalle_impuesto); cxt.SaveChanges(); } else { vm_impuesto.Detalle.First().monto = detalle_impuesto.monto; cxt.SaveChanges(); } } cxt.SaveChanges(); } div_alert.Visible = true; } } lbl_texto_boton_agregar_editar.Text = "Agregar"; Ver_editar_valores_mes(id_item); }